1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
user-level: 0.701
KVM: 0.697
TCG: 0.666
risc-v: 0.660
peripherals: 0.651
permissions: 0.650
x86: 0.642
mistranslation: 0.641
vnc: 0.623
virtual: 0.616
hypervisor: 0.613
performance: 0.611
register: 0.609
VMM: 0.601
device: 0.582
ppc: 0.575
architecture: 0.562
arm: 0.555
graphic: 0.530
semantic: 0.507
files: 0.501
i386: 0.491
boot: 0.483
debug: 0.470
PID: 0.461
assembly: 0.452
network: 0.442
socket: 0.427
kernel: 0.382
qemu-1.5.3 segment fault with -vga qxl
execute " qemu-system-x86_64 -enable-kvm -machine accel=kvm:tcg -m 1G -drive file=/dev/sda --full-screen -spice addr=127.0.0.1,port=5900,disable-ticketing -vga qxl " on shell will get segment fault after a few seconds if I don't connect to it with spicec client immediately.
IF excute "spicec -h 127.0.0.1 -p 5900 " immediately !!!! after the qemu-system-x86_64 execution, then no segment fault happens and it runs well.
=====================
GDB output:
root@kali-john:~# gdb /usr/local/bin/qemu-system-x86_64
GNU gdb (GDB) 7.4.1-debian
(gdb) run -enable-kvm -machine accel=kvm:tcg -m 1G -drive file=/dev/sda --full-screen -spice addr=127.0.0.1,port=5900,disable-ticketing -vga qxl
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff3737700 (LWP 14797)]
[New Thread 0x7ffff2d54700 (LWP 14798)]
[New Thread 0x7ffff0fff700 (LWP 14799)]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff683ad70 in pixman_image_get_data () from /usr/lib/x86_64-linux-gnu/libpixman-1.so.0
(gdb) bt
#0 0x00007ffff683ad70 in pixman_image_get_data () from /usr/lib/x86_64-linux-gnu/libpixman-1.so.0
#1 0x000055555581060a in surface_data (s=0x5555566183a0) at /zh-download/QEMU/qemu-1.5.3/include/ui/console.h:235
#2 0x0000555555818616 in vga_draw_graphic (s=0x55555662c778, full_update=1) at /zh-download/QEMU/qemu-1.5.3/hw/display/vga.c:1788
#3 0x0000555555818c6a in vga_update_display (opaque=0x55555662c778) at /zh-download/QEMU/qemu-1.5.3/hw/display/vga.c:1917
#4 0x000055555580eb15 in qxl_hw_update (opaque=0x55555662bd70) at /zh-download/QEMU/qemu-1.5.3/hw/display/qxl.c:1766
#5 0x00005555557bd6bc in graphic_hw_update (con=0x555556618d00) at ui/console.c:254
#6 0x00005555557c8426 in qemu_spice_display_refresh (ssd=0x55555662c418) at ui/spice-display.c:417
#7 0x000055555580eff0 in display_refresh (dcl=0x55555662c420) at /zh-download/QEMU/qemu-1.5.3/hw/display/qxl.c:1886
#8 0x00005555557c0cb1 in dpy_refresh (s=0x555556618370) at ui/console.c:1436
#9 0x00005555557bd3af in gui_update (opaque=0x555556618370) at ui/console.c:192
#10 0x0000555555797f20 in qemu_run_timers (clock=0x5555565b5a30) at qemu-timer.c:394
#11 0x0000555555798183 in qemu_run_all_timers () at qemu-timer.c:453
#12 0x0000555555760bb7 in main_loop_wait (nonblocking=0) at main-loop.c:470
#13 0x00005555557cd19c in main_loop () at vl.c:2029
#14 0x00005555557d43f2 in main (argc=13, argv=0x7fffffffe2b8, envp=0x7fffffffe328) at vl.c:4419
(gdb)
======================
http://www.spice-space.org/download/releases/spice-0.12.4.tar.bz2
http://www.spice-space.org/download/releases/spice-protocol-0.12.6.tar.bz2
spice compiling
./configure --enable-smartcard=no && make
qemu-1.5.3
compiling
./configure \
--disable-strip --enable-debug \
--target-list=x86_64-softmmu,x86_64-linux-user \
--disable-sdl --audio-drv-list=alsa --disable-vnc --disable-xen --disable-libiscsi \
--disable-seccomp --disable-glusterfs --disable-libssh2 --disable-smartcard-nss \
--disable-usb-redir --disable-brlapi --disable-curl --disable-bsd-user \
\
--enable-kvm --enable-spice --enable-system --enable-guest-agent --enable-vhost-net
root@kali-john:~# qemu-system-x86_64 -version
QEMU emulator version 1.5.3, Copyright (c) 2003-2008 Fabrice Bellard
/usr/local/bin/qemu-system-x86_64 -enable-kvm -machine accel=kvm:tcg -m 1G -drive file=/dev/sda -vga qxl
will give same error
a funny thing:
if I change the "-drive file=/dev/sda" to "-drive file=/dev/sdb" , it will not run into "segment fault".
The different between sda & sdb is as following:
linux is installed on /dev/sda and /dev/sdb is another physical hard driver.
=================================================================
When change /dev/sda to /dev/sdb , it works well as following:
(gdb) run -enable-kvm -machine accel=kvm:tcg -m 1G -drive file=/dev/sdb --full-screen -spice addr=127.0.0.1,port=5900,disable-ticketing -vga qxl
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/local/bin/qemu-system-x86_64 -enable-kvm -machine accel=kvm:tcg -m 1G -drive file=/dev/sdb --full-screen -spice addr=127.0.0.1,port=5900,disable-ticketing -vga qxl
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".
[New Thread 0x7ffff3737700 (LWP 15056)]
[New Thread 0x7ffff2d54700 (LWP 15057)]
[New Thread 0x7ffff0fff700 (LWP 15058)]
[Thread 0x7ffff3737700 (LWP 15056) exited]
--- No segment fault error any more !!
It will run into segment fault with /dev/sda but without -vga qxl
The qemu & the Host linux OS is iinstalled on /dev/sda
sorry to mistake
========
The truth is that
t will NOT run into segment fault with /dev/sda but without -vga qxl
The qemu & the Host linux OS is iinstalled on /dev/sda
Triaging old bug tickets ... QEMU 1.5 is quite old already - can you still reproduce the crash with the latest version of QEMU?
[Expired for QEMU because there has been no activity for 60 days.]
|