* [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe @ 2018-03-20 17:11 Howard Spoelstra 2018-03-21 11:07 ` Paolo Bonzini 0 siblings, 1 reply; 15+ messages in thread From: Howard Spoelstra @ 2018-03-20 17:11 UTC (permalink / raw) To: qemu-devel qemu-devel Hi, I just built qemu-system-ppc.exe for windows using a fully up-to-date Fedora 27. Command line for build: ./configure --cross-prefix=x86_64-w64-mingw32- --target-list="ppc-softmmu ppc64-softmmu" --enable-gtk --with-gtkabi=3.0 --enable-sdl --with-sdlabi=2.0 Command line to invoke Qemu: C:\qemu-master>qemu-system-ppc.exe -L pc-bios -boot c -m 256 -M mac99 -prom-env "boot-args=-v" -prom-env "auto-boot?=true" -prom-env "vga-ndrv?=true" -drive file=c:\Mac-disks\9.1.img,format=raw,media=disk -netdev user,id=network01 -device sungem,netdev=network01,mac=52:54:00:12:34:66 -sdl -device usb-kbd -device usb-mouse Error: Unexpected error in aio_context_set_poll_params() at util/aio-win32.c:413: qemu-system-ppc.exe: AioContext polling is not implemented on Windows Best, Howard ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe 2018-03-20 17:11 [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe Howard Spoelstra @ 2018-03-21 11:07 ` Paolo Bonzini 2018-03-21 13:13 ` Howard Spoelstra 0 siblings, 1 reply; 15+ messages in thread From: Paolo Bonzini @ 2018-03-21 11:07 UTC (permalink / raw) To: Howard Spoelstra, qemu-devel qemu-devel On 20/03/2018 18:11, Howard Spoelstra wrote: > Hi, > > I just built qemu-system-ppc.exe for windows using a fully up-to-date Fedora 27. > Command line for build: > > ./configure --cross-prefix=x86_64-w64-mingw32- > --target-list="ppc-softmmu ppc64-softmmu" --enable-gtk > --with-gtkabi=3.0 --enable-sdl --with-sdlabi=2.0 > > Command line to invoke Qemu: > C:\qemu-master>qemu-system-ppc.exe -L pc-bios -boot c -m 256 -M mac99 > -prom-env "boot-args=-v" -prom-env "auto-boot?=true" -prom-env > "vga-ndrv?=true" -drive > file=c:\Mac-disks\9.1.img,format=raw,media=disk -netdev > user,id=network01 -device > sungem,netdev=network01,mac=52:54:00:12:34:66 -sdl -device usb-kbd > -device usb-mouse > > Error: > Unexpected error in aio_context_set_poll_params() at util/aio-win32.c:413: > qemu-system-ppc.exe: AioContext polling is not implemented on Windows Can you get a backtrace on the Windows system? Perhaps by putting a breakpoint in aio_context_set_poll_params. Paolo ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe 2018-03-21 11:07 ` Paolo Bonzini @ 2018-03-21 13:13 ` Howard Spoelstra 2018-03-21 13:22 ` Paolo Bonzini 0 siblings, 1 reply; 15+ messages in thread From: Howard Spoelstra @ 2018-03-21 13:13 UTC (permalink / raw) To: Paolo Bonzini; +Cc: qemu-devel qemu-devel > Can you get a backtrace on the Windows system? Perhaps by putting a > breakpoint in aio_context_set_poll_params. > > Paolo I built qemu-master RC0 with --enable-debug. This is what a bt provides: (gdb) attach 9692 Attaching to program `c:\qemu-master\qemu-system-ppc.exe', process 9692 [New Thread 9692.0x670] [New Thread 9692.0x238c] [New Thread 9692.0xb94] [New Thread 9692.0x10bc] [New Thread 9692.0x90c] [New Thread 9692.0x29a0] (gdb) thread apply all bt full Thread 6 (Thread 9692.0x29a0): #0 0x00007ff980ec3811 in ?? () No symbol table info available. #1 0x00007ff980ef020b in ?? () No symbol table info available. Backtrace stopped: previous frame inner to this frame (corrupt stack?) Thread 5 (Thread 9692.0x90c): #0 0x00007ff980ebff04 in ?? () No symbol table info available. #1 0x00007ff97d673b7f in ?? () No symbol table info available. Backtrace stopped: previous frame inner to this frame (corrupt stack?) Thread 4 (Thread 9692.0x10bc): #0 0x00007ff980ec3794 in ?? () No symbol table info available. #1 0x00007ff980e549dd in ?? () No symbol table info available. Backtrace stopped: previous frame inner to this frame (corrupt stack?) Thread 3 (Thread 9692.0xb94): #0 0x00007ff980ec3794 in ?? () ---Type <return> to continue, or q <return> to quit--- No symbol table info available. #1 0x00007ff980e549dd in ?? () No symbol table info available. Backtrace stopped: previous frame inner to this frame (corrupt stack?) Thread 2 (Thread 9692.0x238c): #0 0x00007ff980ec3794 in ?? () No symbol table info available. #1 0x00007ff980e549dd in ?? () No symbol table info available. Backtrace stopped: previous frame inner to this frame (corrupt stack?) Thread 1 (Thread 9692.0x670): #0 0x00007ff980ec09d4 in ?? () No symbol table info available. #1 0x00007ff97d6ba9c6 in ?? () No symbol table info available. Backtrace stopped: previous frame inner to this frame (corrupt stack?) (gdb) Best, Howard ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe 2018-03-21 13:13 ` Howard Spoelstra @ 2018-03-21 13:22 ` Paolo Bonzini 2018-03-21 13:29 ` Howard Spoelstra 0 siblings, 1 reply; 15+ messages in thread From: Paolo Bonzini @ 2018-03-21 13:22 UTC (permalink / raw) To: Howard Spoelstra; +Cc: qemu-devel qemu-devel On 21/03/2018 14:13, Howard Spoelstra wrote: >> Can you get a backtrace on the Windows system? Perhaps by putting a >> breakpoint in aio_context_set_poll_params. >> >> Paolo > > I built qemu-master RC0 with --enable-debug. This is what a bt provides: I am not sure what is happening here, but it is obviously not too helpful. :( Perhaps "gdb --args qemu-system-ppc.exe ..." is better? Thanks, Paolo > (gdb) attach 9692 > Attaching to program `c:\qemu-master\qemu-system-ppc.exe', process 9692 > [New Thread 9692.0x670] > [New Thread 9692.0x238c] > [New Thread 9692.0xb94] > [New Thread 9692.0x10bc] > [New Thread 9692.0x90c] > [New Thread 9692.0x29a0] > (gdb) thread apply all bt full > > Thread 6 (Thread 9692.0x29a0): > #0 0x00007ff980ec3811 in ?? () > No symbol table info available. > #1 0x00007ff980ef020b in ?? () > No symbol table info available. > Backtrace stopped: previous frame inner to this frame (corrupt stack?) > > Thread 5 (Thread 9692.0x90c): > #0 0x00007ff980ebff04 in ?? () > No symbol table info available. > #1 0x00007ff97d673b7f in ?? () > No symbol table info available. > Backtrace stopped: previous frame inner to this frame (corrupt stack?) > > Thread 4 (Thread 9692.0x10bc): > #0 0x00007ff980ec3794 in ?? () > No symbol table info available. > #1 0x00007ff980e549dd in ?? () > No symbol table info available. > Backtrace stopped: previous frame inner to this frame (corrupt stack?) > > Thread 3 (Thread 9692.0xb94): > #0 0x00007ff980ec3794 in ?? () > ---Type <return> to continue, or q <return> to quit--- > No symbol table info available. > #1 0x00007ff980e549dd in ?? () > No symbol table info available. > Backtrace stopped: previous frame inner to this frame (corrupt stack?) > > Thread 2 (Thread 9692.0x238c): > #0 0x00007ff980ec3794 in ?? () > No symbol table info available. > #1 0x00007ff980e549dd in ?? () > No symbol table info available. > Backtrace stopped: previous frame inner to this frame (corrupt stack?) > > Thread 1 (Thread 9692.0x670): > #0 0x00007ff980ec09d4 in ?? () > No symbol table info available. > #1 0x00007ff97d6ba9c6 in ?? () > No symbol table info available. > Backtrace stopped: previous frame inner to this frame (corrupt stack?) > (gdb) > > Best, > Howard > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe 2018-03-21 13:22 ` Paolo Bonzini @ 2018-03-21 13:29 ` Howard Spoelstra 2018-03-21 15:27 ` Paolo Bonzini 0 siblings, 1 reply; 15+ messages in thread From: Howard Spoelstra @ 2018-03-21 13:29 UTC (permalink / raw) To: Paolo Bonzini; +Cc: qemu-devel qemu-devel >> I built qemu-master RC0 with --enable-debug. This is what a bt provides: > > I am not sure what is happening here, but it is obviously not too > helpful. :( Perhaps "gdb --args qemu-system-ppc.exe ..." is better? > > Thanks, > > Paolo Obviously not, but this doesn't make things better... ;-) C:\qemu-debugging>gdb --args c:\qemu-master\qemu-system-ppc.exe -L c:\qemu-master\pc-bios -boot d -m 256 -M mac99 -prom-env "boot-args=-v" -prom-env "auto-boot?=true" -prom-env "vga-ndrv?=true" -drive file=c:\Mac-disks\debian-9.0-powerpc-NETINST-1.iso,format=raw,media=cdrom -device usb-mouse -device usb-kbd -netdev user,id=network01 -device sungem,netdev=network01,mac=52:54:00:12:34:56 -sdl -drive file=c:\Mac-disks\9.2.img,format=raw,media=disk This binary was built by Equation Solution <http://www.Equation.com>. GNU gdb (GDB) 7.12 Copyright (C) 2016 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-w64-mingw32". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from c:\qemu-master\qemu-system-ppc.exe...done. (gdb) thread apply all bt full (gdb) bt No stack. (gdb) Best, Howard ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe 2018-03-21 13:29 ` Howard Spoelstra @ 2018-03-21 15:27 ` Paolo Bonzini 2018-03-21 16:23 ` Howard Spoelstra 0 siblings, 1 reply; 15+ messages in thread From: Paolo Bonzini @ 2018-03-21 15:27 UTC (permalink / raw) To: Howard Spoelstra; +Cc: qemu-devel qemu-devel On 21/03/2018 14:29, Howard Spoelstra wrote: > Obviously not, but this doesn't make things better... ;-) > > C:\qemu-debugging>gdb --args c:\qemu-master\qemu-system-ppc.exe -L > c:\qemu-master\pc-bios -boot d -m 256 -M mac99 -prom-env > "boot-args=-v" -prom-env "auto-boot?=true" -prom-env "vga-ndrv?=true" > -drive file=c:\Mac-disks\debian-9.0-powerpc-NETINST-1.iso,format=raw,media=cdrom > -device usb-mouse -device usb-kbd -netdev user,id=network01 -device > sungem,netdev=network01,mac=52:54:00:12:34:56 -sdl -drive > file=c:\Mac-disks\9.2.img,format=raw,media=disk > This binary was built by Equation Solution <http://www.Equation.com>. > GNU gdb (GDB) 7.12 > Copyright (C) 2016 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-w64-mingw32". > Type "show configuration" for configuration details. > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>. > Find the GDB manual and other documentation resources online at: > <http://www.gnu.org/software/gdb/documentation/>. > For help, type "help". > Type "apropos word" to search for commands related to "word"... > Reading symbols from c:\qemu-master\qemu-system-ppc.exe...done. You need to "r"un the program here. :) Also probably "b aio_context_set_poll_params" is useful before you run the program, to trap the moment in which the function is called. Thanks, Paolo > (gdb) thread apply all bt full > (gdb) bt > No stack. > (gdb) > > Best, > Howard > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe 2018-03-21 15:27 ` Paolo Bonzini @ 2018-03-21 16:23 ` Howard Spoelstra 2018-03-21 16:25 ` Paolo Bonzini 0 siblings, 1 reply; 15+ messages in thread From: Howard Spoelstra @ 2018-03-21 16:23 UTC (permalink / raw) To: Paolo Bonzini; +Cc: qemu-devel qemu-devel > You need to "r"un the program here. :) > > Also probably "b aio_context_set_poll_params" is useful before you run > the program, to trap the moment in which the function is called. > Hi, that got me here: (gdb) run Starting program: c:\qemu-master\qemu-system-ppc.exe -L c:\qemu-master\pc-bios -boot d -m 256 -M mac99 -prom-env "boot-args=-v" -prom-env "auto-boot?=true" -prom-env "vga-ndrv?=true" -drive "file=c:\Mac-disks\debian-9.0-powerpc-NETINST-1.iso,format=raw,media=cdrom" -device usb-mouse -device usb-kbd -netdev "user,id=network01" -device "sungem,netdev=network01,mac=52:54:00:12:34:56" -sdl -drive "file=c:\Mac-disks\9.2.img,format=raw,media=disk" [New Thread 10844.0x24d0] warning: FTH: (10844): *** Fault tolerant heap shim applied to current process. This is usually due to previous crashes. *** [New Thread 10844.0x1224] [New Thread 10844.0x2a30] [New Thread 10844.0x2594] [New Thread 10844.0x32a8] Thread 1 hit Breakpoint 1, aio_context_set_poll_params (ctx=0xc14a9b0, max_ns=32768, grow=0, shrink=0, errp=0x362f968) at util/aio-win32.c:413 413 in util/aio-win32.c (gdb) s error_setg_internal (errp=0x362f968, src=0xe166e0 <__func__.58569+32> "util/aio-win32.c", line=413, func=0xe16740 <__func__.59050> "aio_context_set_poll_params", fmt=0xe16708 <__func__.58569+72> "AioContext polling is not implemented on Windows") at util/error.c:91 91 util/error.c: No such file or directory. (gdb) s 94 in util/error.c ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe 2018-03-21 16:23 ` Howard Spoelstra @ 2018-03-21 16:25 ` Paolo Bonzini 2018-03-21 16:31 ` Howard Spoelstra 0 siblings, 1 reply; 15+ messages in thread From: Paolo Bonzini @ 2018-03-21 16:25 UTC (permalink / raw) To: Howard Spoelstra; +Cc: qemu-devel qemu-devel On 21/03/2018 17:23, Howard Spoelstra wrote: > warning: FTH: (10844): *** Fault tolerant heap shim applied to current > process. This is usually due to previous crashes. *** > [New Thread 10844.0x1224] > [New Thread 10844.0x2a30] > [New Thread 10844.0x2594] > [New Thread 10844.0x32a8] > > Thread 1 hit Breakpoint 1, aio_context_set_poll_params (ctx=0xc14a9b0, > max_ns=32768, grow=0, shrink=0, errp=0x362f968) > at util/aio-win32.c:413 > 413 in util/aio-win32.c > (gdb) s > error_setg_internal (errp=0x362f968, src=0xe166e0 <__func__.58569+32> > "util/aio-win32.c", line=413, > func=0xe16740 <__func__.59050> "aio_context_set_poll_params", > fmt=0xe16708 <__func__.58569+72> "AioContext polling is not > implemented on Windows") at util/error.c:91 > 91 util/error.c: No such file or directory. > (gdb) s > 94 in util/error.c Great! Now do "bt". Paolo ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe 2018-03-21 16:25 ` Paolo Bonzini @ 2018-03-21 16:31 ` Howard Spoelstra 2018-03-21 16:37 ` Paolo Bonzini 0 siblings, 1 reply; 15+ messages in thread From: Howard Spoelstra @ 2018-03-21 16:31 UTC (permalink / raw) To: Paolo Bonzini; +Cc: qemu-devel qemu-devel On Wed, Mar 21, 2018 at 5:25 PM, Paolo Bonzini <pbonzini@redhat.com> wrote: > On 21/03/2018 17:23, Howard Spoelstra wrote: >> warning: FTH: (10844): *** Fault tolerant heap shim applied to current >> process. This is usually due to previous crashes. *** >> [New Thread 10844.0x1224] >> [New Thread 10844.0x2a30] >> [New Thread 10844.0x2594] >> [New Thread 10844.0x32a8] >> >> Thread 1 hit Breakpoint 1, aio_context_set_poll_params (ctx=0xc14a9b0, >> max_ns=32768, grow=0, shrink=0, errp=0x362f968) >> at util/aio-win32.c:413 >> 413 in util/aio-win32.c >> (gdb) s >> error_setg_internal (errp=0x362f968, src=0xe166e0 <__func__.58569+32> >> "util/aio-win32.c", line=413, >> func=0xe16740 <__func__.59050> "aio_context_set_poll_params", >> fmt=0xe16708 <__func__.58569+72> "AioContext polling is not >> implemented on Windows") at util/error.c:91 >> 91 util/error.c: No such file or directory. >> (gdb) s >> 94 in util/error.c > > Great! Now do "bt". > > Paolo (gdb) bt full #0 aio_context_set_poll_params (ctx=0xc16a9b0, max_ns=32768, grow=0, shrink=0, errp=0x362f968) at util/aio-win32.c:413 __func__ = "aio_context_set_poll_params" #1 0x00000000005f7563 in iothread_complete (obj=0xc16a290, errp=0x362fa50) at iothread.c:143 local_error = 0x0 iothread = 0xc16a290 __func__ = "iothread_complete" name = 0xde8be9 <container_info+265> "user-creatable" thread_name = 0x400000000 <error: Cannot access memory at address 0x400000000> #2 0x0000000000831716 in user_creatable_complete (obj=0xc16a290, errp=0x362fa50) at qom/object_interfaces.c:24 ucc = 0x7fec650 uc = 0xc16a290 __func__ = "user_creatable_complete" #3 0x000000000082cde1 in object_new_with_propv (typename=0xc4b14b <__func__.56984+43> "iothread", parent=0xc169e50, id=0xc12494 <__emutls_t.iothread_locked+19167> "mon_iothread", errp=0x14ae260 <error_abort>, vargs=0x362fb20 "") at qom/object.c:555 obj = 0xc16a290 klass = 0x7fec020 local_err = 0x0 __func__ = "object_new_with_propv" #4 0x000000000082cc67 in object_new_with_props (typename=0xc4b14b <__func__.56984+43> "iothread", parent=0xc169e50, id=0xc12494 <__emutls_t.iothread_locked+19167> "mon_iothread", errp=0x14ae260 <error_abort>) at qom/object.c:516 vargs = 0x362fb20 "" obj = 0xd34e26fdf887 #5 0x00000000005f7ced in iothread_create (id=0xc12494 <__emutls_t.iothread_locked+19167> "mon_iothread", ---Type <return> to continue, or q <return> to quit--- errp=0x14ae260 <error_abort>) at iothread.c:352 obj = 0x45bef7 <sortcmdlist+137> __func__ = "iothread_create" #6 0x000000000045bf53 in monitor_iothread_init () at /home/hsp/src/qemu-master/monitor.c:4436 No locals. #7 0x000000000045bfcb in monitor_init_globals () at /home/hsp/src/qemu-master/monitor.c:4464 No locals. #8 0x00000000006064d5 in qemu_main (argc=28, argv=0x5679620, envp=0x0) at vl.c:4545 i = 1 snapshot = 0 linux_boot = 0 initrd_filename = 0x0 kernel_filename = 0x0 kernel_cmdline = 0xc4e286 <runstate_transitions_def+6918> "" boot_order = 0x57052c0 "d" boot_once = 0x0 ds = 0x7ff94aced24c opts = 0x5705100 machine_opts = 0x5705560 icount_opts = 0x0 accel_opts = 0x0 olist = 0xa6e000 <qemu_machine_opts> optind = 28 optarg = 0x56793dd "file=c:\\Mac-disks\\9.2.img,format=raw,media=disk" ---Type <return> to continue, or q <return> to quit--- loadvm = 0x0 machine_class = 0x7fb28f0 cpu_model = 0x0 vga_model = 0x0 qtest_chrdev = 0x0 qtest_log = 0x0 pid_file = 0x0 incoming = 0x0 userconfig = true nographic = false display_remote = 0 log_mask = 0x0 log_file = 0x0 trace_file = 0x0 maxram_size = 268435456 ram_slots = 0 vmstate_dump_file = 0x0 main_loop_err = 0x0 err = 0x0 list_data_dirs = false dir = 0x8026a80 "c:\\qemu-master" dirs = 0x8026980 bdo_queue = {sqh_first = 0x0, sqh_last = 0x362fda0} __func__ = "qemu_main" ---Type <return> to continue, or q <return> to quit--- #9 0x00000000005fc507 in SDL_main (argc=28, argv=0x5679620) at vl.c:43 No locals. #10 0x000000000096e4e8 in main_getcmdline () No symbol table info available. #11 0x00000000004013f7 in __tmainCRTStartup () at ../crt/crtexe.c:334 lock_free = <optimized out> fiberid = <optimized out> nested = <optimized out> lpszCommandLine = <optimized out> StartupInfo = {cb = 104, lpReserved = 0x5787680 "", lpDesktop = 0x57881f0 "Winsta0\\Default", lpTitle = 0x578c000 "c:\\qemu-master\\qemu-system-ppc.exe", dwX = 0, dwY = 0, dwXSize = 0, dwYSize = 0, dwXCountChars = 0, dwYCountChars = 0, dwFillAttribute = 0, dwFlags = 0, wShowWindow = 0, cbReserved2 = 0, lpReserved2 = 0x0, hStdInput = 0xffffffffffffffff, hStdOutput = 0xffffffffffffffff, hStdError = 0xffffffffffffffff} inDoubleQuote = <optimized out> #12 0x00000000004014fb in WinMainCRTStartup () at ../crt/crtexe.c:184 ret = 255 (gdb) Finally ;-) Best, Howard ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe 2018-03-21 16:31 ` Howard Spoelstra @ 2018-03-21 16:37 ` Paolo Bonzini 2018-03-22 5:19 ` Peter Xu 0 siblings, 1 reply; 15+ messages in thread From: Paolo Bonzini @ 2018-03-21 16:37 UTC (permalink / raw) To: Howard Spoelstra; +Cc: qemu-devel qemu-devel, Peter Xu On 21/03/2018 17:31, Howard Spoelstra wrote: > On Wed, Mar 21, 2018 at 5:25 PM, Paolo Bonzini <pbonzini@redhat.com> wrote: >> On 21/03/2018 17:23, Howard Spoelstra wrote: >>> warning: FTH: (10844): *** Fault tolerant heap shim applied to current >>> process. This is usually due to previous crashes. *** >>> [New Thread 10844.0x1224] >>> [New Thread 10844.0x2a30] >>> [New Thread 10844.0x2594] >>> [New Thread 10844.0x32a8] >>> >>> Thread 1 hit Breakpoint 1, aio_context_set_poll_params (ctx=0xc14a9b0, >>> max_ns=32768, grow=0, shrink=0, errp=0x362f968) >>> at util/aio-win32.c:413 >>> 413 in util/aio-win32.c >>> (gdb) s >>> error_setg_internal (errp=0x362f968, src=0xe166e0 <__func__.58569+32> >>> "util/aio-win32.c", line=413, >>> func=0xe16740 <__func__.59050> "aio_context_set_poll_params", >>> fmt=0xe16708 <__func__.58569+72> "AioContext polling is not >>> implemented on Windows") at util/error.c:91 >>> 91 util/error.c: No such file or directory. >>> (gdb) s >>> 94 in util/error.c >> >> Great! Now do "bt". >> >> Paolo > > (gdb) bt full > #0 aio_context_set_poll_params (ctx=0xc16a9b0, max_ns=32768, grow=0, > shrink=0, errp=0x362f968) at util/aio-win32.c:413 > __func__ = "aio_context_set_poll_params" > #1 0x00000000005f7563 in iothread_complete (obj=0xc16a290, > errp=0x362fa50) at iothread.c:143 > local_error = 0x0 > iothread = 0xc16a290 > __func__ = "iothread_complete" > name = 0xde8be9 <container_info+265> "user-creatable" > thread_name = 0x400000000 <error: Cannot access memory at > address 0x400000000> > #2 0x0000000000831716 in user_creatable_complete (obj=0xc16a290, > errp=0x362fa50) at qom/object_interfaces.c:24 > ucc = 0x7fec650 > uc = 0xc16a290 > __func__ = "user_creatable_complete" > #3 0x000000000082cde1 in object_new_with_propv (typename=0xc4b14b > <__func__.56984+43> "iothread", parent=0xc169e50, > id=0xc12494 <__emutls_t.iothread_locked+19167> "mon_iothread", > errp=0x14ae260 <error_abort>, vargs=0x362fb20 "") > at qom/object.c:555 > obj = 0xc16a290 > klass = 0x7fec020 > local_err = 0x0 > __func__ = "object_new_with_propv" > #4 0x000000000082cc67 in object_new_with_props (typename=0xc4b14b > <__func__.56984+43> "iothread", parent=0xc169e50, > id=0xc12494 <__emutls_t.iothread_locked+19167> "mon_iothread", > errp=0x14ae260 <error_abort>) at qom/object.c:516 > vargs = 0x362fb20 "" > obj = 0xd34e26fdf887 > #5 0x00000000005f7ced in iothread_create (id=0xc12494 > <__emutls_t.iothread_locked+19167> "mon_iothread", > ---Type <return> to continue, or q <return> to quit--- > errp=0x14ae260 <error_abort>) at iothread.c:352 > obj = 0x45bef7 <sortcmdlist+137> > __func__ = "iothread_create" > #6 0x000000000045bf53 in monitor_iothread_init () at > /home/hsp/src/qemu-master/monitor.c:4436 > No locals. > #7 0x000000000045bfcb in monitor_init_globals () at > /home/hsp/src/qemu-master/monitor.c:4464 > No locals. > #8 0x00000000006064d5 in qemu_main (argc=28, argv=0x5679620, > envp=0x0) at vl.c:4545 > i = 1 > snapshot = 0 > linux_boot = 0 > initrd_filename = 0x0 > kernel_filename = 0x0 > kernel_cmdline = 0xc4e286 <runstate_transitions_def+6918> "" > boot_order = 0x57052c0 "d" > boot_once = 0x0 > ds = 0x7ff94aced24c > opts = 0x5705100 > machine_opts = 0x5705560 > icount_opts = 0x0 > accel_opts = 0x0 > olist = 0xa6e000 <qemu_machine_opts> > optind = 28 > optarg = 0x56793dd "file=c:\\Mac-disks\\9.2.img,format=raw,media=disk" > ---Type <return> to continue, or q <return> to quit--- > loadvm = 0x0 > machine_class = 0x7fb28f0 > cpu_model = 0x0 > vga_model = 0x0 > qtest_chrdev = 0x0 > qtest_log = 0x0 > pid_file = 0x0 > incoming = 0x0 > userconfig = true > nographic = false > display_remote = 0 > log_mask = 0x0 > log_file = 0x0 > trace_file = 0x0 > maxram_size = 268435456 > ram_slots = 0 > vmstate_dump_file = 0x0 > main_loop_err = 0x0 > err = 0x0 > list_data_dirs = false > dir = 0x8026a80 "c:\\qemu-master" > dirs = 0x8026980 > bdo_queue = {sqh_first = 0x0, sqh_last = 0x362fda0} > __func__ = "qemu_main" > ---Type <return> to continue, or q <return> to quit--- > #9 0x00000000005fc507 in SDL_main (argc=28, argv=0x5679620) at vl.c:43 > No locals. > #10 0x000000000096e4e8 in main_getcmdline () > No symbol table info available. > #11 0x00000000004013f7 in __tmainCRTStartup () at ../crt/crtexe.c:334 > lock_free = <optimized out> > fiberid = <optimized out> > nested = <optimized out> > lpszCommandLine = <optimized out> > StartupInfo = {cb = 104, lpReserved = 0x5787680 "", lpDesktop > = 0x57881f0 "Winsta0\\Default", > lpTitle = 0x578c000 "c:\\qemu-master\\qemu-system-ppc.exe", > dwX = 0, dwY = 0, dwXSize = 0, dwYSize = 0, > dwXCountChars = 0, dwYCountChars = 0, dwFillAttribute = 0, > dwFlags = 0, wShowWindow = 0, cbReserved2 = 0, > lpReserved2 = 0x0, hStdInput = 0xffffffffffffffff, > hStdOutput = 0xffffffffffffffff, > hStdError = 0xffffffffffffffff} > inDoubleQuote = <optimized out> > #12 0x00000000004014fb in WinMainCRTStartup () at ../crt/crtexe.c:184 > ret = 255 > (gdb) > > Finally ;-) Great, thanks. Peter, can you look at it? I think we should: 1) make aio_context_set_poll_params succeed in aio-win32.c if poll_max_ns is zero 2) set IOTHREAD_POLL_MAX_NS_DEFAULT to zero on windows. Paolo ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe 2018-03-21 16:37 ` Paolo Bonzini @ 2018-03-22 5:19 ` Peter Xu 2018-03-22 8:28 ` Howard Spoelstra 2018-03-22 9:14 ` Paolo Bonzini 0 siblings, 2 replies; 15+ messages in thread From: Peter Xu @ 2018-03-22 5:19 UTC (permalink / raw) To: Paolo Bonzini; +Cc: Howard Spoelstra, qemu-devel qemu-devel On Wed, Mar 21, 2018 at 05:37:22PM +0100, Paolo Bonzini wrote: > On 21/03/2018 17:31, Howard Spoelstra wrote: > > On Wed, Mar 21, 2018 at 5:25 PM, Paolo Bonzini <pbonzini@redhat.com> wrote: > >> On 21/03/2018 17:23, Howard Spoelstra wrote: > >>> warning: FTH: (10844): *** Fault tolerant heap shim applied to current > >>> process. This is usually due to previous crashes. *** > >>> [New Thread 10844.0x1224] > >>> [New Thread 10844.0x2a30] > >>> [New Thread 10844.0x2594] > >>> [New Thread 10844.0x32a8] > >>> > >>> Thread 1 hit Breakpoint 1, aio_context_set_poll_params (ctx=0xc14a9b0, > >>> max_ns=32768, grow=0, shrink=0, errp=0x362f968) > >>> at util/aio-win32.c:413 > >>> 413 in util/aio-win32.c > >>> (gdb) s > >>> error_setg_internal (errp=0x362f968, src=0xe166e0 <__func__.58569+32> > >>> "util/aio-win32.c", line=413, > >>> func=0xe16740 <__func__.59050> "aio_context_set_poll_params", > >>> fmt=0xe16708 <__func__.58569+72> "AioContext polling is not > >>> implemented on Windows") at util/error.c:91 > >>> 91 util/error.c: No such file or directory. > >>> (gdb) s > >>> 94 in util/error.c > >> > >> Great! Now do "bt". > >> > >> Paolo > > > > (gdb) bt full > > #0 aio_context_set_poll_params (ctx=0xc16a9b0, max_ns=32768, grow=0, > > shrink=0, errp=0x362f968) at util/aio-win32.c:413 > > __func__ = "aio_context_set_poll_params" > > #1 0x00000000005f7563 in iothread_complete (obj=0xc16a290, > > errp=0x362fa50) at iothread.c:143 > > local_error = 0x0 > > iothread = 0xc16a290 > > __func__ = "iothread_complete" > > name = 0xde8be9 <container_info+265> "user-creatable" > > thread_name = 0x400000000 <error: Cannot access memory at > > address 0x400000000> > > #2 0x0000000000831716 in user_creatable_complete (obj=0xc16a290, > > errp=0x362fa50) at qom/object_interfaces.c:24 > > ucc = 0x7fec650 > > uc = 0xc16a290 > > __func__ = "user_creatable_complete" > > #3 0x000000000082cde1 in object_new_with_propv (typename=0xc4b14b > > <__func__.56984+43> "iothread", parent=0xc169e50, > > id=0xc12494 <__emutls_t.iothread_locked+19167> "mon_iothread", > > errp=0x14ae260 <error_abort>, vargs=0x362fb20 "") > > at qom/object.c:555 > > obj = 0xc16a290 > > klass = 0x7fec020 > > local_err = 0x0 > > __func__ = "object_new_with_propv" > > #4 0x000000000082cc67 in object_new_with_props (typename=0xc4b14b > > <__func__.56984+43> "iothread", parent=0xc169e50, > > id=0xc12494 <__emutls_t.iothread_locked+19167> "mon_iothread", > > errp=0x14ae260 <error_abort>) at qom/object.c:516 > > vargs = 0x362fb20 "" > > obj = 0xd34e26fdf887 > > #5 0x00000000005f7ced in iothread_create (id=0xc12494 > > <__emutls_t.iothread_locked+19167> "mon_iothread", > > ---Type <return> to continue, or q <return> to quit--- > > errp=0x14ae260 <error_abort>) at iothread.c:352 > > obj = 0x45bef7 <sortcmdlist+137> > > __func__ = "iothread_create" > > #6 0x000000000045bf53 in monitor_iothread_init () at > > /home/hsp/src/qemu-master/monitor.c:4436 > > No locals. > > #7 0x000000000045bfcb in monitor_init_globals () at > > /home/hsp/src/qemu-master/monitor.c:4464 > > No locals. > > #8 0x00000000006064d5 in qemu_main (argc=28, argv=0x5679620, > > envp=0x0) at vl.c:4545 > > i = 1 > > snapshot = 0 > > linux_boot = 0 > > initrd_filename = 0x0 > > kernel_filename = 0x0 > > kernel_cmdline = 0xc4e286 <runstate_transitions_def+6918> "" > > boot_order = 0x57052c0 "d" > > boot_once = 0x0 > > ds = 0x7ff94aced24c > > opts = 0x5705100 > > machine_opts = 0x5705560 > > icount_opts = 0x0 > > accel_opts = 0x0 > > olist = 0xa6e000 <qemu_machine_opts> > > optind = 28 > > optarg = 0x56793dd "file=c:\\Mac-disks\\9.2.img,format=raw,media=disk" > > ---Type <return> to continue, or q <return> to quit--- > > loadvm = 0x0 > > machine_class = 0x7fb28f0 > > cpu_model = 0x0 > > vga_model = 0x0 > > qtest_chrdev = 0x0 > > qtest_log = 0x0 > > pid_file = 0x0 > > incoming = 0x0 > > userconfig = true > > nographic = false > > display_remote = 0 > > log_mask = 0x0 > > log_file = 0x0 > > trace_file = 0x0 > > maxram_size = 268435456 > > ram_slots = 0 > > vmstate_dump_file = 0x0 > > main_loop_err = 0x0 > > err = 0x0 > > list_data_dirs = false > > dir = 0x8026a80 "c:\\qemu-master" > > dirs = 0x8026980 > > bdo_queue = {sqh_first = 0x0, sqh_last = 0x362fda0} > > __func__ = "qemu_main" > > ---Type <return> to continue, or q <return> to quit--- > > #9 0x00000000005fc507 in SDL_main (argc=28, argv=0x5679620) at vl.c:43 > > No locals. > > #10 0x000000000096e4e8 in main_getcmdline () > > No symbol table info available. > > #11 0x00000000004013f7 in __tmainCRTStartup () at ../crt/crtexe.c:334 > > lock_free = <optimized out> > > fiberid = <optimized out> > > nested = <optimized out> > > lpszCommandLine = <optimized out> > > StartupInfo = {cb = 104, lpReserved = 0x5787680 "", lpDesktop > > = 0x57881f0 "Winsta0\\Default", > > lpTitle = 0x578c000 "c:\\qemu-master\\qemu-system-ppc.exe", > > dwX = 0, dwY = 0, dwXSize = 0, dwYSize = 0, > > dwXCountChars = 0, dwYCountChars = 0, dwFillAttribute = 0, > > dwFlags = 0, wShowWindow = 0, cbReserved2 = 0, > > lpReserved2 = 0x0, hStdInput = 0xffffffffffffffff, > > hStdOutput = 0xffffffffffffffff, > > hStdError = 0xffffffffffffffff} > > inDoubleQuote = <optimized out> > > #12 0x00000000004014fb in WinMainCRTStartup () at ../crt/crtexe.c:184 > > ret = 255 > > (gdb) > > > > Finally ;-) > > Great, thanks. Peter, can you look at it? I think we should: > > 1) make aio_context_set_poll_params succeed in aio-win32.c if > poll_max_ns is zero > > 2) set IOTHREAD_POLL_MAX_NS_DEFAULT to zero on windows. Thanks Paolo! Hi, Howard, Thanks for reporting the problem. Could you try applying below patch to your rc0 tree and rebuild QEMU, to see whether it fixes your problem? ----------------------------- diff --git a/iothread.c b/iothread.c index 1b3463cb00..9f52270ae1 100644 --- a/iothread.c +++ b/iothread.c @@ -31,11 +31,15 @@ typedef ObjectClass IOThreadClass; #define IOTHREAD_CLASS(klass) \ OBJECT_CLASS_CHECK(IOThreadClass, klass, TYPE_IOTHREAD) +#ifdef CONFIG_LINUX /* Benchmark results from 2016 on NVMe SSD drives show max polling times around * 16-32 microseconds yield IOPS improvements for both iodepth=1 and iodepth=32 * workloads. */ #define IOTHREAD_POLL_MAX_NS_DEFAULT 32768ULL +#else +#define IOTHREAD_POLL_MAX_NS_DEFAULT 0ULL +#endif static __thread IOThread *my_iothread; diff --git a/util/aio-win32.c b/util/aio-win32.c index d6d5e02f00..a67b00c6ad 100644 --- a/util/aio-win32.c +++ b/util/aio-win32.c @@ -410,5 +410,7 @@ void aio_context_setup(AioContext *ctx) void aio_context_set_poll_params(AioContext *ctx, int64_t max_ns, int64_t grow, int64_t shrink, Error **errp) { - error_setg(errp, "AioContext polling is not implemented on Windows"); + if (max_ns) { + error_setg(errp, "AioContext polling is not implemented on Windows"); + } } ----------------------------- Thanks, -- Peter Xu ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe 2018-03-22 5:19 ` Peter Xu @ 2018-03-22 8:28 ` Howard Spoelstra 2018-03-22 8:52 ` Peter Xu 2018-03-22 9:14 ` Paolo Bonzini 1 sibling, 1 reply; 15+ messages in thread From: Howard Spoelstra @ 2018-03-22 8:28 UTC (permalink / raw) To: Peter Xu; +Cc: Paolo Bonzini, qemu-devel qemu-devel > Hi, Howard, > > Thanks for reporting the problem. Could you try applying below patch > to your rc0 tree and rebuild QEMU, to see whether it fixes your problem? > > ----------------------------- > diff --git a/iothread.c b/iothread.c > index 1b3463cb00..9f52270ae1 100644 > --- a/iothread.c > +++ b/iothread.c > @@ -31,11 +31,15 @@ typedef ObjectClass IOThreadClass; > #define IOTHREAD_CLASS(klass) \ > OBJECT_CLASS_CHECK(IOThreadClass, klass, TYPE_IOTHREAD) > > +#ifdef CONFIG_LINUX > /* Benchmark results from 2016 on NVMe SSD drives show max polling times around > * 16-32 microseconds yield IOPS improvements for both iodepth=1 and iodepth=32 > * workloads. > */ > #define IOTHREAD_POLL_MAX_NS_DEFAULT 32768ULL > +#else > +#define IOTHREAD_POLL_MAX_NS_DEFAULT 0ULL > +#endif > > static __thread IOThread *my_iothread; > > diff --git a/util/aio-win32.c b/util/aio-win32.c > index d6d5e02f00..a67b00c6ad 100644 > --- a/util/aio-win32.c > +++ b/util/aio-win32.c > @@ -410,5 +410,7 @@ void aio_context_setup(AioContext *ctx) > void aio_context_set_poll_params(AioContext *ctx, int64_t max_ns, > int64_t grow, int64_t shrink, Error **errp) > { > - error_setg(errp, "AioContext polling is not implemented on Windows"); > + if (max_ns) { > + error_setg(errp, "AioContext polling is not implemented on Windows"); > + } > } > ----------------------------- > > Thanks, > > -- > Peter Xu Hi Peter, Thanks, that patch does indeed fix the problem. Best, Howard ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe 2018-03-22 8:28 ` Howard Spoelstra @ 2018-03-22 8:52 ` Peter Xu 0 siblings, 0 replies; 15+ messages in thread From: Peter Xu @ 2018-03-22 8:52 UTC (permalink / raw) To: Howard Spoelstra; +Cc: Paolo Bonzini, qemu-devel qemu-devel On Thu, Mar 22, 2018 at 09:28:34AM +0100, Howard Spoelstra wrote: > > Hi, Howard, > > > > Thanks for reporting the problem. Could you try applying below patch > > to your rc0 tree and rebuild QEMU, to see whether it fixes your problem? > > > > ----------------------------- > > diff --git a/iothread.c b/iothread.c > > index 1b3463cb00..9f52270ae1 100644 > > --- a/iothread.c > > +++ b/iothread.c > > @@ -31,11 +31,15 @@ typedef ObjectClass IOThreadClass; > > #define IOTHREAD_CLASS(klass) \ > > OBJECT_CLASS_CHECK(IOThreadClass, klass, TYPE_IOTHREAD) > > > > +#ifdef CONFIG_LINUX > > /* Benchmark results from 2016 on NVMe SSD drives show max polling times around > > * 16-32 microseconds yield IOPS improvements for both iodepth=1 and iodepth=32 > > * workloads. > > */ > > #define IOTHREAD_POLL_MAX_NS_DEFAULT 32768ULL > > +#else > > +#define IOTHREAD_POLL_MAX_NS_DEFAULT 0ULL > > +#endif > > > > static __thread IOThread *my_iothread; > > > > diff --git a/util/aio-win32.c b/util/aio-win32.c > > index d6d5e02f00..a67b00c6ad 100644 > > --- a/util/aio-win32.c > > +++ b/util/aio-win32.c > > @@ -410,5 +410,7 @@ void aio_context_setup(AioContext *ctx) > > void aio_context_set_poll_params(AioContext *ctx, int64_t max_ns, > > int64_t grow, int64_t shrink, Error **errp) > > { > > - error_setg(errp, "AioContext polling is not implemented on Windows"); > > + if (max_ns) { > > + error_setg(errp, "AioContext polling is not implemented on Windows"); > > + } > > } > > ----------------------------- > > > > Thanks, > > > > -- > > Peter Xu > > Hi Peter, > > Thanks, that patch does indeed fix the problem. Thank you for testing that. I'll post a formal patch soon. Hopefully it can reach rc1. > > Best, > Howard -- Peter Xu ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe 2018-03-22 5:19 ` Peter Xu 2018-03-22 8:28 ` Howard Spoelstra @ 2018-03-22 9:14 ` Paolo Bonzini 2018-03-22 10:06 ` Peter Xu 1 sibling, 1 reply; 15+ messages in thread From: Paolo Bonzini @ 2018-03-22 9:14 UTC (permalink / raw) To: Peter Xu; +Cc: qemu-devel qemu-devel, Howard Spoelstra On 22/03/2018 06:19, Peter Xu wrote: > +#ifdef CONFIG_LINUX > /* Benchmark results from 2016 on NVMe SSD drives show max polling times around > * 16-32 microseconds yield IOPS improvements for both iodepth=1 and iodepth=32 > * workloads. > */ > #define IOTHREAD_POLL_MAX_NS_DEFAULT 32768ULL POSIX, not Linux. :) I'll fix it myself. Paolo ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe 2018-03-22 9:14 ` Paolo Bonzini @ 2018-03-22 10:06 ` Peter Xu 0 siblings, 0 replies; 15+ messages in thread From: Peter Xu @ 2018-03-22 10:06 UTC (permalink / raw) To: Paolo Bonzini; +Cc: qemu-devel qemu-devel, Howard Spoelstra On Thu, Mar 22, 2018 at 10:14:19AM +0100, Paolo Bonzini wrote: > On 22/03/2018 06:19, Peter Xu wrote: > > +#ifdef CONFIG_LINUX > > /* Benchmark results from 2016 on NVMe SSD drives show max polling times around > > * 16-32 microseconds yield IOPS improvements for both iodepth=1 and iodepth=32 > > * workloads. > > */ > > #define IOTHREAD_POLL_MAX_NS_DEFAULT 32768ULL > > POSIX, not Linux. :) I'll fix it myself. Oops... Thanks. :) -- Peter Xu ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2018-03-22 10:06 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-03-20 17:11 [Qemu-devel] Bug AioContext polling is not implemented on Windows with qemu-system-ppc.exe Howard Spoelstra 2018-03-21 11:07 ` Paolo Bonzini 2018-03-21 13:13 ` Howard Spoelstra 2018-03-21 13:22 ` Paolo Bonzini 2018-03-21 13:29 ` Howard Spoelstra 2018-03-21 15:27 ` Paolo Bonzini 2018-03-21 16:23 ` Howard Spoelstra 2018-03-21 16:25 ` Paolo Bonzini 2018-03-21 16:31 ` Howard Spoelstra 2018-03-21 16:37 ` Paolo Bonzini 2018-03-22 5:19 ` Peter Xu 2018-03-22 8:28 ` Howard Spoelstra 2018-03-22 8:52 ` Peter Xu 2018-03-22 9:14 ` Paolo Bonzini 2018-03-22 10:06 ` Peter Xu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).