Summary: | Compiz segfault with latest mesa-git | ||
---|---|---|---|
Product: | Mesa | Reporter: | Eric <3rik.gm> |
Component: | Drivers/DRI/nouveau | Assignee: | Nouveau Project <nouveau> |
Status: | RESOLVED INVALID | QA Contact: | |
Severity: | major | ||
Priority: | medium | ||
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Eric
2013-07-11 06:24:36 UTC
Just tried on my other computer (GTX 680). The same issue happens. I'll bisect. Eric I need a backtrace. 1) Open a terminal window under X. 2) Type "screen", you'll get a new shell not connected to your X session. 3) Type "gdb --args compiz --replace ccp" 4) In gdb, type "start" and if it stops, always type "continue". 5) If X becomes unresponsive (due to the segfault or other reasons), that's where screen comes in. Just go to the virtual terminal (ctrl+alt+f1) and type "screen -RD" to reconnect to your screen shell. You should see your terminal with gdb. 6) If you see a segfault in gdb, type "bt" and send the output to me. Otherwise type "continue" (you may need to switch back to X for things to actually continue). I've bisected on the computer which has a GTX 680. The first bad commit is just the same. Thank you for help, I do this as soon as I can. Best regards, Eric Hi, Hope you'll find what you need. If it's not good, please tell me. The program is not being run. Undefined command: "". Try "help". Temporary breakpoint 1 at 0x40c160 Starting program: /usr/bin/compiz --replace ccp warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". Temporary breakpoint 1, 0x000000000040c160 in main () Continuing. Program received signal SIGSEGV, Segmentation fault. 0x00007ffff283138f in ?? () from /usr/lib/libdrm_nouveau.so.2 #0 0x00007ffff283138f in ?? () from /usr/lib/libdrm_nouveau.so.2 #1 0x00007ffff2831d00 in nouveau_pushbuf_kick () from /usr/lib/libdrm_nouveau.so.2 #2 0x00007ffff32740fd in ?? () from /usr/lib/xorg/modules/dri/nouveau_dri.so #3 0x00007ffff31a68fb in ?? () from /usr/lib/xorg/modules/dri/nouveau_dri.so #4 0x00007ffff31a4f4a in ?? () from /usr/lib/xorg/modules/dri/nouveau_dri.so #5 0x00007ffff31a515a in ?? () from /usr/lib/xorg/modules/dri/nouveau_dri.so #6 0x000000000040df75 in enableTexture () #7 0x000000000042761e in drawWindowTexture () #8 0x0000000000427d0f in drawWindow () #9 0x0000000000427e08 in paintWindow () #10 0x000000000042564b in ?? () #11 0x0000000000426576 in paintOutput () #12 0x000000000040f16a in paintScreen () #13 0x000000000040f79a in eventLoop () #14 0x000000000040c770 in main () A debugging session is active. Inferior 1 [process 10197] will be killed. Quit anyway? (y or n) % Thanks. The backtrace suggests it's a bug in the nouveau driver and my commit only uncovered it. Reassigning to Nouveau. Eric: Could you install the debugging symbols (or, if you compiled it yourself, recompile with "-g" in your CFLAGS) for nouveau_dri and libdrm_nouveau please and reproduce your crash, regenerating this backtrace? I think it would be useful to see which function is trying to push the pushbuffer and what variable is causing the segfault. My guess is that this is fixed in latest mesa-git. Can you test this out again? Unfortunately you did not provide an annotated stack trace as requested, but the commit you bisected to caused all sorts of problem for nouveau. It was changed by http://cgit.freedesktop.org/mesa/mesa/commit/?id=b217d48364f368f541e53006af5dd56f664be24d in such a way that it appears to work much better for nouveau. No response to re-test request in over 10 months. Closing. |
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.