Sorry, you need to enable JavaScript to visit this website.

X server crash when using XtrkCad on Linux Mint 17.1

18 posts / 0 new
george's picture
Starter
george

Jan 17, 2015 - 03:52am

  • Hello,

    I am using Linux Mint 17.1 (based on Ubuntu 14.04, kernel 3.13.0-37-generic), 64-bit Cinnamon edition.
    I have installed the Intel graphics driver via the 1.0.7 installer.

    I am using the railway layout design application XtrkCad, version 4.0.2, which I installed from the repositories (this is the latest non-beta version). It always worked great, until some time ago. When I open a track layout I created earlier the X server crashes and I am returned to the login screen. The Xorg log shows a segmentation fault.

    Sometimes this does not happen when opening the track layout file, but when resizing the XtrkCad window.

    When doing the same in a VirtualBox virtual machine, with the same versions of Linux Mint and XtrkCad, everything runs fine. Main difference: the virtual machine uses the VirtualBox video driver instead of the Intel driver on the physical system.

    The physical system has an Asus Vanguard B85 motherboard, with a Core i7-4770S. I am using the integrated graphics controller.

    So far I have not been able to uninstall the Intel graphics driver, to see if that solves the problem.

    How can I uninstall the Intel graphics driver (and keep a functional system ;-) so I can try an older version or a generic driver?

    Here is the error message in Xorg.log:
    [  9812.958] (EE) Backtrace:
    [  9812.959] (EE) 0: /usr/bin/X (xorg_backtrace+0x48) [0x7fb788a91798]
    [  9812.959] (EE) 1: /usr/bin/X (0x7fb7888e8000+0x1ad489) [0x7fb788a95489]
    [  9812.959] (EE) 2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7fb7879e5000+0x10340) [0x7fb7879f5340]
    [  9812.959] (EE) 3: /usr/lib/xorg/modules/drivers/intel_drv.so (0x7fb7821f8000+0xd9608) [0x7fb7822d1608]
    [  9812.959] (EE) 4: /usr/lib/xorg/modules/drivers/intel_drv.so (0x7fb7821f8000+0x2dfd0) [0x7fb782225fd0]
    [  9812.959] (EE) 5: /usr/bin/X (miZeroPolyArc+0xfd3) [0x7fb788a8cdc3]
    [  9812.959] (EE) 6: /usr/lib/xorg/modules/drivers/intel_drv.so (0x7fb7821f8000+0x49123) [0x7fb782241123]
    [  9812.959] (EE) 7: /usr/bin/X (0x7fb7888e8000+0x1352da) [0x7fb788a1d2da]
    [  9812.959] (EE) 8: /usr/bin/X (0x7fb7888e8000+0x52710) [0x7fb78893a710]
    [  9812.959] (EE) 9: /usr/bin/X (0x7fb7888e8000+0x55c0e) [0x7fb78893dc0e]
    [  9812.959] (EE) 10: /usr/bin/X (0x7fb7888e8000+0x59a9a) [0x7fb788941a9a]
    [  9812.959] (EE) 11: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf5) [0x7fb786424ec5]
    [  9812.959] (EE) 12: /usr/bin/X (0x7fb7888e8000+0x44efe) [0x7fb78892cefe]
    [  9812.959] (EE)
    [  9812.959] (EE) Segmentation fault at address 0x7fff432ee004
    [  9812.959] (EE)
    Fatal server error:
    [  9812.959] (EE) Caught signal 11 (Segmentation fault). Server aborting
     

    Jan 17, 2015 - 03:52am
  • Hi - any chance you could install the debug symbols package? it's probably xserver-xorg-video-intel-dbg.
    Then trigger the backtrace again (or examine the core dump with gdb if you have core dumps enabled).

    Jan 19, 2015 - 07:31am
  • I installed the debug symbols. This is the resulting backtrace from Xorg.0.log.old:

    [    42.059] (EE) Backtrace:
    [    42.059] (EE) 0: /usr/bin/X (xorg_backtrace+0x48) [0x7fcb007d3798]
    [    42.059] (EE) 1: /usr/bin/X (0x7fcb0062a000+0x1ad489) [0x7fcb007d7489]
    [    42.059] (EE) 2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7fcaff727000+0x10340) [0x7fcaff737340]
    [    42.059] (EE) 3: /usr/lib/xorg/modules/drivers/intel_drv.so (0x7fcaf9f3a000+0xd9608) [0x7fcafa013608]
    [    42.059] (EE) 4: /usr/lib/xorg/modules/drivers/intel_drv.so (0x7fcaf9f3a000+0x2dfd0) [0x7fcaf9f67fd0]
    [    42.059] (EE) 5: /usr/bin/X (miZeroPolyArc+0xfd3) [0x7fcb007cedc3]
    [    42.059] (EE) 6: /usr/lib/xorg/modules/drivers/intel_drv.so (0x7fcaf9f3a000+0x49123) [0x7fcaf9f83123]
    [    42.060] (EE) 7: /usr/bin/X (0x7fcb0062a000+0x1352da) [0x7fcb0075f2da]
    [    42.060] (EE) 8: /usr/bin/X (0x7fcb0062a000+0x52710) [0x7fcb0067c710]
    [    42.060] (EE) 9: /usr/bin/X (0x7fcb0062a000+0x55c0e) [0x7fcb0067fc0e]
    [    42.060] (EE) 10: /usr/bin/X (0x7fcb0062a000+0x59a9a) [0x7fcb00683a9a]
    [    42.060] (EE) 11: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf5) [0x7fcafe166ec5]
    [    42.060] (EE) 12: /usr/bin/X (0x7fcb0062a000+0x44efe) [0x7fcb0066eefe]
    [    42.060] (EE)
    [    42.060] (EE) Segmentation fault at address 0x7fffd0ce7004
    [    42.060] (EE)
    Fatal server error:
    [    42.060] (EE) Caught signal 11 (Segmentation fault). Server aborting
     

    Jan 19, 2015 - 11:11am
  • Installing the debug symbols didn't change the information in the backtrace.

    Do you need other information?

    Jan 24, 2015 - 11:03am
  • There are probably some more debug packages - do you have a list of the
    debug symbol packages you installed? xserver-xorg-core-dbg is also a possibility.

    Jan 26, 2015 - 10:29am
  • I added xserver-xorg-core-dbg. Besides xserver-xorg-video-intel-dbg these are the only installed packages with dbg or debug in their name.

    Jan 29, 2015 - 10:51am
  • I forgot to mention (and there doesn't seem to be an option to edit a message):

    the output in Xorg.0.log.old is still the same.

    Jan 29, 2015 - 10:58am
  • Ok - even if the Xorg log has the same output it could be worth you
    capturing the core dump and pointing gdb at it. It's pretty straightforward
    to do - if you want some instructions let me know.

    Feb 02, 2015 - 03:58pm
  • Where would I find the core dump (if one was made)?

    I tried to run gdb /usr/bin/xtrkcad, but that resulted in the gdb saying ""/usr/bin/xtrkcad": not in executable format: File format not recognized".

    So yes please, your instructions are welcome.

    Feb 04, 2015 - 10:40am
  • ~$ ulimit -c unlimited
    ~$ sysctl -w kernel.core_pattern=/tmp/core.%p
    ~$ /usr/bin/xtrkcad

    Then when it dumps core file will be in /tmp/core.<PID>
    Sounds like /usr/bin/xtrkcad might be a script, in which case you can have
    a look inside and see how the real xtrcad is invoked (should you happen to be curious)

    Once you have a core file:

    ~$ gdb /path/to/actual/binary /tmp/core.<PID>
    > bt

    or

    > bt full

    Feb 09, 2015 - 02:57pm
  • I tried your instructions, but no core dump seems to be created.

    /usr/bin/xtrkcad is indeed a script. It sets an environment variable to /usr/lib/xtrkcad and then runs xtrkcad from that path.

    Feb 13, 2015 - 07:01am