Bug 90771 - Server crash when pluging screen to DP port
Summary: Server crash when pluging screen to DP port
Status: RESOLVED MOVED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: 7.7 (2012.06)
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2015-05-29 12:46 UTC by Mathieu
Modified: 2018-12-13 22:32 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log (48.52 KB, text/plain)
2015-05-29 12:46 UTC, Mathieu
no flags Details
lspci (2.22 KB, text/plain)
2015-05-29 12:46 UTC, Mathieu
no flags Details
Allow PixmapShareToSlave to be optionally implemented (1.55 KB, patch)
2015-05-29 13:03 UTC, Chris Wilson
no flags Details | Splinter Review

Description Mathieu 2015-05-29 12:46:22 UTC
Created attachment 116148 [details]
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:
1. start X server
2. connect external screen using displayport
3. enable it
4. 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]
Comment 1 Mathieu 2015-05-29 12:46:46 UTC
Created attachment 116149 [details]
lspci
Comment 2 Chris Wilson 2015-05-29 13:03:15 UTC
Created attachment 116150 [details] [review]
Allow PixmapShareToSlave to be optionally implemented
Comment 3 Mathieu 2015-05-29 21:46:39 UTC
Thanks Chris, I'll test your patch on Monday at the latest and will report back!
Comment 4 Mathieu 2015-06-01 07:56:03 UTC
Hello Chris,

I can confirm your patch solves my issue, now I have more things to debug...

Thanks again.
Comment 5 GitLab Migration User 2018-12-13 22:32:27 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/xserver/issues/477.


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.