I am trying to analyze the cause of ASSERTION messages in the session log of "make mozmill" run of debug build of TB (comm-central).
Often the original coder would like to know where the function, which issues ASSERTION, is made. Fair enough. However, the built-in traceback display is a little obscure. I am not sure if this is a bug or limitation of the traceback (maybe we are hitting JIT-compiled binary or something? I think valgrind has a better backtrace [most of the time]. I wonder what is the difference.] to wit: Note the "UNKNOWN" in the trace. ###!!! ASSERTION: Bad position passed to nsJISx4051LineBreaker::Next aLen (0) <= aPos(0): 'aLen > aPos', file /TB-NEW/TB-3HG/new-src/mozilla/intl/lwbrk/src/nsJISx4501LineBreaker.cpp, line 798 UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x0057A96F] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x01EBE397] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x01EC3B49] NS_InvokeByIndex_P+0x00000030 [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x025AEE04] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x0167819C] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x01678B91] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x0168003C] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02DCA06F] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02DD791D] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02DD1407] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02DD6B59] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02DD797C] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02D77919] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02DCA06F] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02DD791D] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02DD8314] js::BaseProxyHandler::call(JSContext*, JSObject*, unsigned int, JS::Value*)+0x000000EA [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02E37DB2] js::Wrapper::call(JSContext*, JSObject*, unsigned int, JS::Value*)+0x00000094 [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02EE1A4A] js::CrossCompartmentWrapper::call(JSContext*, JSObject*, unsigned int, JS::Value*)+0x0000017D [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02EE4EDD] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02E3E150] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02E3E1CC] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02DCA06F] UNKNOWN [/TB-NEW/TB-3HG/objdir-tb3/mozilla/dist/bin/libxul.so +0x02DD7B39] To me, NS_InvokeByIndex_P suggests some type of function pointer table or something and the call is made from there. But I don't know the details. The full log is in Bug ASSERTION: Bad position passed to nsJISx4051LineBreaker::Next: 'aLen > aPos', file ./mozilla/intl/lwbrk/src/nsJISx4501LineBreaker.cpp https://bugzilla.mozilla.org/show_bug.cgi?id=827061 If we can coerce the built-in traceback function to print something more meaningful, or if someone can suggest a way to attach gdb to a run of TB during "make mozmill" session so that I can get a meaningful backtrace [*IF* gdb can work out meaningful backtrace under the circumstances], that would be appreciated. TIA _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform