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

Re: [Xen-devel] [DEBUGGING Xen 4.4.1/Qxl/Debian unstable] QXL drivers don't want to install

GNU gdb (Debian 7.7.1+dfsg-5) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
Find the GDB manual and other documentation resources online at:
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/xen/bin/qemu-system-i386...done.
(gdb) target remote localhost:1234
Remote debugging using localhost:1234
Reading symbols from /lib64/ld-linux-x86-64.so.2...Reading symbols from /usr/lib/debug//lib/x86_64-linux-gnu/ld-2.19.so...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
0x00007ffff7ddd190 in _start () from /lib64/ld-linux-x86-64.so.2
(gdb) c

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff50e5801 in spice_char_device_write_to_device (
ÂÂÂ dev=dev@entry=0x55555647c750) at char_device.c:443
443ÂÂÂ char_device.c: Aucun fichier ou dossier de ce type.
(gdb) bt full
#0Â 0x00007ffff50e5801 in spice_char_device_write_to_device (
ÂÂÂ dev=dev@entry=0x55555647c750) at char_device.c:443
ÂÂÂÂÂÂÂ sif = <optimized out>
ÂÂÂÂÂÂÂ total = <optimized out>
ÂÂÂÂÂÂÂ n = <optimized out>
#1Â 0x00007ffff50e6497 in spice_char_device_write_to_device (
ÂÂÂ dev=0x55555647c750) at char_device.c:436
No locals.
#2Â spice_char_device_start (dev=0x55555647c750) at char_device.c:798
ÂÂÂÂÂÂÂ __FUNCTION__ = "spice_char_device_start"
#3Â 0x00007ffff51299c6 in spice_server_vm_start (s=<optimized out>)
ÂÂÂ at reds.c:3795
ÂÂÂÂÂÂÂ st_item = 0x5555562d8350
ÂÂÂÂÂÂÂ item = 0x5555562d8350
ÂÂÂÂÂÂÂ __FUNCTION__ = "spice_server_vm_start"
#4Â 0x00005555557f40c9 in qemu_spice_display_start () at ui/spice-core.c:909
No locals.
#5Â 0x00005555556c4365 in qxl_hard_reset (d=0x55555637d7e0, loadvm=0)
ÂÂÂ at hw/display/qxl.c:1172
ÂÂÂÂÂÂÂ startstop = true
#6Â 0x00005555556c43a3 in qxl_reset_handler (dev=0x55555637d7e0)
ÂÂÂ at hw/display/qxl.c:1180
ÂÂÂÂÂÂÂ d = 0x55555637d7e0
---Type <return> to continue, or q <return> to quit---
#7Â 0x0000555555699658 in device_reset (dev=0x55555637d7e0)
ÂÂÂ at hw/core/qdev.c:934
ÂÂÂÂÂÂÂ klass = 0x555556270410
ÂÂÂÂÂÂÂ __func__ = "device_reset"
#8Â 0x0000555555697a56 in qdev_reset_one (dev=0x55555637d7e0, opaque=0x0)
ÂÂÂ at hw/core/qdev.c:240
No locals.
#9Â 0x0000555555697f64 in qdev_walk_children (dev=0x55555637d7e0,
ÂÂÂ pre_devfn=0x0, pre_busfn=0x0, post_devfn=0x555555697a3a <qdev_reset_one>,
ÂÂÂ post_busfn=0x555555697a5d <qbus_reset_one>, opaque=0x0)
ÂÂÂ at hw/core/qdev.c:411
ÂÂÂÂÂÂÂ bus = 0x0
ÂÂÂÂÂÂÂ err = 0
#10 0x0000555555697e57 in qbus_walk_children (bus=0x5555562a8ee0,
ÂÂÂ pre_devfn=0x0, pre_busfn=0x0, post_devfn=0x555555697a3a <qdev_reset_one>,
ÂÂÂ post_busfn=0x555555697a5d <qbus_reset_one>, opaque=0x0)
ÂÂÂ at hw/core/qdev.c:369
ÂÂÂÂÂÂÂ kid = 0x55555633d4f0
ÂÂÂÂÂÂÂ err = 0
#11 0x0000555555697f28 in qdev_walk_children (dev=0x5555563131b0,
ÂÂÂ pre_devfn=0x0, pre_busfn=0x0, post_devfn=0x555555697a3a <qdev_reset_one>,
ÂÂÂ post_busfn=0x555555697a5d <qbus_reset_one>, opaque=0x0)
ÂÂÂ at hw/core/qdev.c:403
---Type <return> to continue, or q <return> to quit---
ÂÂÂÂÂÂÂ bus = 0x5555562a8ee0
ÂÂÂÂÂÂÂ err = 0
#12 0x0000555555697e57 in qbus_walk_children (bus=0x5555562a60b0,
ÂÂÂ pre_devfn=0x0, pre_busfn=0x0, post_devfn=0x555555697a3a <qdev_reset_one>,
ÂÂÂ post_busfn=0x555555697a5d <qbus_reset_one>, opaque=0x0)
ÂÂÂ at hw/core/qdev.c:369
ÂÂÂÂÂÂÂ kid = 0x5555562a6a80
ÂÂÂÂÂÂÂ err = 0
#13 0x0000555555697b32 in qbus_reset_all (bus=0x5555562a60b0)
ÂÂÂ at hw/core/qdev.c:261
No locals.
#14 0x0000555555697b54 in qbus_reset_all_fn (opaque=0x5555562a60b0)
ÂÂÂ at hw/core/qdev.c:267
ÂÂÂÂÂÂÂ bus = 0x5555562a60b0
#15 0x0000555555815b1f in qemu_devices_reset () at vl.c:1872
ÂÂÂÂÂÂÂ re = 0x555556375890
ÂÂÂÂÂÂÂ nre = 0x0
#16 0x0000555555815bbf in qemu_system_reset (report=true) at vl.c:1885
ÂÂÂÂÂÂÂ mc = 0x55555626e030
ÂÂÂÂÂÂÂ __func__ = "qemu_system_reset"
#17 0x000055555590fcb9 in cpu_handle_ioreq (opaque=0x5555562b0950)
ÂÂÂ at /home/goon/xen/tools/qemu-xen-dir/xen-hvm.c:881
ÂÂÂÂÂÂÂ state = 0x5555562b0950
---Type <return> to continue, or q <return> to quit---
ÂÂÂÂÂÂÂ req = 0x7ffff7ff3000
#18 0x000055555577c385 in qemu_iohandler_poll (pollfds=0x555556277600, ret=1)
ÂÂÂ at iohandler.c:143
ÂÂÂÂÂÂÂ revents = 1
ÂÂÂÂÂÂÂ pioh = 0x5555563218c0
ÂÂÂÂÂÂÂ ioh = 0x555556362a80
#19 0x000055555577d14b in main_loop_wait (nonblocking=0) at main-loop.c:485
ÂÂÂÂÂÂÂ ret = 1
ÂÂÂÂÂÂÂ timeout = 4294967295
ÂÂÂÂÂÂÂ timeout_ns = 17355567
#20 0x0000555555815fbd in main_loop () at vl.c:2056
ÂÂÂÂÂÂÂ nonblocking = false
ÂÂÂÂÂÂÂ last_io = 1
#21 0x000055555581d66b in main (argc=66, argv=0x7fffffffdc58,
ÂÂÂ envp=0x7fffffffde70) at vl.c:4535
ÂÂÂÂÂÂÂ i = 64
ÂÂÂÂÂÂÂ snapshot = 0
ÂÂÂÂÂÂÂ linux_boot = 0
ÂÂÂÂÂÂÂ icount_option = 0x0
ÂÂÂÂÂÂÂ initrd_filename = 0x0
ÂÂÂÂÂÂÂ kernel_filename = 0x0
ÂÂÂÂÂÂÂ kernel_cmdline = 0x55555598c664 ""
ÂÂÂÂÂÂÂ boot_order = 0x555556275380 "dc"
---Type <return> to continue, or q <return> to quit---
ÂÂÂÂÂÂÂ ds = 0x5555563324a0
ÂÂÂÂÂÂÂ cyls = 0
ÂÂÂÂÂÂÂ heads = 0
ÂÂÂÂÂÂÂ secs = 0
ÂÂÂÂÂÂÂ translation = 0
ÂÂÂÂÂÂÂ hda_opts = 0x0
ÂÂÂÂÂÂÂ opts = 0x5555562752d0
ÂÂÂÂÂÂÂ machine_opts = 0x555556276f30
ÂÂÂÂÂÂÂ olist = 0x555555d72700 <qemu_machine_opts>
ÂÂÂÂÂÂÂ optind = 66
ÂÂÂÂÂÂÂ optarg = 0x7fffffffe61a "file=/dev/sda3,if=ide,index=0,media=disk,format=raw,cache=writeback"
ÂÂÂÂÂÂÂ loadvm = 0x0
ÂÂÂÂÂÂÂ machine_class = 0x55555626e030
ÂÂÂÂÂÂÂ machine = 0x555555d78540 <xenfv_machine>
ÂÂÂÂÂÂÂ cpu_model = 0x0
ÂÂÂÂÂÂÂ vga_model = 0x0
ÂÂÂÂÂÂÂ qtest_chrdev = 0x0
ÂÂÂÂÂÂÂ qtest_log = 0x0
ÂÂÂÂÂÂÂ pid_file = 0x0
ÂÂÂÂÂÂÂ incoming = 0x0
ÂÂÂÂÂÂÂ show_vnc_port = 0
ÂÂÂÂÂÂÂ defconfig = true
---Type <return> to continue, or q <return> to quit---
ÂÂÂÂÂÂÂ userconfig = true
ÂÂÂÂÂÂÂ log_mask = 0x0
ÂÂÂÂÂÂÂ log_file = 0x0
ÂÂÂÂÂÂÂ mem_trace = {malloc = 0x55555581950b <malloc_and_trace>,
ÂÂÂÂÂÂÂÂÂ realloc = 0x555555819540 <realloc_and_trace>,
ÂÂÂÂÂÂÂÂÂ free = 0x555555819584 <free_and_trace>, calloc = 0x0,
ÂÂÂÂÂÂÂÂÂ try_malloc = 0x0, try_realloc = 0x0}
ÂÂÂÂÂÂÂ trace_events = 0x0
ÂÂÂÂÂÂÂ trace_file = 0x0
ÂÂÂÂÂÂÂ __func__ = "main"
ÂÂÂÂÂÂÂ args = {machine = 0x555555d78540 <xenfv_machine>,
ÂÂÂÂÂÂÂÂÂ ram_size = 2013265920, boot_order = 0x555556275380 "dc",
ÂÂÂÂÂÂÂÂÂ kernel_filename = 0x0, kernel_cmdline = 0x55555598c664 "",
ÂÂÂÂÂÂÂÂÂ initrd_filename = 0x0, cpu_model = 0x0}

2015-01-04 19:00 GMT+01:00 Fabio Fantoni <fabio.fantoni@xxxxxxx>:

Il 04/01/2015 01:11, Goonie Windy ha scritto:
Forgot to say that it is not a matter of timeout :/, it's when pressing c that it breaks

2015-01-04 1:07 GMT+01:00 Goonie Windy <monsieur.goonie@xxxxxxxxx>:
Âok, I'm using the Upstream compiled in Xen so I created the file qemu-dbg, chmoded it etc...

But that's as far as I can get:

xl create result:
WARNING: device model override given without specific DM version

The problem should solved with this in domU's xl cfg:

libxl: error: libxl_exec.c:421:spawn_middle_death: domain 32 device model [-1]: unexpectedly exited with exit status 0, when we were waiting for it to confirm startup
libxl: error: libxl_dm.c:1490:device_model_spawn_outcome: domain 32 device model: spawn failed (rc=-3)
libxl: error: libxl_create.c:1332:domcreate_devmodel_started: device model did not start: -3
libxl: error: libxl_dm.c:1594:kill_device_model: Device Model already exited

If the problem persist look the domU's qemu log.

gdb output:
target remote localhost:1234Â c
Remote debugging using localhost:1234Â c
Reading symbols from /lib64/ld-linux-x86-64.so.2...Reading symbols from /usr/lib/debug//lib/x86_64-linux-gnu/ld-2.19.so...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
0x00007ffff7ddd190 in _start () from /lib64/ld-linux-x86-64.so.2
(gdb) c
[Inferior 1 (process 6455) exited with code 01]

libxl_exec.c shows me
Âelse {
ÂÂÂÂÂÂÂ if (!status)
ÂÂÂÂÂÂÂÂÂÂÂ LOG(ERROR, "%s [%ld]: unexpectedly exited with exit status 0,"
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ " when we were waiting for it to confirm startup",
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ ss->what, (unsigned long)pid);
ÂÂÂÂÂÂÂ else if (status <= 127)

that it is a matter of status (?)Â missing

That's all I could find out.

2015-01-03 14:36 GMT+01:00 Fabio Fantoni <fabio.fantoni@xxxxxxx>:
2015-01-03 1:24 GMT+01:00 Goonie Windy <monsieur.goonie@xxxxxxxxx>:
Fabio, actually I would have to compile qemu-dbg during compilation of xen, right?
Because I uninstalled it for installing 4.5RC4.

If you use qemu compiled in xen is not stripped is you have debug enabled in xen config (enabled by default except stable release).
Qemu packages in debian seems not have -dbg package instead, I not remember if are at least not stripped, if are stripped and without -dbg pkg we should open a bugreport about in debian tracker.


2015-01-01 14:49 GMT+01:00 Fabio Fantoni <fabio.fantoni@xxxxxxx>:

Il 01/01/2015 13:24, Goonie Windy ha scritto:
Hello Fabio, well same thing happens with remote-viewer,

about not using dom0 as desktop, it's a laptop I'm using for those tests,

Way to go is to use a blank machine with only Xen and then virtualise all machines inside?

Try to post what version of qemu, spice ecc your are using, your domU xl cfg and backtrace of the crash (following the howto I wrote should be simple)



2015-01-01 12:45 GMT+01:00 Fabio Fantoni <fabio.fantoni@xxxxxxx>:

Il 01/01/2015 11:36, Goonie Windy ha scritto:
Actulally I have,

Âqemu-system-i38[13389]: segfault at 0 ip 00007fd3d166d801 sp 00007ffffc8595d0 error 4 in libspice-server.so.1.9.0[7fd3d1661000+11b000]

BTW happy new year

2015-01-01 11:30 GMT+01:00 Goonie Windy <monsieur.goonie@xxxxxxxxx>:

ok for all concerning rombios ...

My spicec connection keeps on dying with
"Spice-Warning **: red_peer.cpp:128:connect_to_peer: failed to connect: Connexion refusÃe (111)"
Then I can't access VM and have to destroy it.

I'm connecting with
spicec -h -p 6000

Any idea?

spicec is very old and deprecated client and was already removed in spice git for next version.
there are spicy and virt-viewer, the second is better.
from address seems that you use dom0 as desktop, don't seems good for me^^''

if you still have the qemu crash install spice debug package and take a backtrace with gdb.

For use gdb on qemu as it child process is particular.

Small help with gdb of qemu launched by xl:
add the line below in domU's xl cfg:
vi /usr/lib/xen/bin/qemu-gdb # create the file, change the qemu path if needed
exec gdbserver /usr/lib/xen/bin/qemu-system-i386 "$@"

# after xl create with (qemu gdb), do it fast after xl create when arrive on qemu process launch (before timeout or xl create will fails)
target remote localhost:1234 # prepare this command in other ssh to the xen dom0 and enter on xl create when arrive on qemu launch
c # press immediatly
bt full # when qemu stops
with crash



2014-12-31 10:03 GMT+01:00 Fabio Fantoni <fabio.fantoni@xxxxxxx>:
Il 31/12/2014 02:26, Goonie Windy ha scritto:
Ok Fabio, thanks to your configure, some bits of hacking the install part and lots of advises/support/encouragements ;) from Mark Pryor I ended up
Âinstalling 4.5RC4 with QXL support on Deb8 unstable.

So now what do you want me to test fabio?
I have win7 x64 / win 2k8R2 vms in test mode ready to install drvers.

the numerous troubles I went through are related in the IRCcopy attached.
I actually couldn't build rombios and used seabios provided by the system -like you-
I should try to compile/find latest qxl now.

rombios is used only by qemu traditional that is very old, without spice support and hvm domUs have lower performance with it.
qxl drivers in latest spice guest tools are signed and not require windows testsigning mode, same for james haper xen gplpv.
If you want test new winpv drivers instead you need it.

For me qxl is working good on w7 domUs except after save/restore when "freeze" 2-3 minutes on screen resolution change and I not found the exact problem for now.
I also not found how to have qxl working in linux domUs, on latest test xorg crash on start with qxl driver installed.
Probably other changes are needed in hvmloader and/or xen hypervisor and/or qxl driver.
Any help testing it is appreciated.

See you in 2K15.

greg B

2014-12-29 14:49 GMT+01:00 Fabio Fantoni <fabio.fantoni@xxxxxxx>:
Il 29/12/2014 14:13, Goonie Windy ha scritto:
ok, I'm trying to patch the files with yours,

I need to do it manually right?

git apply is not working here.

If the patch need a "refresh" the conflict should be solved manually.
Taking the patch updated from here probably it can be applied to latest 4.5-rc:



2014-12-29 13:46 GMT+01:00 Goonie Windy <monsieur.goonie@xxxxxxxxx>:
There is an error in pageqs describing how to compile from sources as in 4.5
cat .config

is in fact in .INSTALL

If also you use debian you can use make debball that is better for install/remove easy and fast test build.

And for example I use this configure options with xen 4.5:
./configure --prefix=/usr --disable-blktap1 --disable-qemu-traditional --disable-rombios --with-system-seabios=/usr/share/seabios/bios-256k.bin --with-extra-qemuu-configure-args="--enable-spice --enable-usb-redir" --disable-blktap2
I use wheezy building updated packages from sid: seabios 1.7.5-1, spice 0.12.5-1, spice-protocol 0.12.7-1 and usbredir 0.7-1.
If you use jessie instead you have all packages updated.

About python I'm using this workaround (before execute configure) even if probably is not the best:
-PYTHON_PREFIX_ARG ?= --prefix="$(PREFIX)"

2014-12-29 1:20 GMT+01:00 Goonie Windy <monsieur.goonie@xxxxxxxxx>:
well figured out it is because you have to "enforce" locale:Â export LC_ALL=en_US.utf-8 if keyboard mapping is else

2014-12-28 21:19 GMT+01:00 Goonie Windy <monsieur.goonie@xxxxxxxxx>:
Trying to compile xen 4.5RC4 in order to test your patch I end up with these errors compiling the Seabios directories,

any idea?

 Compiling to assembler out/src/asm-offsets.s
 Generating offset file out/asm-offsets.h
 Compiling (16bit) out/romlayout.o
 Building ld scripts
Version: rel-1.7.5-0-ge51488c-20141228_210340-E766
Traceback (most recent call last):
 File "./scripts/layoutrom.py", line 709, in <module>
ÂÂÂ main()
 File "./scripts/layoutrom.py", line 671, in main
ÂÂÂ info16 = parseObjDump(infile16, '16')
 File "./scripts/layoutrom.py", line 586, in parseObjDump
ÂÂÂ relocsection = sectionmap[sectionname]
KeyError: '.text.asm./home/goon/xen/tools/firmware/seabios-dir-remote/src/fw/smp.c.79'
Makefile:155: recipe for target 'out/romlayout16.lds' failed
make[6]: *** [out/romlayout16.lds] Error 1
make[6]: Leaving directory '/home/goon/xen/tools/firmware/seabios-dir-remote'
/home/goon/xen/tools/firmware/../../tools/Rules.mk:116: recipe for target 'subdir-all-seabios-dir' failed

2014-12-27 17:35 GMT+01:00 Goonie Windy <monsieur.goonie@xxxxxxxxx>:
Hello Fabio,

Sure thing I will help debug the win7 and the win8 versions.
Where to start?

I'll try to see if I can patch with patch from https://github.com/Fantu/Xen/commit/fadecf8d6ee0e8c7e421fafba67aa11879e8b8fe and if not will post result.

best regards,

greg Bahde

2014-12-27 15:10 GMT+01:00 Fabio Fantoni <fabio.fantoni@xxxxxxx>:

Il 27/12/2014 02:15, Goonie Windy ha scritto:
I tried to install Qxl drivers under win7/win 2k8/win8.1ÂÂÂÂÂÂÂÂ allÂÂÂÂÂÂ x64 versions, without any luck.

admin message is as follow:
Driver Management concluded the process to install driver FileRepository\qxl.inf_amd64_
neutral_f0c429882d5c81ed\qxl.inf for Device Instance ID PCI\VEN_1013&DEV_00B8&SUBSYS_11001AF4&REV_00\3&267A616A&1&28 with the following status: 0xe000022d.


can it be installed on my xen stack?

Yes but probably require a small refresh, I always posted the patch based on updated xen-unstable.

Here qxl patch refreshed for xen 4.5 if needed:

Here the latest spice guest tools for windows with qxl driver included:

Windows >=8 and similar require a new qxl drivers, there are a beta build but latest tried some months ago have serious bug and I not found recent build full working on windows 8.

On xen windows 7 domUs qxl works good except a problem after save/restore and on linux domUs is not working, for now I not found exactly cause and solution.
On mailing list up to 2 years ago you can find many my mails about.
Any help to test it is appreciated.

Sorry for my bad english.

Also, can I get invited at xendevel irc ?


Xen-devel mailing list

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.