[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?
From: |
Peter Lieven |
Subject: |
Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread? |
Date: |
Thu, 18 Jun 2015 09:12:01 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 |
Am 18.06.2015 um 09:03 schrieb Peter Lieven:
Am 18.06.2015 um 08:59 schrieb Paolo Bonzini:
On 18/06/2015 08:39, Peter Lieven wrote:
It seems like the mainloop is waiting here:
#0 0x00007ffff606c89c in __lll_lock_wait ()
from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#1 0x00007ffff6068065 in _L_lock_858 ()
from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#2 0x00007ffff6067eba in pthread_mutex_lock ()
from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#3 0x00005555559f2557 in qemu_mutex_lock (mutex=0x555555ed6d40)
at util/qemu-thread-posix.c:76
err = 0
__func__ = "qemu_mutex_lock"
#4 0x00005555556306ef in qemu_mutex_lock_iothread ()
at /usr/src/qemu-2.2.0/cpus.c:1123
No locals.
This means the VCPU is busy with some synchronous activity---maybe a
bdrv_aio_cancel?
Here is what the other threads are doing (dropped VNC thread):
Sorry, sth messed up while copying the buffer. Here should be the correct
output:
(gdb) thread apply all bt full
Thread 4 (Thread 0x7fffee9ff700 (LWP 2640)):
#0 0x00007ffff6069d84 in pthread_cond_wait@@GLIBC_2.3.2 ()
from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#1 0x00005555559f27ae in qemu_cond_wait (cond=0x5555563beed0,
mutex=0x5555563bef00) at util/qemu-thread-posix.c:135
err = 0
__func__ = "qemu_cond_wait"
#2 0x000055555593f12e in vnc_worker_thread_loop (queue=0x5555563beed0)
at ui/vnc-jobs.c:222
job = 0x55555637bbd0
entry = 0x0
tmp = 0x0
vs = {csock = -1, dirty = {{0, 0, 0} <repeats 2048 times>},
lossy_rect = 0x5555563ecd10, vd = 0x7ffff4465010, need_update = 0,
force_update = 0, has_dirty = 0, features = 195, absolute = 0,
last_x = 0, last_y = 0, last_bmask = 0, client_width = 0,
client_height = 0, share_mode = 0, vnc_encoding = 5, major = 0,
minor = 0, auth = 0, challenge = '\000' <repeats 15 times>,
info = 0x0, output = {capacity = 6257, offset = 1348,
buffer = 0x7fffe4000d10 ""}, input = {capacity = 0, offset = 0,
buffer = 0x0},
write_pixels = 0x555555925d57 <vnc_write_pixels_copy>, client_pf = {
bits_per_pixel = 32 ' ', bytes_per_pixel = 4 '\004',
depth = 24 '\030', rmask = 16711680, gmask = 65280, bmask = 255,
amask = 0, rshift = 16 '\020', gshift = 8 '\b', bshift = 0 '\000',
ashift = 24 '\030', rmax = 255 '\377', gmax = 255 '\377',
bmax = 255 '\377', amax = 0 '\000', rbits = 8 '\b',
gbits = 8 '\b', bbits = 8 '\b', abits = 0 '\000'},
client_format = 0, client_be = false, audio_cap = 0x0, as = {
freq = 0, nchannels = 0, fmt = AUD_FMT_U8, endianness = 0},
read_handler = 0, read_handler_expect = 0,
modifiers_state = '\000' <repeats 255 times>, led = 0x0,
abort = false, initialized = false, output_mutex = {lock = {
__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0,
__kind = 0, __spins = 0, __list = {__prev = 0x0,
__next = 0x0}}, __size = '\000' <repeats 39 times>,
__align = 0}}, bh = 0x0, jobs_buffer = {capacity = 0,
offset = 0, buffer = 0x0}, tight = {type = 0,
quality = 255 '\377', compression = 9 '\t', pixel24 = 0 '\000',
tight = {capacity = 0, offset = 0, buffer = 0x0}, tmp = {
capacity = 0, offset = 0, buffer = 0x0}, zlib = {capacity = 0,
offset = 0, buffer = 0x0}, gradient = {capacity = 0, offset = 0,
buffer = 0x0}, levels = {0, 0, 0, 0}, stream = {{next_in = 0x0,
avail_in = 0, total_in = 0, next_out = 0x0, avail_out = 0,
total_out = 0, msg = 0x0, state = 0x0, zalloc = 0, zfree = 0,
opaque = 0x0, data_type = 0, adler = 0, reserved = 0}, {
next_in = 0x0, avail_in = 0, total_in = 0, next_out = 0x0,
avail_out = 0, total_out = 0, msg = 0x0, state = 0x0,
zalloc = 0, zfree = 0, opaque = 0x0, data_type = 0, adler = 0,
reserved = 0}, {next_in = 0x0, avail_in = 0, total_in = 0,
next_out = 0x0, avail_out = 0, total_out = 0, msg = 0x0,
state = 0x0, zalloc = 0, zfree = 0, opaque = 0x0,
data_type = 0, adler = 0, reserved = 0}, {next_in = 0x0,
avail_in = 0, total_in = 0, next_out = 0x0, avail_out = 0,
total_out = 0, msg = 0x0, state = 0x0, zalloc = 0, zfree = 0,
opaque = 0x0, data_type = 0, adler = 0, reserved = 0}}},
zlib = {zlib = {capacity = 0, offset = 0, buffer = 0x0}, tmp = {
capacity = 0, offset = 0, buffer = 0x0}, stream = {
next_in = 0x0, avail_in = 0, total_in = 0, next_out = 0x0,
avail_out = 0, total_out = 0, msg = 0x0, state = 0x0,
zalloc = 0, zfree = 0, opaque = 0x0, data_type = 0, adler = 0,
reserved = 0}, level = 0}, hextile = {
send_tile = 0x55555592d95a <send_hextile_tile_32>}, zrle = {
type = 0, fb = {capacity = 0, offset = 0, buffer = 0x0}, zrle = {
capacity = 0, offset = 0, buffer = 0x0}, tmp = {capacity = 0,
offset = 0, buffer = 0x0}, zlib = {capacity = 0, offset = 0,
buffer = 0x0}, stream = {next_in = 0x0, avail_in = 0,
total_in = 0, next_out = 0x0, avail_out = 0, total_out = 0,
msg = 0x0, state = 0x0, zalloc = 0, zfree = 0, opaque = 0x0,
data_type = 0, adler = 0, reserved = 0}, palette = {pool = {{
idx = 0, color = 0, next = {le_next = 0x0,
le_prev = 0x0}} <repeats 256 times>}, size = 0, max = 0,
bpp = 0, table = {{lh_first = 0x0} <repeats 256 times>}}},
zywrle = {buf = {0 <repeats 4090 times>, 128, 0, -167350680, 32767,
0, 0}}, mouse_mode_notifier = {notify = 0, node = {
le_next = 0x0, le_prev = 0x5555559f2f90}}, next = {
tqe_next = 0x0, tqe_prev = 0x5555563bef28}}
n_rectangles = 14
saved_offset = 2
#3 0x000055555593f691 in vnc_worker_thread (arg=0x5555563beed0)
at ui/vnc-jobs.c:323
queue = 0x5555563beed0
#4 0x00007ffff6065e9a in start_thread ()
from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#5 0x00007ffff5d9338d in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#6 0x0000000000000000 in ?? ()
No symbol table info available.
Thread 3 (Thread 0x7ffff4d4f700 (LWP 2637)):
#0 0x00007ffff606c89c in __lll_lock_wait ()
from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#1 0x00007ffff6068065 in _L_lock_858 ()
from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#2 0x00007ffff6067eba in pthread_mutex_lock ()
from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#3 0x00005555559f2557 in qemu_mutex_lock (mutex=0x555555ed6d40)
at util/qemu-thread-posix.c:76
err = 0
__func__ = "qemu_mutex_lock"
#4 0x00005555556306ef in qemu_mutex_lock_iothread ()
at /usr/src/qemu-2.2.0/cpus.c:1123
No locals.
#5 0x000055555564b9ac in kvm_cpu_exec (cpu=0x5555563cb870)
at /usr/src/qemu-2.2.0/kvm-all.c:1770
run = 0x7ffff7ee2000
ret = 65536
run_ret = -4
#6 0x00005555556301dc in qemu_kvm_cpu_thread_fn (arg=0x5555563cb870)
at /usr/src/qemu-2.2.0/cpus.c:953
cpu = 0x5555563cb870
r = 65536
#7 0x00007ffff6065e9a in start_thread ()
from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#8 0x00007ffff5d9338d in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#9 0x0000000000000000 in ?? ()
No symbol table info available.
Thread 2 (Thread 0x7ffff5550700 (LWP 2636)):
#0 0x00007ffff5d87aa3 in ppoll () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1 0x0000555555955d91 in qemu_poll_ns (fds=0x5555563889c0, nfds=3,
timeout=4999424576) at qemu-timer.c:326
ts = {tv_sec = 4, tv_nsec = 999424576}
tvsec = 4
#2 0x0000555555956feb in aio_poll (ctx=0x5555563528e0, blocking=true)
at aio-posix.c:231
node = 0x0
was_dispatching = false
ret = 1
progress = false
#3 0x000055555594aeed in bdrv_prwv_co (bs=0x55555637eae0, offset=4292007936,
qiov=0x7ffff554f760, is_write=false, flags=0) at block.c:2699
aio_context = 0x5555563528e0
co = 0x5555563888a0
rwco = {bs = 0x55555637eae0, offset = 4292007936,
qiov = 0x7ffff554f760, is_write = false, ret = 2147483647, flags = 0}
#4 0x000055555594afa9 in bdrv_rw_co (bs=0x55555637eae0, sector_num=8382828,
buf=0x7ffff44cc800 "(", nb_sectors=4, is_write=false, flags=0)
at block.c:2722
qiov = {iov = 0x7ffff554f780, niov = 1, nalloc = -1, size = 2048}
iov = {iov_base = 0x7ffff44cc800, iov_len = 2048}
#5 0x000055555594b008 in bdrv_read (bs=0x55555637eae0, sector_num=8382828,
buf=0x7ffff44cc800 "(", nb_sectors=4) at block.c:2730
No locals.
#6 0x000055555599acef in blk_read (blk=0x555556376820, sector_num=8382828,
buf=0x7ffff44cc800 "(", nb_sectors=4) at block/block-backend.c:404
No locals.
#7 0x0000555555833ed2 in cd_read_sector (s=0x555556408f88, lba=2095707,
buf=0x7ffff44cc800 "(", sector_size=2048) at hw/ide/atapi.c:116
ret = 32767
#8 0x0000555555834202 in ide_atapi_cmd_reply_end (s=0x555556408f88)
at hw/ide/atapi.c:190
byte_count_limit = 21845
size = 1801980
ret = 0
#9 0x0000555555834657 in ide_atapi_cmd_read_pio (s=0x555556408f88,
lba=2095707, nb_sectors=16, sector_size=2048) at hw/ide/atapi.c:279
No locals.
#10 0x0000555555834b25 in ide_atapi_cmd_read (s=0x555556408f88, lba=2095707,
nb_sectors=16, sector_size=2048) at hw/ide/atapi.c:393
No locals.
#11 0x00005555558358ed in cmd_read (s=0x555556408f88, buf=0x7ffff44cc800 "(")
at hw/ide/atapi.c:824
nb_sectors = 16
lba = 2095707
#12 0x0000555555836373 in ide_atapi_cmd (s=0x555556408f88)
at hw/ide/atapi.c:1152
buf = 0x7ffff44cc800 "("
#13 0x00005555558323e1 in ide_data_writew (opaque=0x555556408f08, addr=368,
val=0) at hw/ide/core.c:2020
bus = 0x555556408f08
s = 0x555556408f88
p = 0x7ffff44cc80c "IHDR"
#14 0x000055555564285f in portio_write (opaque=0x55555641d5d0, addr=0, data=0,
size=2) at /usr/src/qemu-2.2.0/ioport.c:204
mrpio = 0x55555641d5d0
mrp = 0x55555641d6f8
__PRETTY_FUNCTION__ = "portio_write"
#15 0x000055555564f07c in memory_region_write_accessor (mr=0x55555641d5d0,
addr=0, value=0x7ffff554fb28, size=2, shift=0, mask=65535)
at /usr/src/qemu-2.2.0/memory.c:443
tmp = 0
#16 0x000055555564f1c4 in access_with_adjusted_size (addr=0,
value=0x7ffff554fb28, size=2, access_size_min=1, access_size_max=4,
access=0x55555564efe0 <memory_region_write_accessor>, mr=0x55555641d5d0)
at /usr/src/qemu-2.2.0/memory.c:480
access_mask = 65535
access_size = 2
i = 0
#17 0x000055555565209f in memory_region_dispatch_write (mr=0x55555641d5d0,
addr=0, data=0, size=2) at /usr/src/qemu-2.2.0/memory.c:1117
No locals.
#18 0x00005555556559c7 in io_mem_write (mr=0x55555641d5d0, addr=0, val=0,
size=2) at /usr/src/qemu-2.2.0/memory.c:1973
No locals.
#19 0x00005555555fc4be in address_space_rw (as=0x555555e7a880, addr=368,
buf=0x7ffff7ee6000 "", len=2, is_write=true)
at /usr/src/qemu-2.2.0/exec.c:2141
l = 2
ptr = 0x55555567a7a6 "H\213E\370dH3\004%("
val = 0
addr1 = 0
mr = 0x55555641d5d0
error = false
#20 0x000055555564b454 in kvm_handle_io (port=368, data=0x7ffff7ee6000,
direction=1, size=2, count=1) at /usr/src/qemu-2.2.0/kvm-all.c:1632
i = 0
ptr = 0x7ffff7ee6000 ""
#21 0x000055555564baa4 in kvm_cpu_exec (cpu=0x55555638e7e0)
at /usr/src/qemu-2.2.0/kvm-all.c:1789
run = 0x7ffff7ee5000
ret = 0
run_ret = 0
#22 0x00005555556301dc in qemu_kvm_cpu_thread_fn (arg=0x55555638e7e0)
at /usr/src/qemu-2.2.0/cpus.c:953
cpu = 0x55555638e7e0
r = 0
#23 0x00007ffff6065e9a in start_thread ()
from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#24 0x00007ffff5d9338d in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#25 0x0000000000000000 in ?? ()
No symbol table info available.
Thread 1 (Thread 0x7ffff7fea900 (LWP 2633)):
#0 0x00007ffff606c89c in __lll_lock_wait ()
from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#1 0x00007ffff6068065 in _L_lock_858 ()
from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#2 0x00007ffff6067eba in pthread_mutex_lock ()
from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#3 0x00005555559f2557 in qemu_mutex_lock (mutex=0x555555ed6d40)
at util/qemu-thread-posix.c:76
err = 0
__func__ = "qemu_mutex_lock"
#4 0x00005555556306ef in qemu_mutex_lock_iothread ()
at /usr/src/qemu-2.2.0/cpus.c:1123
No locals.
#5 0x0000555555954a87 in os_host_main_loop_wait (timeout=79413589)
at main-loop.c:242
ret = 1
spin_counter = 0
#6 0x0000555555954b5f in main_loop_wait (nonblocking=0) at main-loop.c:494
ret = 15
timeout = 4294967295
timeout_ns = 79413589
#7 0x000055555575e702 in main_loop () at vl.c:1882
nonblocking = false
last_io = 1
#8 0x00005555557662ee in main (argc=52, argv=0x7fffffffe278,
envp=0x7fffffffe420) at vl.c:4401
i = 128
snapshot = 0
linux_boot = 0
initrd_filename = 0x0
kernel_filename = 0x0
kernel_cmdline = 0x555555a3116e ""
boot_order = 0x555556352270 "dc"
ds = 0x5555563e2e20
cyls = 0
heads = 0
secs = 0
translation = 0
hda_opts = 0x0
opts = 0x555556352140
machine_opts = 0x55555634c5b0
icount_opts = 0x0
olist = 0x555555e27a40
optind = 52
optarg = 0x0
loadvm = 0x0
machine_class = 0x555556345cb0
cpu_model = 0x7fffffffe9d2
"qemu64,+fpu,+vme,+de,+pse,+tsc,+msr,+pae,+mce,+cx8,+apic,+sep,+mtrr,+pge,+mca,+cmov,+pat,+pse36,+clflush,+acpi,+mmx,+fxsr,+sse,+sse2,+ss,+ht,+tm,+pbe,+syscall,+nx,+pdpe1gb,+rdts
cp,+lm,+pni,+pclmulqdq,"...
vga_model = 0x7fffffffeb67 "vmware"
qtest_chrdev = 0x0
qtest_log = 0x0
pid_file = 0x7fffffffe990 "/var/run/qemu/vm-3092.pid"
incoming = 0x0
show_vnc_port = 0
defconfig = true
userconfig = true
log_mask = 0x0
log_file = 0x0
mem_trace = {malloc = 0x555555761bf9 <malloc_and_trace>,
realloc = 0x555555761c51 <realloc_and_trace>,
free = 0x555555761cb8 <free_and_trace>, calloc = 0, try_malloc = 0,
try_realloc = 0}
trace_events = 0x0
trace_file = 0x0
default_ram_size = 134217728
maxram_size = 8589934592
ram_slots = 0
vmstate_dump_file = 0x0
main_loop_err = 0x0
__func__ = "main"
(gdb)
Peter
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Stefan Hajnoczi, 2015/06/16
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Kevin Wolf, 2015/06/17
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Peter Lieven, 2015/06/18
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Peter Lieven, 2015/06/18
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Paolo Bonzini, 2015/06/18
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Peter Lieven, 2015/06/18
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?,
Peter Lieven <=
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Kevin Wolf, 2015/06/18
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Peter Lieven, 2015/06/18
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Kevin Wolf, 2015/06/18
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Peter Lieven, 2015/06/18
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Stefan Hajnoczi, 2015/06/18
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Peter Lieven, 2015/06/18
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Peter Lieven, 2015/06/19
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Stefan Hajnoczi, 2015/06/22
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, Peter Lieven, 2015/06/22
- Re: [Qemu-devel] [Qemu-block] RFC cdrom in own thread?, John Snow, 2015/06/22