Bug 56542

Summary: [bisected] Piglit gl_select tests crash on exit
Product: Mesa Reporter: Pavel Ondračka <pavel.ondracka>
Component: OtherAssignee: mesa-dev
Status: RESOLVED NOTOURBUG QA Contact:
Severity: normal    
Priority: medium CC: jfonseca
Version: gitKeywords: regression
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: backtrace

Description Pavel Ondračka 2012-10-29 20:28:16 UTC
Created attachment 69252 [details]
backtrace

Reproducible with llvmpipe or r300g here.

/piglit/bin/select alpha
PIGLIT: {'result': 'pass' }
pure virtual method called
terminate called without an active exception
Neúspěšně ukončen (SIGABRT)

Full backtrace attached.
This works fine in 8.0.5 so I did a regression test, but there were some build failures:

There are only 'skip'ped commits left to test. The first bad commit could be any of: 23f1e551cc6553ce7f99b9264efc8776f5f35b00 1f2c87cc8f50d0a0ec3c9be1ddf6cf035002e5c7 
f42e601ce0263808ba36c88763196856ecdb79c1 
2023bf996ed5c3797233b8d70670c28e15bdff75 
3469715a8a171512cf9b528702e70393f01c6041 
bf484024b944a452e9022a1098313663e0028b29 
We cannot bisect more!

However almost all of them are build fixes, or some gbm stuff which leaves:
commit 3469715a8a171512cf9b528702e70393f01c6041
Author: José Fonseca <jfonseca@vmware.com>
Date:   Fri Jul 13 18:09:30 2012 +0100

    gallivm,draw,llvmpipe: Support wider native registers.

as the most likely candidate.

LLVM version: 3.0-14.fc17
Mesa: e8f2bec25ea9bbaedac7abfa7eabb62e1aaf3163

This is with an old intel prescott cpu, 32 bit Fedora 17:
from /proc/cpuinfo
vendor_id	: GenuineIntel
cpu family	: 6
model		: 14
model name	: Genuine Intel(R) CPU T2300  @ 1.66GHz

printed with GALLIUM_DUMP_CPU=1
util_cpu_caps.nr_cpus = 2
util_cpu_caps.x86_cpu_type = 6
util_cpu_caps.cacheline = 64
util_cpu_caps.has_tsc = 1
util_cpu_caps.has_mmx = 1
util_cpu_caps.has_mmx2 = 1
util_cpu_caps.has_sse = 1
util_cpu_caps.has_sse2 = 1
util_cpu_caps.has_sse3 = 1
util_cpu_caps.has_ssse3 = 0
util_cpu_caps.has_sse4_1 = 0
util_cpu_caps.has_sse4_2 = 0
util_cpu_caps.has_avx = 0
util_cpu_caps.has_3dnow = 0
util_cpu_caps.has_3dnow_ext = 0
util_cpu_caps.has_altivec = 0

It seems this is highly cpu dependent, as this test doesn't crash on my other machine (core2) with 64bit fedora ( there is just hang forever in __lll_lock_wait() from libpthread.so.0 on exit )
Comment 1 Jerome Glisse 2013-04-05 18:52:13 UTC
It's a freeglut bug, they should not close X connection in an atexit handler. This is really bad.
Comment 2 Pavel Ondračka 2013-04-06 16:10:02 UTC
(In reply to comment #1)
> It's a freeglut bug, they should not close X connection in an atexit
> handler. This is really bad.

So it is a known bug, or should I report this with freeglut?
Comment 3 Jerome Glisse 2013-04-08 17:52:21 UTC
Dunno if it's a freeglut know bug. They could argue it's not a bug, but really using atexit to do Xorg cleanup is bad.

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.