Skip to content

Instantly share code, notes, and snippets.

@benjamn
Created May 28, 2010 21:52
Show Gist options
  • Save benjamn/417806 to your computer and use it in GitHub Desktop.
Save benjamn/417806 to your computer and use it in GitHub Desktop.
union PrimVariant {
void_t;
null_t;
bool;
int;
double;
nsString;
PHandle;
};
struct KeyValue {
nsString key;
Variant value;
};
union CompVariantValue {
KeyValue[];
Variant[];
void_t; // treat id as a reference
};
struct CompVariant {
CompVariantValue value;
int id;
};
union Variant {
PrimVariant;
CompVariant;
};
(gdb) bt
#0 0x00002b5fce3d035d in nanosleep () from /lib/libc.so.6
#1 0x00002b5fce3d01d0 in sleep () from /lib/libc.so.6
#2 0x00002b5fcad4f0bf in ah_crap_handler (signum=6)
at /home/ben/dev/multi-jetpack/toolkit/xre/nsSigHandlers.cpp:132
#3 0x00002b5fcad4f10a in child_ah_crap_handler (signum=6)
at /home/ben/dev/multi-jetpack/toolkit/xre/nsSigHandlers.cpp:145
#4 <signal handler called>
#5 0x00002b5fce359a75 in raise () from /lib/libc.so.6
#6 0x00002b5fce35d5c0 in abort () from /lib/libc.so.6
#7 0x00002b5fca53d455 in mozalloc_abort (
msg=0x7fffee3e52b0 "###!!! ABORT: invalid type tag: '(T__First) <= (mType)', file ../../ipc/ipdl/_ipdlheaders/mozilla/jetpack/PJetpack.h, line 598")
at /home/ben/dev/multi-jetpack/memory/mozalloc/mozalloc_abort.cpp:73
#8 0x00002b5fcc28cbb3 in Abort (
aMsg=0x7fffee3e52b0 "###!!! ABORT: invalid type tag: '(T__First) <= (mType)', file ../../ipc/ipdl/_ipdlheaders/mozilla/jetpack/PJetpack.h, line 598")
at /home/ben/dev/multi-jetpack/xpcom/base/nsDebugImpl.cpp:371
#9 0x00002b5fcc28cac1 in NS_DebugBreak_P (aSeverity=3, aStr=0x2b5fcc83f5fd "invalid type tag",
aExpr=0x2b5fcc83f5e7 "(T__First) <= (mType)",
aFile=0x2b5fcc83f5b0 "../../ipc/ipdl/_ipdlheaders/mozilla/jetpack/PJetpack.h", aLine=598)
at /home/ben/dev/multi-jetpack/xpcom/base/nsDebugImpl.cpp:329
#10 0x00002b5fcbdbd83e in mozilla::jetpack::CompVariantValue::AssertSanity (this=0x2b5fd671bd10)
at ../../ipc/ipdl/_ipdlheaders/mozilla/jetpack/PJetpack.h:598
#11 0x00002b5fcbdbe595 in mozilla::jetpack::CompVariantValue::operator= (this=0x2b5fd671bd30, aRhs=...)
at ../../ipc/ipdl/_ipdlheaders/mozilla/jetpack/PJetpack.h:1873
#12 0x00002b5fcbdbe7ea in mozilla::jetpack::CompVariant::Assign (this=0x2b5fd671bd20, _value=...,
_id=@0x7fffee3e57f8) at ../../ipc/ipdl/_ipdlheaders/mozilla/jetpack/PJetpack.h:1997
#13 0x00002b5fcbdbda3f in mozilla::jetpack::CompVariant::operator= (this=0x2b5fd671bd20, _o=...)
at ../../ipc/ipdl/_ipdlheaders/mozilla/jetpack/PJetpack.h:762
#14 0x00002b5fcbdbea19 in mozilla::jetpack::Variant::operator= (this=0x2b5fd67081f8, aRhs=...)
at ../../ipc/ipdl/_ipdlheaders/mozilla/jetpack/PJetpack.h:2095
#15 0x00002b5fcc1a7a54 in mozilla::jetpack::PJetpackChild::Read (this=0x2b5fd673a190, __v=0x2b5fd67081f8,
__msg=0x2b5fd674f1d0, __iter=0x7fffee3e58e8) at PJetpackChild.cpp:1011
#16 0x00002b5fcc1a7891 in mozilla::jetpack::PJetpackChild::Read (this=0x2b5fd673a190, __v=0x7fffee3e5900,
__msg=0x2b5fd674f1d0, __iter=0x7fffee3e58e8) at PJetpackChild.cpp:957
#17 0x00002b5fcc1a5b40 in mozilla::jetpack::PJetpackChild::OnMessageReceived (this=0x2b5fd673a190,
__msg=...) at PJetpackChild.cpp:246
#18 0x00002b5fcc0fae37 in mozilla::ipc::AsyncChannel::OnDispatchMessage (this=0x2b5fd673a1a0, msg=...)
at /home/ben/dev/multi-jetpack/ipc/glue/AsyncChannel.cpp:261
#19 0x00002b5fcc0fc54b in DispatchToMethod<mozilla::ipc::AsyncChannel, void (mozilla::ipc::AsyncChannel::*)(IPC::Message const&), IPC::Message> (obj=0x2b5fd673a1a0,
method=0x2b5fcc0facfa <mozilla::ipc::AsyncChannel::OnDispatchMessage(IPC::Message const&)>, arg=...)
at /home/ben/dev/multi-jetpack/ipc/chromium/src/base/tuple.h:393
#20 0x00002b5fcc0fc280 in RunnableMethod<mozilla::ipc::AsyncChannel, void (mozilla::ipc::AsyncChannel::*)(IPC::Message const&), Tuple1<IPC::Message> >::Run (this=0x2b5fd674f1a0)
at /home/ben/dev/multi-jetpack/ipc/chromium/src/base/task.h:307
#21 0x00002b5fcc2f89e2 in MessageLoop::RunTask (this=0x7fffee3e6fe0, task=0x2b5fd674f1a0)
at /home/ben/dev/multi-jetpack/ipc/chromium/src/base/message_loop.cc:336
#22 0x00002b5fcc2f8a52 in MessageLoop::DeferOrRunPendingTask (this=0x7fffee3e6fe0, pending_task=...)
at /home/ben/dev/multi-jetpack/ipc/chromium/src/base/message_loop.cc:344
#23 0x00002b5fcc2f8e50 in MessageLoop::DoWork (this=0x7fffee3e6fe0)
at /home/ben/dev/multi-jetpack/ipc/chromium/src/base/message_loop.cc:444
#24 0x00002b5fcc36cfe5 in base::MessagePumpForUI::HandleDispatch (this=0x2b5fd6738140)
at /home/ben/dev/multi-jetpack/ipc/chromium/src/base/message_pump_glib.cc:264
#25 0x00002b5fcc36c64b in WorkSourceDispatch (source=0x2b5fd6735080, unused_func=0, unused_data=0x0)
at /home/ben/dev/multi-jetpack/ipc/chromium/src/base/message_pump_glib.cc:109
#26 0x00002b5fd0d608c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#27 0x00002b5fd0d64748 in ?? () from /lib/libglib-2.0.so.0
#28 0x00002b5fd0d648fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#29 0x00002b5fcc36cd15 in base::MessagePumpForUI::RunWithDispatcher (this=0x2b5fd6738140,
delegate=0x7fffee3e6fe0, dispatcher=0x0)
at /home/ben/dev/multi-jetpack/ipc/chromium/src/base/message_pump_glib.cc:195
#30 0x00002b5fcc36d3aa in base::MessagePumpForUI::Run (this=0x2b5fd6738140, delegate=0x7fffee3e6fe0)
at /home/ben/dev/multi-jetpack/ipc/chromium/src/base/message_pump_glib.h:59
#31 0x00002b5fcc2f84ed in MessageLoop::RunInternal (this=0x7fffee3e6fe0)
at /home/ben/dev/multi-jetpack/ipc/chromium/src/base/message_loop.cc:216
#32 0x00002b5fcc2f8472 in MessageLoop::RunHandler (this=0x7fffee3e6fe0)
at /home/ben/dev/multi-jetpack/ipc/chromium/src/base/message_loop.cc:199
#33 0x00002b5fcc2f8403 in MessageLoop::Run (this=0x7fffee3e6fe0)
at /home/ben/dev/multi-jetpack/ipc/chromium/src/base/message_loop.cc:173
#34 0x00002b5fcad4feb5 in XRE_InitChildProcess (aArgc=1, aArgv=0x7fffee3e7348,
aProcess=GeckoProcessType_Jetpack) at /home/ben/dev/multi-jetpack/toolkit/xre/nsEmbedFunctions.cpp:420
#35 0x0000000000401850 in main (argc=3, argv=0x7fffee3e7348)
at /home/ben/dev/multi-jetpack/ipc/app/MozillaRuntimeMain.cpp:87
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment