Bug 99246 - [d3dadapter+radeonsi & bisect] EVE-Online : hang on wormhole sight
Summary: [d3dadapter+radeonsi & bisect] EVE-Online : hang on wormhole sight
Alias: None
Product: Mesa
Classification: Unclassified
Component: Other (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
Depends on:
Reported: 2017-01-02 09:32 UTC by Mathieu Belanger
Modified: 2017-04-17 14:21 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Description Mathieu Belanger 2017-01-02 09:32:46 UTC
Latest Mesa update from git, since then, EVE-Online (wine+nine) hang on sight of a wormhole and a kill is required to exit it.

I bisected and it's that commit : 7089d88199d607d8a135a9605f14ec6393134205

Author: Axel Davy <axel.davy@ens.fr>
Date:   Sun Dec 4 01:10:34 2016 +0100

    st/nine: Bind destination for surface/volume uploads

    Will enable to use the bind count as an information for
    whether the surface/volume is used in the worker thread.

    Signed-off-by: Axel Davy <axel.davy@ens.fr>
Comment 1 Axel Davy 2017-01-02 11:02:54 UTC
This commit is unlikely to be the cause of the hang. There is likely an issue in the bisect.

If you use amdgpu, know that a hang source was identified, and is fixed by:

This fix should soon land in mesa master.
Comment 2 Mathieu Belanger 2017-01-02 14:28:50 UTC
I'm using a Radeon 7970 with "radeon" as amdgpu miss the proper vdpau decoding bits to be usable for me.

And I don't know why, but I just compiled latest mesa with this commit reverted and the hang bug is gone. If I don't revert this commit, it hang at 100% of the time.

Note : The hang append before the wormhole texture show and it is a volume texture.
Comment 3 Axel Davy 2017-01-02 17:18:28 UTC
Could you produce a log with NINE_DEBUG=all (as env var) ?
To produce output, it needs mesa to be built with --enable-debug.

if that prevents the hang, you could use instead

Also it is possible to deduce where in the code the application is hanged with debug tools.
For example you can attach operf for a few seconds when the application is hanged, and do opreport -l | grep d3dadapter
Comment 4 Mathieu Belanger 2017-02-07 04:43:57 UTC
Will do more debugging, was out of time.

Just to let you know, I have updated to latest git and upgraded to a RX480, bug still present.
Comment 5 Mathieu Belanger 2017-02-07 06:21:23 UTC
Look like compiling the latest Wine version fixed that. Closing.
Comment 6 Mathieu Belanger 2017-02-20 13:06:20 UTC
Bug still occur, 

EVE-Online must be launched with a launcher and they somehow disable all log output to console... Looking for a way to get theses...
Comment 7 Berg 2017-03-07 09:53:21 UTC
Arch Linux mesa-git from AUR aur/mesa-git 17.1.0_devel.89559.f3dc318464-2
 (and tested from unofficial user repo) , wine-staging-nine from official arch repo.
Eve online freezes if i'am try to jump into the gate of any system.
Comment 8 Berg 2017-03-15 15:15:22 UTC
Revert commit 7089d88199d607d8a135a9605f14ec6393134205 is fixed this problem
Comment 9 Axel Davy 2017-03-15 18:59:03 UTC
Instead does changing in nine_csmt_helper.h

line 236
    p_atomic_dec(args->counter); \
    return 0; \


    p_atomic_dec(args->counter); \
    return 0; \

Fix the issue ?
Comment 10 Mathieu Belanger 2017-03-15 21:01:25 UTC
@Axel Davy

Yes! Thanks!
Comment 11 Emil Velikov 2017-04-17 14:21:23 UTC
Afaict the issue should be resolved with the commit below. Feel free to reopen if that's not the case.

commit bd85bb51c717a1858157c73adcb689e3986b2134
Author: Axel Davy <axel.davy@ens.fr>
Date:   Wed Mar 15 22:45:03 2017 +0100

    st/nine: Resolve deadlock in surface/volume dtors when using csmt

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.