Bug 69463 - RadeonSI : xserver crashes with Segmentation Fault
Summary: RadeonSI : xserver crashes with Segmentation Fault
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/radeonsi (show other bugs)
Version: git
Hardware: Other All
: medium critical
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-17 12:41 UTC by samit vats
Modified: 2013-11-01 11:41 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Xorg.log (23.20 KB, text/plain)
2013-09-17 12:41 UTC, samit vats
Details
dmesg (76.27 KB, text/plain)
2013-09-17 12:42 UTC, samit vats
Details
Xorg.log-updated (36.28 KB, text/plain)
2013-10-22 10:19 UTC, samit vats
Details

Description samit vats 2013-09-17 12:41:27 UTC
Created attachment 85970 [details]
Xorg.log

Driver Stack Details:
=====================

1)    Kernel-3.10.5-031005-generic
2)    drm-2.4.46
3)    Mesa-9.2   
4)    Xorg-server-1.11.4
5)    xf86-video-ati- master
6)    glamor-0.5.1
7)    LLVM-3.3

System Configuration:
=====================

Asic         : Tahiti XT (ID-6798)
O.S.         : Ubuntu-13.04 (64 bit)

X server crashes with Backtrace
===============================

0: /usr/bin/X (xorg_backtrace+0x28) [0x55f4f8]
1: /usr/bin/X (0x400000+0x1631b9) [0x5631b9]
2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7f4c1f21a000+0xfbd0) [0x7f4c1f229bd0]
3: /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (XGetXCBConnection+0x7) [0x7f4c1c70d6c7]
4: /home/atitest/install/lib/libEGL.so.1 (0x7f4c1cd51000+0x14441) [0x7f4c1cd65441]
5: /home/atitest/install/lib/libEGL.so.1 (0x7f4c1cd51000+0xc7cb) [0x7f4c1cd5d7cb]
6: /home/atitest/install/lib/libEGL.so.1 (0x7f4c1cd51000+0xcaf3) [0x7f4c1cd5daf3]
7: /home/atitest/install/lib/libEGL.so.1 (eglInitialize+0xb2) [0x7f4c1cd58a62]
8: /home/atitest/install/lib/xorg/modules/libglamoregl.so (glamor_egl_init+0xcf) [0x7f4c1cf70f7f]
9: /home/atitest/install/lib/xorg/modules/drivers/radeon_drv.so (0x7f4c1a1f1000+0x4bce5) [0x7f4c1a23cce5]
10: /home/atitest/install/lib/xorg/modules/drivers/radeon_drv.so (0x7f4c1a1f1000+0x45974) [0x7f4c1a236974]
11: /usr/bin/X (InitOutput+0x8ba) [0x4703ea]
12: /usr/bin/X (0x400000+0x22f66) [0x422f66]
13: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf5) [0x7f4c1e290ea5]
14: /usr/bin/X (0x400000+0x233dd) [0x4233dd]
Segmentation fault at address (nil)

Fatal server error:
Caught signal 11 (Segmentation fault). Server aborting
Comment 1 samit vats 2013-09-17 12:42:27 UTC
Created attachment 85971 [details]
dmesg
Comment 2 Michel Dänzer 2013-09-17 15:31:30 UTC
(In reply to comment #2)
> 3: /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (XGetXCBConnection+0x7)
> [0x7f4c1c70d6c7]
> 4: /home/atitest/install/lib/libEGL.so.1 (0x7f4c1cd51000+0x14441)
> [0x7f4c1cd65441]

Looks like it's trying to use the X11 EGL backend, which can't work in the X server. Was 'drm' included in the --with-egl-platforms= parameter to Mesa's configure?
Comment 3 samit vats 2013-09-18 11:48:52 UTC
yes, mesa is configured with "--with-egl-platforms=x11,drm"
Comment 4 Michel Dänzer 2013-09-18 13:24:28 UTC
How are you starting the X server? Does the shell which starts the X server contatin the environment variable EGL_PLATFORM=x11, or does it help if you set EGL_PLATFORM=drm?

Either way, please set the environment variable EGL_LOG_LEVEL=debug for starting the X server and attach its stderr output.
Comment 5 samit vats 2013-09-19 12:18:22 UTC
The Debug output is :

(II) [KMS] Kernel modesetting enabled.
libEGL debug: Native platform type: drm (environment overwrite)
libEGL debug: ignore EGL_DRIVERS_PATH for setuid/setgid binaries
libEGL debug: EGL search path is /home/atitest/install/lib/egl
libEGL debug: added /home/atitest/install/lib/egl/egl_gallium.so to module array
libEGL debug: added egl_dri2 to module array
libEGL debug: added egl_glx to module array
libEGL debug: dlopen(/home/atitest/install/lib/egl/egl_gallium.so)
libEGL info: use DRM for display 0x1b741d0
libEGL debug: EGL user error 0x3001 (EGL_NOT_INITIALIZED) in eglInitialize(no usable display)
libEGL info: use DRM for display 0x1b741d0
libEGL debug: EGL user error 0x3001 (EGL_NOT_INITIALIZED) in eglInitialize(no usable display)
libEGL debug: EGL user error 0x3001 (EGL_NOT_INITIALIZED) in eglInitialize
(EE) RADEON(0): eglInitialize() failed
(EE) RADEON(0): glamor detected, failed to initialize EGL.
X: /home/atitest/work/llvm/include/llvm/Support/CommandLine.h:674: void llvm::cl::parser<llvm::ScheduleDAGInstrs *(*)(llvm::MachineSchedContext *)>::addLiteralOption(const char *, const DT &, const char *) [DataType = llvm::ScheduleDAGInstrs *(*)(llvm::MachineSchedContext *), DT = llvm::ScheduleDAGInstrs *(*)(llvm::MachineSchedContext *)]: Assertion `findOption(Name) == Values.size() && "Option already exists!"' failed.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
Comment 6 Michel Dänzer 2013-09-19 14:32:43 UTC
(In reply to comment #5)
> libEGL debug: Native platform type: drm (environment overwrite)

So you set EGL_PLATFORM=drm? Would be interesting to see the debugging output without that as well.


> libEGL debug: dlopen(/home/atitest/install/lib/egl/egl_gallium.so)
> libEGL info: use DRM for display 0x1b741d0
> libEGL debug: EGL user error 0x3001 (EGL_NOT_INITIALIZED) in
> eglInitialize(no usable display)
> libEGL info: use DRM for display 0x1b741d0
> libEGL debug: EGL user error 0x3001 (EGL_NOT_INITIALIZED) in
> eglInitialize(no usable display)
> libEGL debug: EGL user error 0x3001 (EGL_NOT_INITIALIZED) in eglInitialize
> (EE) RADEON(0): eglInitialize() failed
> (EE) RADEON(0): glamor detected, failed to initialize EGL.

That's not the same crash anymore, but 'just' an EGL initialization failure. Does it get further if you set EGL_DRIVER=egl_dri2 as well?
Comment 7 samit vats 2013-09-20 11:22:12 UTC
The Debug output with EGL_DRIVER=egl_dri2 


II) [KMS] Kernel modesetting enabled.
libEGL debug: Native platform type: drm (environment overwrite)
libEGL debug: ignore EGL_DRIVERS_PATH for setuid/setgid binaries
libEGL debug: EGL search path is /home/atitest/install/lib/egl
libEGL debug: added egl_dri2 to module array
libEGL debug: the best driver is DRI2

Backtrace:
0: /usr/bin/X (xorg_backtrace+0x28) [0x55f4f8]
1: /usr/bin/X (0x400000+0x1631b9) [0x5631b9]
2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7f41be508000+0xfbd0) [0x7f41be517bd0]
3: /home/atitest/install/lib/dri/radeonsi_dri.so (radeon_llvm_compile+0xa5) [0x7f41b8d482d5]
4: /home/atitest/install/lib/dri/radeonsi_dri.so (si_compile_llvm+0x70) [0x7f41b8d3a7d0]
5: /home/atitest/install/lib/dri/radeonsi_dri.so (si_pipe_shader_create+0x50c) [0x7f41b8d3af7c]
6: /home/atitest/install/lib/dri/radeonsi_dri.so (si_shader_select+0x195) [0x7f41b8d43685]
7: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f41b8a08000+0x33b878) [0x7f41b8d43878]
8: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f41b8a08000+0x17cf7e) [0x7f41b8b84f7e]
9: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f41b8a08000+0x17da8e) [0x7f41b8b85a8e]
10: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f41b8a08000+0x14b807) [0x7f41b8b53807]
11: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f41b8a08000+0x148687) [0x7f41b8b50687]
12: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f41b8a08000+0x15befd) [0x7f41b8b63efd]
13: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f41b8a08000+0x135024) [0x7f41b8b3d024]
14: /home/atitest/install/lib/libglamor.so.0 (0x7f41bbbfc000+0x7a2f) [0x7f41bbc03a2f]
15: /home/atitest/install/lib/libglamor.so.0 (0x7f41bbbfc000+0x7f75) [0x7f41bbc03f75]
16: /home/atitest/install/lib/libglamor.so.0 (0x7f41bbbfc000+0x8513) [0x7f41bbc04513]
17: /home/atitest/install/lib/libglamor.so.0 (glamor_glyphs_init+0x26e) [0x7f41bbc0821e]
18: /home/atitest/install/lib/xorg/modules/drivers/radeon_drv.so (0x7f41b94dd000+0x4bb85) [0x7f41b9528b85]
19: /home/atitest/install/lib/xorg/modules/drivers/radeon_drv.so (0x7f41b94dd000+0x44df6) [0x7f41b9521df6]
20: /usr/bin/X (0x400000+0x9d867) [0x49d867]
21: /usr/bin/X (0x400000+0x22fbc) [0x422fbc]
22: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf5) [0x7f41bd57eea5]
23: /usr/bin/X (0x400000+0x233dd) [0x4233dd]
Segmentation fault at address (nil)

Fatal server error:
Caught signal 11 (Segmentation fault). Server aborting
Comment 8 Michel Dänzer 2013-09-20 13:55:39 UTC
(In reply to comment #7)
> The Debug output with EGL_DRIVER=egl_dri2 

Yet another crash... Can you get a backtrace for this one with gdb? You'll need to do that from a remote shell, e.g. via ssh.
Comment 9 samit vats 2013-09-25 12:50:52 UTC
I think it is a regression issue. The issue is resolved with upgrading mesa to latest 9.3.0-devel(git-59157d1) and with glamor-0.5.0
Comment 10 Michel Dänzer 2013-10-09 09:39:49 UTC
(In reply to comment #9)
> The issue is resolved with upgrading mesa to latest 9.3.0-devel(git-59157d1)
> and with glamor-0.5.0

Looks like you were hitting this crash again in bug 69961. Was it upgrading Mesa or downgrading glamor which resolved it before?
Comment 11 samit vats 2013-10-22 10:11:37 UTC
Sorry for the delay. I was under the impression that bug is closed.
I think downgarding glamor resolved the issue that time but again segmentation fault is observed 
on startx when building glamor with git master with xv enabled by default.

Xserver version is 1.12.99.905 and this is the backtrace:

Initializing built-in extension DRI2
LoaderOpen(/home/atitest/install/lib/xorg/modules/libglamoregl.so)
LoaderOpen(/home/atitest/install/lib/xorg/modules/extensions/libglx.so)
Loading extension GLX
LoaderOpen(/home/atitest/install/lib/xorg/modules/drivers/radeon_drv.so)
(II) [KMS] Kernel modesetting enabled.
LoaderOpen(/home/atitest/install/lib/xorg/modules/libglamoregl.so)
LoaderOpen(/home/atitest/install/lib/xorg/modules/libfb.so)
xf86RegisterRootWindowProperty(0, 70, 19, 32, 1, 0x141f4a0)
new property filled
creating xf86RegisteredPropertiesTable[] size 1
xf86RegisteredPropertiesTable 0x1423a80
xf86RegisteredPropertiesTable[0] (nil)
xf86RegisterRootWindowProperty succeeded
InitOutput - xf86Screens[0]->pScreen = 0x1423ab0
xf86Screens[0]->pScreen->CreateWindow = 0x7f15cfb37380
Sync Extension 3.1
XFree86VidModeExtensionInit
Error: nConfigOptions (11) does not match the actual number of options in
       __driConfigOptions (13).
(EE) 
(EE) Backtrace:
(EE) 0: /usr/bin/X (xorg_backtrace+0x36) [0x58a276]
(EE) 1: /usr/bin/X (0x400000+0x18e0d9) [0x58e0d9]
(EE) 2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7f15d876f000+0xfbd0) [0x7f15d877ebd0]
(EE) 3: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f15d2907000+0x51b4a5) [0x7f15d2e224a5]
(EE) 4: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f15d2907000+0x50c15a) [0x7f15d2e1315a]
(EE) 5: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f15d2907000+0x50c974) [0x7f15d2e13974]
(EE) 6: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f15d2907000+0x513eba) [0x7f15d2e1aeba]
(EE) 7: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f15d2907000+0x5141e8) [0x7f15d2e1b1e8]
(EE) 8: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f15d2907000+0x3552fe) [0x7f15d2c5c2fe]
(EE) 9: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f15d2907000+0x355e0e) [0x7f15d2c5ce0e]
(EE) 10: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f15d2907000+0x321267) [0x7f15d2c28267]
(EE) 11: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f15d2907000+0x31e0a7) [0x7f15d2c250a7]
(EE) 12: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f15d2907000+0x33199d) [0x7f15d2c3899d]
(EE) 13: /home/atitest/install/lib/dri/radeonsi_dri.so (0x7f15d2907000+0x30aa04) [0x7f15d2c11a04]
(EE) 14: /home/atitest/install/lib/libglamor.so.0 (0x7f15d6063000+0x88cf) [0x7f15d606b8cf]
(EE) 15: /home/atitest/install/lib/libglamor.so.0 (0x7f15d6063000+0x8ef8) [0x7f15d606bef8]
(EE) 16: /home/atitest/install/lib/libglamor.so.0 (0x7f15d6063000+0x9503) [0x7f15d606c503]
(EE) 17: /home/atitest/install/lib/libglamor.so.0 (glamor_glyphs_init+0x25d) [0x7f15d60704ad]
(EE) 18: /home/atitest/install/lib/xorg/modules/drivers/radeon_drv.so (0x7f15d416c000+0x4c968) [0x7f15d41b8968]
(EE) 19: /home/atitest/install/lib/xorg/modules/drivers/radeon_drv.so (0x7f15d416c000+0x4554e) [0x7f15d41b154e]
(EE) 20: /usr/bin/X (0x400000+0xad31e) [0x4ad31e]
(EE) 21: /usr/bin/X (0x400000+0x276ed) [0x4276ed]
(EE) 22: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf5) [0x7f15d75d9ea5]
(EE) 23: /usr/bin/X (0x400000+0x27b7d) [0x427b7d]
(EE) 
(EE) Segmentation fault at address 0x0
Comment 12 samit vats 2013-10-22 10:17:20 UTC
The updated Xorg.log is also attached.
Comment 13 samit vats 2013-10-22 10:19:30 UTC
Created attachment 87977 [details]
Xorg.log-updated
Comment 14 Michel Dänzer 2013-10-22 17:28:09 UTC
(In reply to comment #11)
> I think downgarding glamor resolved the issue that time [...]

Does downgrading glamor still help? If yes, can you bisect which glamor change triggered the problem?
Comment 15 samit vats 2013-11-01 11:41:18 UTC
The issue is fixed with following configuration

Mesa : 723f047a3bc21b536d27ab1c0d6cc82f93002648(2013-10-31)
glamor : 16c86bd3d8ba92c50fc96efb5a39a7725a16d785(2013-10-19)
xf86-video-ati : f1dc677e79cd7a88d7379a934ebc7d87a3b18805(2013-10-01)
with xorg-server-1.14.3

Hence closing the Bug


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.