Bug 66809 - Compiz segfault with latest mesa-git
Summary: Compiz segfault with latest mesa-git
Status: RESOLVED INVALID
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/nouveau (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Nouveau Project
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-11 06:24 UTC by Eric
Modified: 2014-08-21 21:21 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Eric 2013-07-11 06:24:36 UTC
Hello,

I've tried builded meda-git. The onyl isuue (but it's critical for me) is that when I run compiz (compiz --replace ccp) in a terminal is says segfault.

I've been said to bisect, here is the first bad commit :

b77316ad7594fa5873717992b6986cb4c0179d23 is the first bad commit
commit b77316ad7594fa5873717992b6986cb4c0179d23
Author: Marek Olšák <maraeo@gmail.com>
Date:   Fri May 31 21:52:01 2013 +0200

    st/dri: always copy new DRI front and back buffers to corresponding MSAA buffers
   
    This commit fixes these piglit tests with an MSAA visual forced on:
    - read-front
    - glx-copy-sub-buffer
   
    Reviewed-by: Brian Paul <brianp@vmware.com>

:040000 040000 255a3b196793833f259b62909b44add6298f7561 1bfc980cdb2ab72c6d5fa7ad57e217f6198b324a M    src

Hardware is a laptop (Dell XPS L702X 3D) with GT555M video card.

I hope you'll find a fix !

Regards,

Eric
Comment 1 Eric 2013-07-11 07:14:30 UTC
Just tried on my other computer (GTX 680).

The same issue happens.

I'll bisect.

Eric
Comment 2 Marek Olšák 2013-07-11 11:54:51 UTC
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).
Comment 3 Eric 2013-07-11 11:57:41 UTC
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
Comment 4 Eric 2013-07-11 15:37:39 UTC
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) %
Comment 5 Marek Olšák 2013-07-13 01:14:08 UTC
Thanks. The backtrace suggests it's a bug in the nouveau driver and my commit only uncovered it.

Reassigning to Nouveau.
Comment 6 Roy 2013-07-13 10:26:39 UTC
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.
Comment 7 Ilia Mirkin 2013-10-01 23:13:38 UTC
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.
Comment 8 Ilia Mirkin 2014-08-21 21:21:41 UTC
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.