[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#729054: Xspice fails to start (segfaults)



HI Cyril,

On  Fr 08 Nov 2013 17:10:04 CET, Cyril Brulebois wrote:

[ Disclaimer: I know nothing about spice. ]

Mike Gabriel <mike.gabriel@das-netzwerkteam.de> (2013-11-08):
If you need any help with this, let me know what is needed to debug this=..

A full backtrace with debug info would probably be a nice start.

(EE) Backtrace:
(EE) 0: /usr/bin/Xorg (xorg_backtrace+0x3d) [0x7f39301df30d]
(EE) 1: /usr/bin/Xorg (0x7f393003e000+0x1a5079) [0x7f39301e3079]
(EE) 2: /lib/x86_64-linux-gnu/libpthread.so.0
(0x7f392f13c000+0xf210) [0x7f392f14b210]
(EE) 3: /usr/lib/x86_64-linux-gnu/libspice-server.so.1
(0x7f392c486000+0x20ccc) [0x7f392c4a6ccc]
(EE) 4: /usr/lib/x86_64-linux-gnu/libspice-server.so.1
(0x7f392c486000+0x2106c) [0x7f392c4a706c]
(EE) 5: /usr/lib/xorg/modules/drivers/spiceqxl_drv.so
(0x7f392c7a3000+0x9460) [0x7f392c7ac460]
(EE) 6: /usr/lib/x86_64-linux-gnu/libspice-server.so.1
(0x7f392c486000+0x22d7e) [0x7f392c4a8d7e]
(EE) 7: /usr/lib/x86_64-linux-gnu/libspice-server.so.1
(spice_server_add_interface+0x3a6) [0x7f392c4cf1f6]
(EE) 8: /usr/lib/xorg/modules/drivers/spiceqxl_drv.so
(0x7f392c7a3000+0xb8ab) [0x7f392c7ae8ab]
(EE) 9: /usr/bin/Xorg (AddScreen+0x71) [0x7f3930092fe1]
(EE) 10: /usr/bin/Xorg (InitOutput+0x3df) [0x7f39300d34bf]
(EE) 11: /usr/bin/Xorg (0x7f393003e000+0x440db) [0x7f39300820db]
(EE) 12: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf5)
[0x7f392dd95995]
(EE) 13: /usr/bin/Xorg (0x7f393003e000+0x4460f) [0x7f393008260f]
(EE)
(EE) Segmentation fault at address 0xd8

→ because backtrace() doesn't tell us much about what's happening in the
X driver and in the spice lib.

Mraw,
KiBi.

So what I did is this:

0. Install relevant dbg packages (on a Debian unstable system)

  apt-get install xserver-xorg-core-dbg
  apt-get install xserver-xorg-video-qxl-dbg

1. Create an Xspice config file ~/.spiceqxl.xorg.conf

"""
Section "Device"
    Identifier "XSPICE"
    Driver "spiceqxl"
EndSection

Section "InputDevice"
    Identifier "XSPICE POINTER"
    Driver     "xspice pointer"
EndSection

Section "InputDevice"
    Identifier "XSPICE KEYBOARD"
    Driver     "xspice keyboard"
EndSection

Section "Monitor"
    Identifier    "Configured Monitor"
EndSection

Section "Screen"
    Identifier     "XSPICE Screen"
    Monitor        "Configured Monitor"
    Device        "XSPICE"
    DefaultDepth    24
EndSection

Section "ServerLayout"
    Identifier "XSPICE Example"
    Screen "XSPICE Screen"
    InputDevice "XSPICE KEYBOARD"
    InputDevice "XSPICE POINTER"
EndSection

# Prevent udev from loading vmmouse in a vm and crashing.
Section "ServerFlags"
    Option "AutoAddDevices" "False"
EndSection
"""

2. launch Xorg in gdb

  gdb /usr/bin/Xorg 2>&1 | tee Xspice.debug

3. run Xorg as Xspice

gdb> run -keeptty -dumbSched -config ~/.spiceqxl.xorg.conf -noreset -logfile .spicelog :1


4. Then I get this on stdout:

"""
Starting program: /usr/bin/Xorg -keeptty -dumbSched -config ~/.spiceqxl.xorg.conf -noreset -logfile .spicelog :1
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

X.Org X Server 1.14.3
Release Date: 2013-09-12
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.10-2-amd64 x86_64 Debian
Current Operating System: Linux sid.das-netzwerkteam.de 3.2.0-3-amd64 #1 SMP Mon Jul 23 02:45:17 UTC 2012 x86_64 Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-3-amd64 root=UUID=3b38a6e6-4ac2-4925-9acd-9b4020fb1282 ro quiet
Build Date: 05 October 2013  02:04:26PM
xorg-server 2:1.14.3-4 (Julien Cristau <jcristau@debian.org>)
Current version of pixman: 0.30.2
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: ".spicelog", Time: Sat Nov  9 00:06:55 2013
(++) Using config file: "/home/mike/.spiceqxl.xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension SECURITY
Initializing built-in extension XINERAMA
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension SELinux
Initializing built-in extension XFree86-VidModeExtension
Initializing built-in extension XFree86-DGA
Initializing built-in extension XFree86-DRI
Initializing built-in extension DRI2
Loading extension GLX
resizing surface0 to 16777216
memory space from 0x7fffec262010 to 0x7ffff325f010
memory space from 0x7fffe3261010 to 0x7fffeb261010
resizing surface0 to 16777216
memory space from 0x7fffec262010 to 0x7ffff325f010
memory space from 0x7fffe3261010 to 0x7fffeb261010
[New Thread 0x7fffe1c4f700 (LWP 17268)]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff4467ccc in ?? () from /usr/lib/x86_64-linux-gnu/libspice-server.so.1
"""

5. And finally I do the backtrace full command in gdb:

"""
(gdb) backtrace full
#0 0x00007ffff4467ccc in ?? () from /usr/lib/x86_64-linux-gnu/libspice-server.so.1
No symbol table info available.
#1 0x00007ffff446806c in ?? () from /usr/lib/x86_64-linux-gnu/libspice-server.so.1
No symbol table info available.
#2 0x00007ffff476d460 in interface_attach_worker (sin=0x5555559b55b0, qxl_worker=0x555555acc050)
    at ../../src/spiceqxl_display.c:98
        count = 1
        count = 1
#3 0x00007ffff4469d7e in ?? () from /usr/lib/x86_64-linux-gnu/libspice-server.so.1
No symbol table info available.
#4 0x00007ffff44901f6 in spice_server_add_interface () from /usr/lib/x86_64-linux-gnu/libspice-server.so.1
No symbol table info available.
#5 0x00007ffff476d5f0 in qxl_add_spice_display_interface (qxl=<optimized out>)
    at ../../src/spiceqxl_display.c:348
No locals.
#6 0x00007ffff476f8ab in spiceqxl_screen_init (pScrn=0x5555559b4380, qxl=0x5555559b4920)
    at ../../src/qxl_driver.c:649
No locals.
#7 qxl_screen_init (pScreen=pScreen@entry=0x5555559c0ea0, argc=argc@entry=9, argv=argv@entry=0x7fffffffe5c8)
    at ../../src/qxl_driver.c:703
        pScrn = <optimized out>
        qxl = 0x5555559b4920
        ram_header = <optimized out>
        visual = <optimized out>
        __PRETTY_FUNCTION__ = "qxl_screen_init"
#8 0x00005555555a8fe1 in AddScreen (pfnInit=0x7ffff476f630 <qxl_screen_init>, argc=argc@entry=9,
    argv=argv@entry=0x7fffffffe5c8) at ../../dix/dispatch.c:3840
        i = 0
        pScreen = 0x5555559c0ea0
        ret = <optimized out>
#9 0x00005555555e94bf in InitOutput (pScreenInfo=pScreenInfo@entry=0x555555990160 <screenInfo>,
    argc=argc@entry=9, argv=argv@entry=0x7fffffffe5c8) at  .../../../../hw/xfree86/common/xf86Init.c:885
        i = 0
        j = <optimized out>
        k = <optimized out>
        scr_index = <optimized out>
        modulelist = <optimized out>
        optionlist = 0x5555559a93d0
        screenpix24 = <optimized out>
        pix24 = <optimized out>
        pix24From = <optimized out>
        pix24Fail = 0
        autoconfig = <optimized out>
        sigio_blocked = 0
        want_hw_access = <optimized out>
        configured_device = <optimized out>
#10 0x00005555555980db in main (argc=9, argv=0x7fffffffe5c8, envp=<optimized out>) at ../../dix/main.c:204
        i = <optimized out>
        alwaysCheckForInput = {0, 1}
"""

Is that bit of information sufficient?

Greets,
Mike

--

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb

Attachment: binPXYjuIDz1A.bin
Description: =?utf-8?b?w5ZmZmVudGxpY2hlciA=?= =?utf-8?b?UEdQLVNjaGzDvHNzZWw=?=

Attachment: pgpbSn344yEzl.pgp
Description: Digitale PGP-Signatur


Reply to: