ï
Hi Fabio Fantoni,
I finally got it. If that's not enough, I will
provide more as u guide.
I adjust the time to just after xl create and
can get stack info as follow :
(gdb) target remote
localhost:1234 Remote debugging using localhost:1234 Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging
symbols found)...done. Loaded symbols for
/lib64/ld-linux-x86-64.so.2 0x00007ffff7dddaf0 in ?? () from
/lib64/ld-linux-x86-64.so.2 (gdb) c Continuing.
Program received signal SIGABRT,
Aborted. 0x00007ffff2e04475 in raise () from
/lib/x86_64-linux-gnu/libc.so.6 (gdb) bt full #0
0x00007ffff2e04475 in raise () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #1
0x00007ffff2e076f0 in abort () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #2
0x00007ffff2e3f52b in ?? () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #3
0x00007ffff2e48d76 in ?? () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #4
0x00007ffff2e4db1c in free () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #5
0x00007ffff3b5b44b in ?? () from /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 No symbol table info available. #6
0x00007ffff3b5b399 in pixman_image_unref () from
/usr/lib/x86_64-linux-gnu/libpixman-1.so.0 No symbol table info
available. #7 0x000055555585283b in qemu_pixman_image_unref
(image=0x555558cd1170) at ui/qemu-pixman.c:80 No locals. #8 0x000055555587446b in vnc_dpy_switch (dcl=0x7fffe2cbc048,
surface=0x5555563263c0) at ui/vnc.c:588 vd = 0x7fffe2cbc010 vs = 0xff000000180420 #9 0x000055555584be81 in dpy_gfx_replace_surface
(con=0x5555566a2550, surface=0x5555563263c0) at ui/console.c:1404 s = 0x555556715b90 old_surface =
0x5555566e01e0 dcl =
0x7fffe2cbc048 #10 0x00005555556ecd52 in
qxl_render_update_area_unlocked (qxl=0x555556715bc0) at
hw/display/qxl-render.c:131 vga = 0x5555567166b0 surface =
0x5555563263c0 i = 0 #11 0x00005555556ed021 in qxl_render_update_area_bh
(opaque=0x555556715bc0) at hw/display/qxl-render.c:183 qxl = 0x555556715bc0 #12 0x00005555555f5330 in aio_bh_poll (ctx=0x5555562f1c30) at
async.c:81 bh =
0x5555565fb700 bhp =
0x7ffff77bfe86 next =
0x5555566afd00 ret =
1 #13 0x00005555555f4f89 in aio_poll (ctx=0x5555562f1c30,
blocking=false) at aio-posix.c:188 node = 0x7ffff73269a4 ret = 32767 ---Type <return> to continue, or q <return> to quit--- progress = false #14 0x00005555555f5747 in aio_ctx_dispatch (source=0x5555562f1c30,
callback=0, user_data=0x0) at async.c:205 ctx = 0x5555562f1c30 __PRETTY_FUNCTION__ =
"aio_ctx_dispatch" #15 0x00007ffff730c355 in
g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #16 0x00005555557d41ce in
glib_pollfds_poll () at main-loop.c:190 context =
0x5555562f27c0 pfds =
0x5555566f75c0 #17 0x00005555557d42ce in os_host_main_loop_wait
(timeout=0) at main-loop.c:235 ret = 1 spin_counter = 1 #18 0x00005555557d43a1 in main_loop_wait (nonblocking=0) at
main-loop.c:484 ret =
21845 timeout =
4294967295 timeout_ns =
17515866 #19 0x000055555587fe0c in main_loop () at vl.c:2051 nonblocking = false last_io = 0 #20 0x00005555558877e6 in main (argc=64, argv=0x7fffffffdfb8,
envp=0x7fffffffe1c0) at vl.c:4507 i = 64 snapshot = 0 linux_boot = 0 icount_option = 0x0 initrd_filename = 0x0 kernel_filename = 0x0 kernel_cmdline =
0x555555a22304 ""
boot_order = 0x5555562ef840 "dc" ds = 0x555556715b90 cyls = 0 heads = 0 secs = 0 translation = 0 hda_opts = 0x0 opts = 0x5555562ef790 machine_opts =
0x5555562f13f0 olist =
0x555555e08220 ---Type <return> to continue, or q
<return> to quit--- optind = 64 optarg = 0x7fffffffe915
"if=ide,index=1,media=cdrom,cache=writeback,id=ide-832" loadvm = 0x0 machine_class =
0x5555562e8540 machine
= 0x555555e0de80
cpu_model = 0x0
vga_model = 0x0
qtest_chrdev = 0x0
qtest_log = 0x0
pid_file = 0x0 incoming
= 0x0 show_vnc_port =
0 defconfig = true userconfig = true log_mask = 0x0 log_file = 0x0 mem_trace = {malloc =
0x55555588369e <malloc_and_trace>, realloc = 0x5555558836f6
<realloc_and_trace>, free =
0x55555588375d <free_and_trace>, calloc = 0, try_malloc = 0, try_realloc
= 0} trace_events =
0x0 trace_file = 0x0 __func__ = "main" args = {machine =
0x555555e0de80, ram_size = 4160749568, boot_order = 0x5555562ef840 "dc",
kernel_filename = 0x0, kernel_cmdline = 0x555555a22304 "", initrd_filename =
0x0, cpu_model = 0x0}
åéæéï 2014-07-16 17:03
äéï Re:åå: Re: [Xen-devel] QXL problem: Xen 4.4.1 rc1 and xen
4.5 unstable
Hi Fabio Fantoni,
Thank you for your advice for building xen
unstable.
Because I have to use debian wheezy as
production distro, I've got to do the test in it.
Today, I edit Config.mk and write:
QEMU_UPSTREAM_URL = git://git.qemu.org/qemu.git
QEMU_UPSTREAM_REVISION = master
Then, the built qemu-xen binary works
well. Therefore, I guess that
git://xenbits.xen.org/qemu-upstream-unstable.git has some very little
difference
compared to qemu.git. Maybe your environment cannot repeat that
problem either, I'd like to provide any useful information to resolve this
problem. I also use wheezy for both
production and develop/testing. I tried now on my latest testing build, of
some days ago xen from rebase/m2r-staging branch and qemu mainline with same
Config.mk before build. On windows 7 pro 64 bit domUs with latest spice guest
tools auto and manual resolution change works without problem. I'm still
unable to reproduce your qemu crash.
You can retry to catch and post
backtrace with my latest better explain?
I know, I already posted the
solution but I try to explain better.
#
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
Sorry for my bad
english.
Date: 2014-07-15 16:09
Subject: Re: [Xen-devel] QXL problem: Xen 4.4.1 rc1 and xen
4.5 unstable
Hi Fabio Fantoni,
Today I tried to use wheezy backports
version of spice-server, the problem persists with qemu-xen binary, while my
self compiled qemu 2.0 works well.
I think it is a problem and can be repeated.
Then, I will summarize my compilation process
here:
Firstly install debian wheezy 7.5 amd64 and
necessary build dependency. Then:
2. install backport version
libspice-server-dev libspice-protocol-dev
root@debian:~# apt-cache policy
libspice-server-dev libspice-protocol-dev
libspice-server-dev:
Installed:
0.12.4-0nocelt2~bpo70+1
Candidate:
0.12.4-0nocelt2~bpo70+1
Version table:
*** 0.12.4-0nocelt2~bpo70+1 0
100 /var/lib/dpkg/status
libspice-protocol-dev:
Installed: 0.12.6-1~bpo70+2
Candidate: 0.12.6-1~bpo70+2
Version table:
*** 0.12.6-1~bpo70+2 0
100 /var/lib/dpkg/status
3. patch for QXL option
4. ./configure --prefix=/usr
5. add spice and usb-redir
option for qemu-xen-upstream
6. make xen;make
tools;make install-xen;make install-tools
To compile qemu 2.0 from
qemu.org:
2.
./configure --enable-xen --target-list=i386-softmmu
--extra-cflags="-I/usr/src/xen/tools/include -I/usr/src/xen/tools/libxc
-I/usr/src/xen/tools/xenstore" \
--enable-spice --enable-usb-redir
3
.make;make install
For fast unstable tests
I do this (using my github rebase/m2r-*): Install of opus, usbredir and
libusbx from backports. Rebuild and install new seabios 1.7.5-1 and spice
packages (server 0.12.5-1 and protocol 0.12.7-1)
from sid that contains many fixes (simply and fast with git clone of debian repository and
debuild). ./configure --prefix=/usr --enable-qemu-traditional=no
--with-system-seabios=/usr/share/seabios/bios-256k.bin
--with-extra-qemuu-configure-args="--enable-spice --enable-usb-redir" make
debball dpkg -i of xen package in dist (contain both xen and qemu) And
if I need to test newer qemu in development I simply change the qemu git with
mainline in Config.mk.And for newer
production servers I start prepared new xen's debian packages awaiting debian
maintainers replies: https://github.com/Fantu/pkg-xen/tree/wheezy-backports Needs
also qemu rebuild to use new xen 4.4 libraries (simply and fast with git clone
of debian repository and debuild).There is
also a problem of jpeg-turbo in debian and for have better performances and
not too many cpu waste I for now solved with: apt-key adv --recv-keys
--keyserver keys.gnupg.net E1F958385BFE2B6E vi
/etc/apt/sources.list.d/x2go.list # X2Go Repository (for jpeg-turbo as
default and with full -dev package) deb http://packages.x2go.org/debian wheezy
heuler deb-src http://packages.x2go.org/debian wheezy
heuler aptitude update aptitude install x2go-keyring && aptitude
update aptitude install libjpeg8-turbo-dev
åéæéï 2014-07-14 16:49
äéï åå: Re: [Xen-devel] QXL problem: Xen 4.4.1 rc1 and xen
4.5 unstable
Hi Fabio Fantoni,
Thank you for your reply.
It is really weird.
I compiled both qemu binary (
qemu-upstream in xen and qemu-2.0 from qemu.org website) in the
same environment, the binary in xen has the problem while
the other one works well.
I will check whether wheezy
backport has libspice-server-dev and libspice-protocol-dev and try
again.
Date: 2014-07-14 15:59
Subject: Re: [Xen-devel] QXL problem: Xen 4.4.1 rc1 and xen
4.5 unstable
Hi Fabio Fantoni,
Today, I've done another test on xenbits xen
4.5 unstable.
This time, I directly compiled xen on my
test server, and use default libspice-server-dev and
libspice-protocol-dev header files for spice option.
root@debian:~# apt-cache policy
libspice-server-dev libspice-protocol-dev
libspice-server-dev:
Installed: 0.11.0-1+deb7u1
Candidate: 0.11.0-1+deb7u1
Version table:
*** 0.11.0-1+deb7u1 0
100 /var/lib/dpkg/status
libspice-protocol-dev:
Installed: 0.10.1-1
Candidate: 0.10.1-1
Version table:
*** 0.10.1-1 0
100 /var/lib/dpkg/status
Then I create win7 hvm with qemu-xen and
/usr/local/bin/qemu-system-i386 respectively.
The result shows that:
1 . qemu-upstream used in xen 4.5
unstable still exited when changing screen resolution,
2. my self-compiled qemu2.0
behave normally.
I think maybe there's still some differences
between the two qemu repository. Use spice from backports or recompile the latest from Sid,
wheezy packages are too old for newer qemu. xen already download and
compile qemu upstream automatically if you not specify binary in
repository. I also use use wheezy dom0 with same xen and qemu and same
domU and spice guest tools installed automatically resize the windows
resolution without problem (except rare cases when I connect remote-viewer
before windows start).Below also reply to
other mail.
I'm actively waiting for your advice and
willing to do the following debug.
vm config file is as follow:
name='Win7'
builder="hvm"
memory=2048
vcpus=2
vif=['bridge=br0']
disk=['/srv/vm_templates/1.qcow2,qcow2,hda,rw',',raw,hdb,ro,cdrom']
boot='dc'
device_model_version="qemu-xen"
#device_model_override="/usr/lib/xen/bin/qemu-gdb"
#device_model_override="/usr/local/bin/qemu-system-i386"
viridian=1
vnc=1
vnclisten="0.0.0.0"
vga="qxl"
spice=1
spicehost='0.0.0.0'
spiceport=6000
spicedisable_ticketing=1
spicevdagent=1
spice_clipboard_sharing=1
spiceusbredirection=4
soundhw="hda"
localtime=1
videoram=128 videoram=128 is not needed with qxl as already the
default.Try to disable vnc when you use
spice, even if I used with also vnc many times without problem time
ago.
Date: 2014-07-14 10:26
Subject: Re: [Xen-devel] QXL problem: Xen 4.4.1 rc1 and
xen 4.5 unstable
Hi Fabio Fantoni,
Thank you for your help.
If I use your method to run qemu-gdb when
using xl create, xl will complain startup timeout.
I know, I already
posted the solution but I try to explain better.# 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 stopsSorry for my bad english.
Perhaps I did not describe my problem clearly
enough, I can successfully create windows HVM, my problem happened when I
change windows screen resolution.
The qemu process suddenly exited while xl list can still list
the domU information.
I am using debian wheezy 7.5 amd 64, I am using
fantu's xen 4.5 unstable and the qemu-xen-remote in his code
repository,
root@debian:~#
/usr/lib/xen/bin/qemu-system-i386 -version
QEMU emulator version 2.0.0, Copyright (c)
2003-2008 Fabrice Bellard
And I compiled Xen from fantu's xen repository in compilation
server, then use install.sh in dist dir to install xen packages in my test
server.
My compilation server has spice 0.12.4 compiled and
installed.
My test server has debian wheezy backport qemu installed with
spice-server:
dpkg -l |grep spice
ii
libspice-server1:amd64
0.12.4-0nocelt2~bpo70+1
Then how can I obtain useful debug information after qemu exit
with vm running?
Date: 2014-07-11 18:06
Subject: Re: [Xen-devel] QXL problem: Xen 4.4.1 rc1 and
xen 4.5 unstable
Hi all,
Firstly please forgive me if I put this problem in the wrong mail
list.
However, it seems that xen-users mail list cannot resolve this QXL
problems. Therefore, I have to post QXL problem in devel mail
list.
My problem is as follow:
I'm testing QXL for windows HVM, spice works well with stdvga.
However, when I switch to QXL, qemu exit abnormally:
I specify vga="qxl" and videoram=128, using qemu-xen. The windows 7
boots and automatially switch resolution for me in virt-viewer.
While display and sound transfering very well, if I change display
resolution, the virt-viewer will be suddenly closed and
I check the physical server, the qemu process disappear
simultaneously.
Then I switch to wheezy backport qemu 2.0 as device model, the qemu
process will exit as soon as the welcome page appears and at the
beginning of resolution change.
I tested and found the same bug on both xenbits xen 4.4.1 rc1 and
Fantu's Xen 4.5 unstable, this problem exists in both branches.
Is it a known issue or is there any solution for this bug?
Thank you very much! Thanks for testing spice and qxl and report issue. I have
spice + qxl working as kvm on xen unstable except this problem: http://lists.xen.org/archives/html/xen-devel/2014-07/msg01021.html
Please
post details on your dom0 installation and domU (for example xl
cfg, spice guest tools version ecc...) About qemu crash try to take
a full backtrace with gdb and post it here.
Small help with gdb of
qemu launched by xl:
Add the line below in domU's xl
cfg: device_model_override="/usr/lib/xen/bin/qemu-gdb"
vi
/usr/lib/xen/bin/qemu-gdb # create the file, change the qemu path
if needed #!/bin/sh exec gdbserver 0.0.0.0:1234
/usr/lib/xen/bin/qemu-system-i386 "$@"
# after xl create, do it
fast (before timeout or xl create will fails) target remote
localhost:1234 c bt full # when qemu stops
You should
install also all needed dbg packages before, spice qemu ecc or without
package should be compiled with debug enabled (for xen and qemu default
in unstable).
The latest qemu crash with spice I saw was in 2.0-rc
solved before 2.0.0 final, your qemu is at least 2.0.0 final? http://git.qemu.org/?p=qemu.git;a=commit;h=dc491cfc14074064ed54a872b62cce6ca1330644
Best Regards,
|