Bug 36386

Summary: Amnesia game crashes on RV570 (r300g)
Product: Mesa Reporter: vand2
Component: Drivers/Gallium/r300Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: medium    
Version: 7.10   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description vand2 2011-04-19 02:39:30 UTC
The game Amnesia crashes after a startup screen with a silvery sun symbol displayed.

glxinfo | grep string
server glx vendor string: SGI
server glx version string: 1.2
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
OpenGL vendor string: X.Org R300 Project
OpenGL renderer string: Gallium 0.4 on ATI RV570
OpenGL version string: 2.1 Mesa 7.10.2
OpenGL shading language version string: 1.20


gdb backtrace

Program received signal SIGSEGV, Segmentation fault.
0x000000000082ab08 in hpl::iParticleEmitter::GetMaterial() ()
#0  0x000000000082ab08 in hpl::iParticleEmitter::GetMaterial() ()
#1  0x0000000000805de2 in hpl::iRenderer::RenderObjectZAndAddToRenderList(hpl::iRenderable*) ()
#2  0x0000000000805e59 in hpl::iRenderer::RenderObjectZAndAddToRenderListStaticCallback(hpl::iRenderer*, hpl::iRenderable*) ()
#3  0x0000000000807d8f in hpl::iRenderer::RenderAndAddNodeObjects(hpl::iRenderableContainerNode*, bool (*)(hpl::iRenderer*, hpl::iRenderable*), unsigned int) ()
#4  0x000000000080808a in hpl::iRenderer::CheckForVisibleObjectsAddToListAndRenderZ(hpl::cVisibleRCNodeTracker*, unsigned int, unsigned int, bool, bool (*)(hpl::iRenderer*, hpl::iRenderable*)) ()
#5  0x00000000007e4841 in hpl::cRendererDeferred::RenderObjects() ()
#6  0x0000000000809334 in hpl::iRenderer::Render(float, hpl::cFrustum*, hpl::cWorld*, hpl::cRenderSettings*, hpl::cRenderTarget*, bool, std::list<hpl::iRendererCallback*, std::allocator<hpl::iRendererCallback*> >*) ()
#7  0x000000000082496d in hpl::cScene::Render(float, unsigned int) ()
#8  0x0000000000925423 in hpl::cEngine::Run() ()
#9  0x0000000000689890 in hplMain(std::string const&) ()
#10 0x000000000090ff29 in main ()
Comment 1 Marek Olšák 2011-05-06 09:28:16 UTC
The backtrace suggests the crash happens in the game, not in the driver. Why do you think it's a driver issue?
Comment 2 vand2 2011-05-06 09:48:42 UTC
(In reply to comment #1)
> The backtrace suggests the crash happens in the game, not in the driver. Why do
> you think it's a driver issue?

I don't know if it is a driver issue.
At first I asked in Mesa-users list if anyone managed to 
run Amnesia with Mesa driver at all. 
When no response came Tom Fogal suggested to issue a bug report.
Comment 3 Sven Arvidsson 2011-05-12 13:38:06 UTC
Amnesia is working fine on my RV570, both with 7.10.2 and with git master.

Keep in mind that the game is multithreaded, so you might need to do "thread apply all bt full" to get a meaningful backtrace.
Comment 4 Tom Stellard 2011-10-28 17:59:46 UTC
This game has been reported as working, and it's not really clear if this was even a driver bug in the first place, so I'm closing this bug.  Please re-open it if you are still having problems.
Comment 5 vand2 2011-10-29 02:53:20 UTC
> This game has been reported as working, and it's not really clear if this was
> even a driver bug in the first place, so I'm closing this bug.  Please re-open
> it if you are still having problems.

Sorry, I've forgot about this report.
Actually I've nailed down the problem to the s3tc texture compression.

With a Mesa version compiled following the hints this article
http://dri.freedesktop.org/wiki/S3TC 
the game runs fine on my r300 and r600.
But without manually installing libtxc_dxtn and enabling USE_EXTERNAL_DXTN_LIB=1 in Mesa the games crashes as described above.

I guess the game is to blame for not doing enough extension checks.

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.