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

Reply via email to