Bug 98745 - Xorg crash with glamor enabled and DisplayLink driver
Summary: Xorg crash with glamor enabled and DisplayLink driver
Status: RESOLVED MOVED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/Acceleration/glamor (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-16 13:33 UTC by Christian
Modified: 2018-12-13 18:24 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Xorg crash log (10.27 MB, text/plain)
2016-11-16 13:33 UTC, Christian
no flags Details

Description Christian 2016-11-16 13:33:18 UTC
Created attachment 128005 [details]
Xorg crash log

OS info: Linux-4.8.0-26-generic-x86_64-with-Ubuntu-16.10-yakkety
CPU info: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz Cache: 4096 KB Cores: 2

xorg-server : 1.18.4
EVDI kernel module installed (see http://www.displaylink.com/downloads/ubuntu)

After installing DisplayLink driver and rebooting the machine, Xorg starts crashing as soon as you plug in a DisplayLink device.

GDB backtrace:

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
#1  0x00007f2b6f7683ea in __GI_abort () at abort.c:89
#2  0x00007f2b6f75ebb7 in __assert_fail_base (fmt=<optimized out>,
    assertion=assertion@entry=0x7f2b6b04a305 "fbo->tex != 0",
    file=file@entry=0x7f2b6b04a2eb "../../glamor/glamor_fbo.c", line=line@entry=189,
    function=function@entry=0x7f2b6b04a440 <__PRETTY_FUNCTION__.44820> "glamor_pixmap_ensure_fb") at assert.c:92
#3  0x00007f2b6f75ec62 in __GI___assert_fail (
    assertion=assertion@entry=0x7f2b6b04a305 "fbo->tex != 0",
    file=file@entry=0x7f2b6b04a2eb "../../glamor/glamor_fbo.c", line=line@entry=189,
    function=function@entry=0x7f2b6b04a440 <__PRETTY_FUNCTION__.44820> "glamor_pixmap_ensure_fb") at assert.c:101
#4  0x00007f2b6b040ad5 in glamor_pixmap_ensure_fb (
    glamor_priv=glamor_priv@entry=0x555b923eee20, fbo=fbo@entry=0x555b92bc0400)
    at ../../glamor/glamor_fbo.c:189
#5  0x00007f2b6b040d92 in glamor_create_fbo_from_tex (
    glamor_priv=glamor_priv@entry=0x555b923eee20, w=4480, h=1440, format=6408,
    tex=tex@entry=0, flag=flag@entry=0) at ../../glamor/glamor_fbo.c:250
#6  0x00007f2b6b024d4d in glamor_set_pixmap_texture (pixmap=pixmap@entry=0x555b92c45ad0,
    tex=0) at ../../glamor/glamor.c:106
#7  0x00007f2b6b02331e in glamor_egl_create_textured_pixmap_from_gbm_bo (
    pixmap=pixmap@entry=0x555b92c45ad0, bo=<optimized out>)
    at ../../../../glamor/glamor_egl.c:361
#8  0x00007f2b6b86d9fe in drmmode_set_pixmap_bo (pixmap=pixmap@entry=0x555b92c45ad0,
    bo=bo@entry=0x555b92279e78, drmmode=<optimized out>, drmmode=<optimized out>)
    at ../../../../../hw/xfree86/drivers/modesetting/drmmode_display.c:1620
#9  0x00007f2b6b86f101 in drmmode_glamor_handle_new_screen_pixmap (
    drmmode=drmmode@entry=0x555b92279e28)
    at ../../../../../hw/xfree86/drivers/modesetting/drmmode_display.c:1645
#10 0x00007f2b6b86f3a5 in drmmode_xf86crtc_resize (scrn=0x555b92279050, width=4480,
    height=1440) at ../../../../../hw/xfree86/drivers/modesetting/drmmode_display.c:1726
#11 0x0000555b91080c9e in xf86RandR12ScreenSetSize (pScreen=0x555b92278870, width=4480,
    height=1440, mmWidth=1185, mmHeight=381)
    at ../../../../hw/xfree86/modes/xf86RandR12.c:694
#12 0x0000555b910d25a8 in ProcRRSetScreenSize (client=0x555b92f806e0)
    at ../../randr/rrscreen.c:286
#13 0x0000555b910003bf in Dispatch () at ../../dix/dispatch.c:430
#14 0x0000555b91004413 in dix_main (argc=11, argv=0x7ffe851ae968, envp=<optimized out>)
    at ../../dix/main.c:300
#15 0x00007f2b6f7513f1 in __libc_start_main (main=0x555b90fee300 <main>, argc=11,
    argv=0x7ffe851ae968, init=<optimized out>, fini=<optimized out>,
    rtld_fini=<optimized out>, stack_end=0x7ffe851ae958) at ../csu/libc-start.c:291
#16 0x0000555b90fee33a in _start ()


It looks like the framebuffer-object texture is 0 and the  assert(fbo->tex != 0) in glamor_pixmap_ensure_fb fails.

It could be a problem in detecting the correct driver that provides acceleration.

Similar problem seen on UDL driver with an USB2 DisplayLink device. In that case the crash backtrace seems slightly different but still related to glamor:

(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
#1  0x00007f953dc843ea in __GI_abort () at abort.c:89
#2  0x000055bac645153e in OsAbort () at ../../os/utils.c:1408
#3  0x000055bac632901c in ddxGiveUp (error=error@entry=EXIT_ERR_ABORT) at ../../../../hw/xfree86/common/xf86Init.c:1102
#4  0x000055bac63290ca in AbortDDX (error=error@entry=EXIT_ERR_ABORT) at ../../../../hw/xfree86/common/xf86Init.c:1146
#5  0x000055bac64571b2 in AbortServer () at ../../os/log.c:874
#6  0x000055bac6457fbd in FatalError (f=f@entry=0x55bac6487a10 "Caught signal %d (%s). Server aborting\n") at ../../os/log.c:1015
#7  0x000055bac644edbe in OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at ../../os/osinit.c:150
#8  <signal handler called>
#9  glamor_composite_glyphs (op=3 '\003', src=0x55bac7dd4ae0, dst=0x55bac7e52810, glyph_format=<optimized out>, x_src=19, y_src=<optimized out>, nlist=<optimized out>, list=0x7fff842566b0,
    glyphs=0x7fff84256aa8) at ../../glamor/glamor_composite_glyphs.c:461
#10 0x000055bac63d04e7 in damageGlyphs (op=<optimized out>, pSrc=0x55bac7dd4ae0, pDst=0x55bac7e52810, maskFormat=0x55bac6c42c08, xSrc=<optimized out>, ySrc=<optimized out>, nlist=3,
    list=0x7fff842566a0, glyphs=0x7fff84256aa0) at ../../../miext/damage/damage.c:569
#11 0x000055bac63c5b7a in ProcRenderCompositeGlyphs (client=0x55bac7cf4a70) at ../../render/render.c:1390
#12 0x000055bac62e43bf in Dispatch () at ../../dix/dispatch.c:430
#13 0x000055bac62e8413 in dix_main (argc=11, argv=0x7fff84257498, envp=<optimized out>) at ../../dix/main.c:300
#14 0x00007f953dc6d3f1 in __libc_start_main (main=0x55bac62d2300 <main>, argc=11, argv=0x7fff84257498, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
    stack_end=0x7fff84257488) at ../csu/libc-start.c:291
#15 0x000055bac62d233a in _start ()
Comment 1 russianneuromancer 2017-05-08 09:49:18 UTC
I have same issues on Lenovo ThinkPad Helix with i7-3667U, Xorg Server version is 1.18.4.

Ubuntu Gnome 16.10, Linux 4.8.
Comment 2 GitLab Migration User 2018-12-13 18:24:50 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/84.


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.