GNOME Bugzilla – Bug 733623
gnome-shell/cogl crash when clicking on "Activities"
Last modified: 2014-08-02 11:06:14 UTC
1. Install Fedora 20 on a Fujitsu Siemens FSC Lifebook C1110 2. Update to latest packages (e.g. gnome-shell 3.10.4-5). 3. Click on "Activities" in gnome-shell. 4. Crash. GNU gdb (GDB) Fedora 7.7.1-17.fc20 Copyright (C) 2014 Free Software Foundation, Inc. Program received signal SIGSEGV, Segmentation fault. 0x00000001 in ?? () (gdb) thread apply all bt
+ Trace 233871
Thread 1 (Thread 0xb6d588c0 (LWP 1755))
(gdb) list 372 list_modes, 373 N_("List possible modes"), 374 NULL 375 }, 376 { NULL } 377 }; 378 379 int 380 main (int argc, char **argv) 381 { (gdb) info register eax 0x1 1 ecx 0x95a5b08 156916488 edx 0x4d84a8f0 1300539632 ebx 0x4d84d000 1300549632 esp 0xbf8d974c 0xbf8d974c ebp 0xbf8d97f8 0xbf8d97f8 esi 0x1 1 edi 0x9592480 156836992 eip 0x1 0x1 eflags 0x10202 [ IF RF ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x33 51 (gdb) quit A debugging session is active. Inferior 1 [process 1755] will be detached. Quit anyway? (y or n) Detaching from program: /usr/bin/gnome-shell, process 1755
https://bugzilla.redhat.com/show_bug.cgi?id=1046970 looks very very similar.
Can you try if running: COGL_DEBUG=disable-arbfp gnome-shell --replace or COGL_DEBUG=disable-arbfp:disable-glsl gnome-shell --replace work?
1. export DISPLAY=:0 2. COGL_DEBUG=disable-arbfp:disable-glsl gnome-shell --replace After doing that and a message that gnome-shell was (re)started, I get: (gnome-shell:2229): Clutter-WARNING **: Unable to use ShaderEffect: the graphics hardware or the current GL driver does not implement support for the GLSL shading language. And I can still reproduce the crash with the given steps. "lspci | grep VGA" says: 00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
(In reply to comment #3) > 1. export DISPLAY=:0 > 2. COGL_DEBUG=disable-arbfp:disable-glsl gnome-shell --replace > > After doing that and a message that gnome-shell was (re)started, I get: > > (gnome-shell:2229): Clutter-WARNING **: Unable to use ShaderEffect: the > graphics hardware or the current GL driver does not implement support for the > GLSL shading language. That does not have anything to do with the crash. > And I can still reproduce the crash with the given steps. > > "lspci | grep VGA" says: > 00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated > Graphics Device (rev 02) Ugh ... You wrote that it worked before the upgrade ? This looks like a mesa bug .. can you try running gnome-shell with LIBGL_ALWAYS_SOFTWARE=1 (will be slower but check if you can reproduce the crash that way). If it does can you try to downgrade mesa?
OK actually I can reproduce this with COGL_DEBUG=disable-arbfp:disable-glsl seems like the fixed backend is broken.
OK this is our bug we use GLSL unconditonally.
Created attachment 281582 [details] [review] lightbox: Do not assume GLSL is available Some hardware does not support it causing crashes in cogl during paint.
Created attachment 281583 [details] [review] background: Do not assume GLSL is available Some hardware does not support it causing crashes in cogl during paint.
Created attachment 281584 [details] [review] st-scroll-view-fade: Refuse to work without GLSL Disable the effect when GLSL is not available otherwise we will crash later.
Review of attachment 281582 [details] [review]: OK.
Review of attachment 281583 [details] [review]: Without this, the background will be at full brightness. We should have a fallback path that tints the background a solid color.
Review of attachment 281584 [details] [review]: OK.
Actually, it was a deliberate decision in the past to require OpenGL 2.1 and GLSL always. Old cards (i915 and i810) should use llvmpipe.
(In reply to comment #13) > Actually, it was a deliberate decision in the past to require OpenGL 2.1 and > GLSL always. > Old cards (i915 and i810) should use llvmpipe. When was this decision made?
(In reply to comment #13) > Actually, it was a deliberate decision in the past to require OpenGL 2.1 and > GLSL always. > Old cards (i915 and i810) should use llvmpipe. Well those old cards are still faster then using llvmpipe on the CPUs that got shipped at their time. Supporting them does not cost us much if it does we could reconsider.
(In reply to comment #11) > Review of attachment 281583 [details] [review]: > > Without this, the background will be at full brightness. We should have a > fallback path that tints the background a solid color. Sure but "bright background" is still better then crashing.
We can still have a simple fixed function pipeline pass that dims the texture by blending it with a solid color, though.
(In reply to comment #14) > (In reply to comment #13) > > Actually, it was a deliberate decision in the past to require OpenGL 2.1 and > > GLSL always. > > Old cards (i915 and i810) should use llvmpipe. > > When was this decision made? I don't remember tbh, but it's something I've considered true at least in recent times.
Created attachment 281600 [details] [review] background: Do not assume GLSL is available Some hardware does not support it causing crashes in cogl during paint. --- Added non GLSL fallback.
Created attachment 281601 [details] [review] st-scroll-view-fade: Refuse to work without GLSL Disable the effect when GLSL is not available otherwise we will crash later. -- Stop spamming the log.
(In reply to comment #18) > (In reply to comment #14) > > (In reply to comment #13) > > > Actually, it was a deliberate decision in the past to require OpenGL 2.1 and > > > GLSL always. > > > Old cards (i915 and i810) should use llvmpipe. > > > > When was this decision made? > > I don't remember tbh, but it's something I've considered true at least in > recent times. Well saying "if you have no GLSL you have less effects" (like happens for the scroll view fade) is different from saying "you have no GLSL go use llvmpipe" the latter is a bit harsh.
Review of attachment 281600 [details] [review]: Yeah, this is what I expected.
Review of attachment 281601 [details] [review]: Fine.
Attachment 281582 [details] pushed as 9a05aea - lightbox: Do not assume GLSL is available Attachment 281601 [details] pushed as ce5cd3b - st-scroll-view-fade: Refuse to work without GLSL
Attachment 281600 [details] pushed as 37652ca - background: Do not assume GLSL is available
Thanks for the fix, that was quick! (In reply to comment #4) > Ugh ... You wrote that it worked before the upgrade ? No, at least not in 3.10. gnome-shell 3.6 worked fine on this machine.
Hmm, backporting to 3.10 so somebody could pick it up for a Fedora20 package probably isn't on the list, right? :)
(In reply to comment #27) > Hmm, backporting to 3.10 so somebody could pick it up for a Fedora20 package > probably isn't on the list, right? :) Wrong ;) https://git.gnome.org/browse/mutter/commit/?h=gnome-3-10&id=72ec20e48f085af729c5b0afdd78d259694a052a https://git.gnome.org/browse/gnome-shell/commit/?h=gnome-3-10&id=2ed619f5de2d10ccb1dbf9ea81da5807467dccf0 https://bugzilla.redhat.com/show_bug.cgi?id=1046970#c24
Heh. Again, thanks so much guys! Let me buy you a beer at Guadec if you're around.
(In reply to comment #28) > (In reply to comment #27) > > Hmm, backporting to 3.10 so somebody could pick it up for a Fedora20 package > > probably isn't on the list, right? :) > > Wrong ;) > > https://git.gnome.org/browse/mutter/commit/?h=gnome-3-10&id=72ec20e48f085af729c5b0afdd78d259694a052a > > https://git.gnome.org/browse/gnome-shell/commit/?h=gnome-3-10&id=2ed619f5de2d10ccb1dbf9ea81da5807467dccf0 > > https://bugzilla.redhat.com/show_bug.cgi?id=1046970#c24 You can test those scratch builds: http://koji.fedoraproject.org/koji/taskinfo?taskID=7192015 (gnome-shell) http://koji.fedoraproject.org/koji/taskinfo?taskID=7192019 (mutter) once they complete. I am waiting for the pulseaudio update to get pushed to build proper packages.
(In reply to comment #30) > You can test those scratch builds: Downloaded them and installed the two packages via 'rpm -Uhv' but after restart, I get "Oh no! Something has gone wrong." Stacktrace blames Pulseaudio (as expected) so I reverted and will wait for the standard update procedure. Still and again, thanks for your efforts!
(In reply to comment #31) > (In reply to comment #30) > > You can test those scratch builds: > > Downloaded them and installed the two packages via 'rpm -Uhv' but after > restart, I get "Oh no! Something has gone wrong." Stacktrace blames Pulseaudio > (as expected) so I reverted and will wait for the standard update procedure. > Still and again, thanks for your efforts! Oh sorry forgot that the updated pulseaudio is already in the build root (which reverts an accidental abi break) ... so yeah you have to wait a few days.
(In reply to comment #31) > (In reply to comment #30) > > You can test those scratch builds: > > Downloaded them and installed the two packages via 'rpm -Uhv' but after > restart, I get "Oh no! Something has gone wrong." Stacktrace blames Pulseaudio > (as expected) so I reverted and will wait for the standard update procedure. > Still and again, thanks for your efforts! https://admin.fedoraproject.org/updates/FEDORA-2014-8922/gnome-shell-3.10.4-8.fc20,mutter-3.10.4-3.fc20