Server crash when pluging screen to DP port
Submitted by Mathieu
Assigned to Xorg Project Team
Description
Created attachment 116148 Xorg.0.log
Hello,
I've reported this bug upstream in fedora: https://bugzilla.redhat.com/show_bug.cgi?id=1226240
I have a Lenovo T530 with a docking station. The laptop has the dreaded optimus setup (with both intel and nvidia chips).
Sadly it seems the external DP ports (regular not mini) on the docking station can only be used through the nvidia chip (found about that here http://www.thinkwiki.org/wiki/DisplayPort#Problems and trial/error seem to show it's true)...
So the setup is as follow: X server started with only the internal display.
Then I connect an external monitor, I can find it's being detected. If I try to enable it in the gnome interface, it immediately kills the X server (with a segfault).
I have the same behavior if I boot up the laptop with the external screen connected: X crashes over and over while trying to start the GDM session.
Version-Release number of selected component (if applicable): xorg-x11-apps-7.7-13.fc22.x86_64 xorg-x11-drv-ati-7.5.0-3.fc22.x86_64 xorg-x11-drv-evdev-2.9.2-1.fc22.x86_64 xorg-x11-drv-fbdev-0.4.3-20.fc22.x86_64 xorg-x11-drv-intel-2.99.917-9.20150520.fc22.x86_64 xorg-x11-drv-nouveau-1.0.11-2.fc22.x86_64 xorg-x11-drv-openchrome-0.3.3-14.fc22.x86_64 xorg-x11-drv-qxl-0.1.3-2.fc22.x86_64 xorg-x11-drv-synaptics-1.8.2-2.fc22.x86_64 xorg-x11-drv-vesa-2.3.2-20.fc22.x86_64 xorg-x11-drv-vmmouse-13.0.0-13.fc21.x86_64 xorg-x11-drv-vmware-13.0.2-8.20150211git8f0cf7c.fc22.x86_64 xorg-x11-drv-wacom-0.29.0-2.fc22.x86_64 xorg-x11-fonts-ISO8859-1-100dpi-7.5-14.fc22.noarch xorg-x11-fonts-ISO8859-1-75dpi-7.5-14.fc22.noarch xorg-x11-fonts-misc-7.5-14.fc22.noarch xorg-x11-fonts-Type1-7.5-14.fc22.noarch xorg-x11-font-utils-7.5-28.fc22.x86_64 xorg-x11-proto-devel-7.7-12.fc21.noarch xorg-x11-server-common-1.17.1-12.fc22.x86_64 xorg-x11-server-utils-7.7-15.fc22.x86_64 xorg-x11-server-Xorg-1.17.1-12.fc22.x86_64 xorg-x11-server-Xvfb-1.17.1-12.fc22.x86_64 xorg-x11-server-Xwayland-1.17.1-12.fc22.x86_64 xorg-x11-utils-7.5-19.fc22.x86_64 xorg-x11-xauth-1.0.9-2.fc22.x86_64 xorg-x11-xbitmaps-1.1.1-7.fc21.noarch xorg-x11-xinit-1.3.4-8.fc22.x86_64 xorg-x11-xkb-utils-7.7-13.fc22.x86_64
How reproducible: always
Steps to Reproduce:
- start X server
- connect external screen using displayport
- enable it
- boom
Actual results:
Please find the gdb backtrace output below, let me know if you need anything else.
Note the whole abrt-dump-xorg thing doesn't work anymore because the log file isn't /var/log/Xorg.${TTYNUMBER}.log anymore but something like HOME/.local/share/xorg/Xorg.
{TTYNUMBER}.log
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
#0 0x0000000000000000 in ?? ()
No symbol table info available.
#1 0x000000000045692f in PixmapShareToSlave (pixmap=pixmap@entry=0x24f4b70, slave=0x177e360) at pixmap.c:157
spix = 0x2607880
ret = <optimized out>
handle = 0x3c
master = <optimized out>
depth = 24
#2 0x00000000004fb79f in rrCreateSharedPixmap (y=0, x=1920, height=1200, width=1920, crtc=0x1789980) at rrcrtc.c:423
mpix = 0x24f4b70
spix = <optimized out>
master = 0x17b0170
ret = <optimized out>
depth = 24
mscreenpix = 0x25d95e0
protopix = <optimized out>
#3 RRCrtcSet (crtc=0x1789980, mode=0x2214260, x=1920, y=0, rotation=rotation@entry=1, numOutputs=numOutputs@entry=1, outputs=0x25d9660) at rrcrtc.c:567
master = 0x17b0170
width = 1920
height = 1200
pScreen = 0x177e360
ret = <optimized out>
crtcChanged = <optimized out>
o = <optimized out>
#4 0x00000000004fc5b3 in ProcRRSetCrtcConfig (client=0x212d2c0) at rrcrtc.c:1173
stuff = <optimized out>
rep = {type = 0 '\000', status = 0 '\000', sequenceNumber = 0, length = 0, newTimestamp = 0, pad1 = 0, pad2 = 0, pad3 = 0, pad4 = 0, pad5 = 0}
pScreen = <optimized out>
pScrPriv = 0x1789830
crtc = 0x1789980
mode = 0x2214260
numOutputs = <optimized out>
outputs = <optimized out>
time = <optimized out>
rotation = 1
ret = <optimized out>
i = <optimized out>
j = <optimized out>
status = <optimized out>
#5 0x000000000043a1bf in Dispatch () at dispatch.c:432
clientReady = 0x2141bf0
result = <optimized out>
client = 0x212d2c0
nready = 0
icheck = 0x82f430 <checkForInput>
start_tick = 400
#6 0x000000000043e2fb in dix_main (argc=14, argv=0x7ffee4b4d168, envp=<optimized out>) at main.c:298
i = <optimized out>
alwaysCheckForInput = {0, 1}
#7 0x00007f1e7d89c790 in __libc_start_main (main=0x4286f0 <main>, argc=14, argv=0x7ffee4b4d168, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffee4b4d158) at libc-start.c:289
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 2182834629096666325, 4359936, 140732735476064, 0, 0, -2182216830108928811, -2272621123817802539}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x5a6af0 <__libc_csu_init>,
0x7ffee4b4d168}, data = {prev = 0x0, cleanup = 0x0, canceltype = 5925616}}}
not_first_call = <optimized out>
#8 0x0000000000428729 in _start ()
No symbol table info available.
[Thread 0x7f1e7681c700 (LWP 9459) exited]
[Thread 0x7f1e7701d700 (LWP 9458) exited]
[Thread 0x7f1e7fe899c0 (LWP 9412) exited]
[Inferior 1 (process 9412) exited with code 01]
Attachment 116148, "Xorg.0.log":
Xorg.0.log
Version: 7.7 (2012.06)