On Wed, Oct 21, 2009 at 07:44:14PM +0200, Paolo Bonzini wrote: > >>> 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).
Not sure how do you mean. When would I enable the watchpoint? > 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