On 1 February 2013 12:14, Christopher Friedt <chrisfri...@gmail.com> wrote: > I've been digging through a bunch of runtime errors in OS X. One of > them was an EXC_BAD_ACCESS (segfault) caused by some code in > main-loop.c that accessed uninitialized stack variables. Please see > the attached patch. The problem still exists in the master branch of > the git repository.
That struct sigaction is not used uninitialised -- we pass a pointer to it as the third arg to sigaction(), which fills it in for us. OSX generally works for me, with some caveats: * current master doesn't compile because of a recent patch related to ffsl; this should be fixed soon I hope * running under gdb seems to cause failures which don't happen running not under a debugger. In particular it seems that sigwait() is broken by gdb (?!?) in a way that means it can return zero without setting *sig. A lack of error checking on the return value from sigaction() in sigfd_handler() means we then go off into the weeds. * for some reason sending qemu a SIGTERM doesn't cause us to terminate. I've had difficulty tracking down the issues due to the aforementioned tendency of macos gdb to bork signalhandling of the debuggee. PS: you might like to read our guidelines for patch submission; your patch failed several of them... http://wiki.qemu.org/Contribute/SubmitAPatch thanks -- PMM