Errors reporting in do_delvm caused a crash
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
In case of multiple errors, it leads to a crash.
Typical back trace:
#0 <in libc> in __GI_raise (sig=sig@entry=6) at ../nptl/
#1 <in libc> in __GI_abort () at abort.c:90
#2 <in libc> in __libc_message (do_abort=
#3 <in libc> in malloc_printerr (action=3, str=<in libc> "double free or corruption (out)", ptr=<optimized out>) at malloc.c:4902
#4 <in libc> in _int_free (av=<optimized out>, p=<in heap chunk>, have_lock=0) at malloc.c:3758
#5 <in qemu binary> in error_free (err=<in heap chunk>) at util/error.c:166
#6 <in qemu binary> in do_delvm (mon=<in heap chunk>, qdict=<optimized out>) at /home/qemudbg/
#7 <in qemu binary> in handle_user_command (mon=mon@entry=<in heap chunk>, cmdline=<optimized out>) at /home/qemudbg/
#8 <in qemu binary> in monitor_command_cb (opaque=<in heap chunk>, cmdline=<optimized out>, readline_
#9 <in qemu binary> in readline_
#10 <in qemu binary> in monitor_read (opaque=<optimized out>, buf=<optimized out>, size=<optimized out>) at /home/qemudbg/
#11 <in qemu binary> in qemu_chr_be_write (len=<optimized out>, buf=<in stack> "\n\003", s=<in heap chunk>) at qemu-char.c:165
#12 tcp_chr_read (chan=<optimized out>, cond=<optimized out>, opaque=<in heap chunk>) at qemu-char.c:2487
#13 <in libglib> in g_main_
#14 <in qemu binary> in glib_pollfds_poll () at main-loop.c:190
#15 os_host_
#16 main_loop_wait (nonblocking=
#17 <in qemu binary> in main_loop () at vl.c:2051
#18 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at vl.c:4507
Looks like this had been fixed here: git.qemu. org/?p= qemu.git; a=commitdiff; h=ba2b22888c43f
http://