Bug 99246 - [d3dadapter+radeonsi & bisect] EVE-Online : hang on wormhole sight
Summary: [d3dadapter+radeonsi & bisect] EVE-Online : hang on wormhole sight
Status: RESOLVED FIXED
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
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
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:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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:
https://cgit.freedesktop.org/~mareko/mesa/commit/?h=master&id=960e85cf4155f3f75256e60baced503bfceb244b

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
NINE_DEBUG=surf,tex,3dsurf,3dtex,basetex

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
    ARGS_FOR_UNBIND( __VA_ARGS__ ) \
    p_atomic_dec(args->counter); \
    return 0; \

by

    p_atomic_dec(args->counter); \
    ARGS_FOR_UNBIND( __VA_ARGS__ ) \
    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.