Bug 1008916 - [abrt] gnome-shell-3.9.92-1.fc21: do_winsys_init: Process /usr/bin/gnome-shell was killed by signal 11 (SIGSEGV)
Summary: [abrt] gnome-shell-3.9.92-1.fc21: do_winsys_init: Process /usr/bin/gnome-shel...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-shell
Version: 22
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Owen Taylor
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: abrt_hash:0058a81c5fa7c812117b99baa72...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-09-17 10:37 UTC by Nicolas Mailhot
Modified: 2019-08-08 16:54 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2016-07-19 10:23:48 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: backtrace (249.11 KB, text/plain)
2013-09-17 10:37 UTC, Nicolas Mailhot
no flags Details
File: cgroup (141 bytes, text/plain)
2013-09-17 10:37 UTC, Nicolas Mailhot
no flags Details
File: core_backtrace (5.68 KB, text/plain)
2013-09-17 10:37 UTC, Nicolas Mailhot
no flags Details
File: dso_list (15.16 KB, text/plain)
2013-09-17 10:37 UTC, Nicolas Mailhot
no flags Details
File: environ (1.00 KB, text/plain)
2013-09-17 10:37 UTC, Nicolas Mailhot
no flags Details
File: exploitable (82 bytes, text/plain)
2013-09-17 10:37 UTC, Nicolas Mailhot
no flags Details
File: limits (1.29 KB, text/plain)
2013-09-17 10:37 UTC, Nicolas Mailhot
no flags Details
File: maps (72.35 KB, text/plain)
2013-09-17 10:37 UTC, Nicolas Mailhot
no flags Details
File: open_fds (297 bytes, text/plain)
2013-09-17 10:38 UTC, Nicolas Mailhot
no flags Details
File: proc_pid_status (1.03 KB, text/plain)
2013-09-17 10:38 UTC, Nicolas Mailhot
no flags Details
File: var_log_messages (21.14 KB, text/plain)
2013-09-17 10:38 UTC, Nicolas Mailhot
no flags Details
core_backtrace (8.31 KB, text/plain)
2013-12-06 07:35 UTC, Chris Murphy
no flags Details
coredump.bz2 (1.43 MB, application/bzip2)
2013-12-06 07:38 UTC, Chris Murphy
no flags Details
dmesg (100.67 KB, text/plain)
2013-12-06 07:39 UTC, Chris Murphy
no flags Details

Description Nicolas Mailhot 2013-09-17 10:37:24 UTC
Version-Release number of selected component:
gnome-shell-3.9.92-1.fc21

Additional info:
reporter:       libreport-2.1.7
backtrace_rating: 4
cmdline:        gnome-shell --mode=gdm
crash_function: do_winsys_init
executable:     /usr/bin/gnome-shell
kernel:         3.12.0-0.rc0.git26.1.fc21.x86_64
runlevel:       N 5
type:           CCpp
uid:            42

Truncated backtrace:
Thread no. 1 (10 frames)
 #0 do_winsys_init at radeon_drm_winsys.c:212
 #1 radeon_drm_winsys_create at radeon_drm_winsys.c:617
 #2 create_screen at target.c:11
 #3 dri2_init_screen at dri2.c:888
 #4 driCreateNewScreen at ../../../../src/mesa/drivers/dri/common/drisw_util.c:70
 #5 driswCreateScreen at drisw_glx.c:686
 #6 AllocAndFetchScreenConfigs at glxext.c:778
 #7 __glXInitialize at glxext.c:879
 #8 glXQueryVersion at glxcmds.c:487
 #9 _cogl_winsys_renderer_connect at winsys/cogl-winsys-glx.c:770

Potential duplicate: bug 968436

Comment 1 Nicolas Mailhot 2013-09-17 10:37:31 UTC
Created attachment 798732 [details]
File: backtrace

Comment 2 Nicolas Mailhot 2013-09-17 10:37:34 UTC
Created attachment 798733 [details]
File: cgroup

Comment 3 Nicolas Mailhot 2013-09-17 10:37:38 UTC
Created attachment 798734 [details]
File: core_backtrace

Comment 4 Nicolas Mailhot 2013-09-17 10:37:45 UTC
Created attachment 798735 [details]
File: dso_list

Comment 5 Nicolas Mailhot 2013-09-17 10:37:48 UTC
Created attachment 798736 [details]
File: environ

Comment 6 Nicolas Mailhot 2013-09-17 10:37:51 UTC
Created attachment 798737 [details]
File: exploitable

Comment 7 Nicolas Mailhot 2013-09-17 10:37:54 UTC
Created attachment 798738 [details]
File: limits

Comment 8 Nicolas Mailhot 2013-09-17 10:37:58 UTC
Created attachment 798739 [details]
File: maps

Comment 9 Nicolas Mailhot 2013-09-17 10:38:01 UTC
Created attachment 798740 [details]
File: open_fds

Comment 10 Nicolas Mailhot 2013-09-17 10:38:05 UTC
Created attachment 798741 [details]
File: proc_pid_status

Comment 11 Nicolas Mailhot 2013-09-17 10:38:09 UTC
Created attachment 798742 [details]
File: var_log_messages

Comment 12 Chris Murphy 2013-12-06 07:27:52 UTC
Also occurs in F20:
gnome-shell-3.10.2.1-2.fc20.x86_64
xorg-x11-server-Xorg-1.14.4-5.fc20.x86_64
Coincides with bug 1002513 as reported by libreport.

Comment 13 Chris Murphy 2013-12-06 07:31:05 UTC
kernel 3.11.10-300.fc20.x86_64
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] [1002:6741] (prog-if 00 [VGA controller])

Comment 14 Chris Murphy 2013-12-06 07:35:54 UTC
Created attachment 833445 [details]
core_backtrace

Comment 15 Chris Murphy 2013-12-06 07:38:00 UTC
Created attachment 833447 [details]
coredump.bz2

Comment 16 Chris Murphy 2013-12-06 07:39:03 UTC
Created attachment 833448 [details]
dmesg

Comment 17 Frederic Grelot 2014-01-08 23:28:35 UTC
I've got the same problem (sent here by abrt) in a multi-seat environment :
-Primary seat uses "[AMD/ATI] Turks XT [Radeon HD 6670/7670]"
-Secondary seat uses "[AMD/ATI] Juniper LE [Radeon HD 5670 640SP Edition]"

The problem only happens on the secondary seat.

Right now, I cannot use the secondary seat (or only without gnome...), so I'm very willing to help if you need any information to find this bug!

Goulou.

Comment 18 Frederic Grelot 2014-01-08 23:36:44 UTC
By the way, I am running F20 (fully updated at this date).

I have two additionnal comments :
-I think the bug is identical to this one :
https://bugzilla.redhat.com/show_bug.cgi?id=985994
-I think the bug is more related to the radeon driver than to gnome-shell or gnome-session. (see message : segfault at 0 ip 00007fc85c738e59 sp 00007fffb84d4ba0 error 4 in r600_dri.so[7fc85c390000+5e1000] )
I don't think I can change the assignment, so if someone can do it, it would be a good idea.


Thanks for everything.

Comment 19 Frederic Grelot 2014-01-09 16:57:29 UTC
Well, I nailed down the problem a bit.
First, a list of clone bugs (not all of them, Google "do_winsys_init at radeon_drm_winsys.c" and you'll find many others...) :
https://bugs.freedesktop.org/show_bug.cgi?id=68085
https://bugzilla.redhat.com/show_bug.cgi?id=1021220
https://bugzilla.redhat.com/show_bug.cgi?id=1042936
https://bugzilla.redhat.com/show_bug.cgi?id=968436
One of the most important :
https://bugs.freedesktop.org/show_bug.cgi?id=72732

Comment 20 Frederic Grelot 2014-01-09 17:15:57 UTC
(sorry for the repetition, I sent the form by mistake)

Well, I nailed down the problem a bit.
First, a list of clone bugs (not all of them are reported here, Google "do_winsys_init radeon_drm_winsys.c" and you'll find many others...) :
https://bugs.freedesktop.org/show_bug.cgi?id=68085
https://bugzilla.redhat.com/show_bug.cgi?id=1021220
https://bugzilla.redhat.com/show_bug.cgi?id=1042936
https://bugzilla.redhat.com/show_bug.cgi?id=968436
Two of the most important :
https://bugs.freedesktop.org/show_bug.cgi?id=72732
https://bugzilla.redhat.com/show_bug.cgi?id=993463

Then, a related patch
http://lists.freedesktop.org/archives/mesa-dev/2013-October/047295.html

To put it in a nutshell, the problem, is the call to drmGetVersion(). In our case, it fails (it returns NULL), and the next line makes the segfault.
However, I found an *UGLY* workaround : changing the permissions on /dev/dri/cardX, where X is your video card number (in my case, X=1), so that the user where it fails can access it.
In my case, a chown is enough (my 2nd seat always has the same user connected to it).

I'm not sure why the call to drmGetVersion returns NULL : maybe this call should only be performed by a user that has the correct rights? Or, as suggested in #993463, the fd may be NULL (because the user has no right to open the device). But  why do gnome-shell, gnome-session, control-center, and others trigger that code...?

If somebody could reaffect this bug to the correct component (I would say "mesa" ?), this would be very nice of him.

Thanks for your help, and I hope those findings are relevants!

Goulou

Comment 21 Dr. David Alan Gilbert 2014-01-11 21:06:25 UTC
Hi Frederic,
  Thanks for the digging.

For me (as per my bug 993463/fdo 72732) this triggers when for some reason you start a GLX app when you have the wrong permissions on the /dev/drm/card*
Now I was going to suggest a simple NULL check test (which is what all the non-radeon ones have) but that patch you've found is a lot hairier and actually requires understanding the driver.

Comment 22 Frederic Grelot 2014-01-14 01:02:37 UTC
Considering another bug I opened (https://bugzilla.redhat.com/show_bug.cgi?id=1052747), I'm not sure the problem lies in r600_dri.so code : there may be (at least in my case) a more general permission problem.

However, I do think that the NULL check is unavoidable, so that at least the code path fails "gracefully", eventually having enough time to send logs.

Frederic.

Comment 23 Dr. David Alan Gilbert 2014-01-19 01:10:16 UTC
Frederic:
  Well in my case I understand why the permissions were wrong and it was my fault for not understanding the Fedora way of handling VTs; so the only problem is it should fail gracefully or fallback to non-dri stuff.
  The question then is how are you getting it into a situation where the perms are wrong; the other report I've seen is a 'machine was in a funny state after another problem' type of thing, mine was running two X servers and manually switching between VTs; how do you trigger yours?

Comment 24 Frederic Grelot 2014-01-19 08:22:26 UTC
As you can see in the other bug (#1052747), my permission problem is certainly due to my multi-seat configuration. The problem is being investigated in this context.

However, I agree with you that, whatever created the problem, it should fail gracefully, not with a segfault...

Frederic.

Comment 25 Jaroslav Reznik 2015-03-03 15:04:26 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22

Comment 26 Fedora End Of Life 2016-07-19 10:23:48 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.