Il 23/10/2013 21:26, Stefan Weil ha scritto: > Am 23.10.2013 11:00, schrieb Paolo Bonzini: >> Il 23/10/2013 08:39, Michael W. Bombardieri ha scritto: >>> Hi, >>> >>> My newly built qemu/win32 binary (v1.6.1) crashes in qemu-system-i386 and >>> qemu-system-x86_64 when >>> booting from an install CD. >>> >>> C:\Program Files\qemu>qemu-system-x86_64 -boot d -vnc 0.0.0.0:20 -cdrom >>> NetBSD-6.1.2-amd64.iso >>> Assertion failed: qemu_in_coroutine(), file qemu-coroutine-lock.c, line >>> 99 >>> >>> This application has requested the Runtime to terminate it in an >>> unusual way. >>> Please contact the application's support team for more information. >>> >>> I noticed that qemu-system-sparc still booted OpenBSD/sparc 5.3 install CD >>> correctly. >>> No further info at this stage. >>> Any ideas? >> It's a known problem that not everyone can reproduce. Please compile >> with --disable-coroutine-pool on the configure command line. >> >> Paolo > > This patch also helps (at least for me, tested native and on Linux / Wine): > http://repo.or.cz/w/qemu/ar7.git/commit/c777d5d62a729fd8b19847aaa0aad3d7a1f73f47 > > It looks like a compiler problem related to thread local storage > (variable "current").
Ugh. > I recently got several bug reports from a Windows user and included > patches to fix them in > my personal tree http://repo.or.cz/w/qemu/ar7.git. The binaries on > qemu.weilnetz.de > are based on that tree. Does something like CoroutineWin32 *from = DO_UPCAST(CoroutineWin32, base, current); also work? Then we can just remove from_. Paolo