|
From: | Paolo Bonzini |
Subject: | [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat" |
Date: | Wed, 21 Oct 2009 19:44:14 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.4pre) Gecko/20091014 Fedora/3.0-2.8.b4.fc11 Lightning/1.0pre Thunderbird/3.0b4 |
I suggest trying to make the sigset_t static, since that generates exactly the same code as the "nohang" case, and exactly the same stack layout as the "hang" case.
(In case this wasn't clear: the sigfillset of a static sigset_t should hang, proving that it's stack layout that comes to the rescue).
The next obvious step would be placing a watchpoint somewhere.Yes, but where?
At every word of the sigset (using gdb commands to disable/enable the watchpoints around the sigfillset, you avoid spurious triggers). One of those words will be overwritten if an overrun would have smashed the stack. If it does not fire, s/sigfillset/sigemptyset/ in case it was writing 0xffffffff. If it still does not fire, dunno. :-(
Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |