Thanks Luke for the explanation. Good to hear my patches are in the clear. :-)

Luke Wagner wrote:
Given that, in my experience, these non-fatal assertions happen all the
time, I'm surprised we don't see this crash more often and that makes me
think I'm missing a piece of the story here.  Perhaps devs do hit these
crashes and then fix the root cause of the assertion instead (yea for fatal
assertions!)?

Yeah, that surprises me too.

Instead, perhaps the fix is to change nsStackWalk.cpp to sanity check that
'bp' is in the thread's stack range (returning NS_ERROR_UNEXPECTED if
outside the range)?  It looks like we already have __libc_stack_end and the
initial bp to use as the range.  Perhaps you could try this and see if it
fixes the crash?

Isn't that check already made in the if statement on line 901? Although in my build (and presumably on the build machines) HAVE___LIBC_STACK_END is 0 and I think the condition for setting HAVE___LIBC_STACK_END looks wrong anyway. I've filed bug 1120047 for that.
_______________________________________________
dev-tech-js-engine-internals mailing list
dev-tech-js-engine-internals@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to