(gdb) t a a ba

Thread 7 (Thread 0x7f8caa4c5700 (LWP 1933)):
#0  0x00000037d80e6af3 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x0000003d6a044fd8 in g_main_context_poll (n_fds=1, fds=0x7f8ca4001170, priority=<optimized out>, timeout=-1, context=0x202ded0) at gmain.c:3402
#2  g_main_context_iterate (context=0x202ded0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3084
#3  0x0000003d6a045815 in g_main_loop_run (loop=0x7f8ca4001150) at gmain.c:3297
#4  0x00007f8caa4ca9fb in dconf_context_thread (data=0x202ded0) at dconfcontext.c:11
#5  0x0000003d6a06a226 in g_thread_create_proxy (data=0x202dfc0) at gthread.c:1962
#6  0x00000037d8407d90 in start_thread (arg=0x7f8caa4c5700) at pthread_create.c:309
#7  0x00000037d80ef48d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 6 (Thread 0x7f8ca9899700 (LWP 1934)):
#0  0x00000037d80e6af3 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x0000003d6a044fd8 in g_main_context_poll (n_fds=5, fds=0x7f8c9c003890, priority=<optimized out>, timeout=-1, context=0x7f8ca400d0a0) at gmain.c:3402
#2  g_main_context_iterate (context=0x7f8ca400d0a0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3084
#3  0x0000003d6a045815 in g_main_loop_run (loop=0x7f8ca400d050) at gmain.c:3297
#4  0x0000003d6b0bed86 in gdbus_shared_thread_func (user_data=0x7f8ca400d070) at gdbusprivate.c:276
#5  0x0000003d6a06a226 in g_thread_create_proxy (data=0x7f8ca400d190) at gthread.c:1962
#6  0x00000037d8407d90 in start_thread (arg=0x7f8ca9899700) at pthread_create.c:309
#7  0x00000037d80ef48d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 5 (Thread 0x7f8ca9098700 (LWP 1935)):
#0  0x00000037d80e6af3 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x0000003469c2c08f in poll_func (ufds=0x7f8ca0001460, nfds=2, timeout=-1, userdata=0x2047cb0) at pulse/thread-mainloop.c:75
#2  0x0000003469c1df06 in pa_mainloop_poll (m=0x204f990) at pulse/mainloop.c:879
#3  0x0000003469c1e539 in pa_mainloop_iterate (m=0x204f990, block=<optimized out>, retval=0x0) at pulse/mainloop.c:961
#4  0x0000003469c1e5f0 in pa_mainloop_run (m=0x204f990, retval=0x0) at pulse/mainloop.c:979
#5  0x0000003469c2c03f in thread (userdata=0x20483a0) at pulse/thread-mainloop.c:94
#6  0x0000003469838be8 in internal_thread_func (userdata=0x2052d30) at pulsecore/thread-posix.c:83
#7  0x00000037d8407d90 in start_thread (arg=0x7f8ca9098700) at pthread_create.c:309
#8  0x00000037d80ef48d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7f8ca8897700 (LWP 1936)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x00000037e8823350 in PR_WaitCondVar (cvar=0x20c26d0, timeout=4294967295) at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:417
#2  0x00000038204b5ab7 in js::GCHelperThread::threadLoop (this=0x205b418, rt=0x205b1a0) at jsgc.cpp:2084
#3  0x00000037e8828713 in _pt_root (arg=0x20c2770) at ../../../mozilla/nsprpub/pr/src/pthreads/ptthread.c:187
#4  0x00000037d8407d90 in start_thread (arg=0x7f8ca8897700) at pthread_create.c:309
#5  0x00000037d80ef48d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7f8c967ff700 (LWP 2261)):
#0  0x00000037d80e6af3 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x0000003469c2c08f in poll_func (ufds=0x7f8c90013d60, nfds=2, timeout=-1, userdata=0x2c34550) at pulse/thread-mainloop.c:75
#2  0x0000003469c1df06 in pa_mainloop_poll (m=0x2de19a0) at pulse/mainloop.c:879
#3  0x0000003469c1e539 in pa_mainloop_iterate (m=0x2de19a0, block=<optimized out>, retval=0x0) at pulse/mainloop.c:961
#4  0x0000003469c1e5f0 in pa_mainloop_run (m=0x2de19a0, retval=0x0) at pulse/mainloop.c:979
#5  0x0000003469c2c03f in thread (userdata=0x2c12730) at pulse/thread-mainloop.c:94
#6  0x0000003469838be8 in internal_thread_func (userdata=0x2c49db0) at pulsecore/thread-posix.c:83
#7  0x00000037d8407d90 in start_thread (arg=0x7f8c967ff700) at pthread_create.c:309
#8  0x00000037d80ef48d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7f8c87fdc700 (LWP 2439)):
#0  0x00000037d840e62d in read () at ../sysdeps/unix/syscall-template.S:82
#1  0x0000003d6a040b93 in read (__nbytes=128, __buf=0x7f8c87fdbb30, __fd=<optimized out>) at /usr/include/bits/unistd.h:45
#2  unix_signal_helper_thread (data=<optimized out>) at gmain.c:4567
#3  0x0000003d6a06a226 in g_thread_create_proxy (data=0x288df70) at gthread.c:1962
#4  0x00000037d8407d90 in start_thread (arg=0x7f8c87fdc700) at pthread_create.c:309
#5  0x00000037d80ef48d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7f8cb27d09c0 (LWP 1932)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x00000037e8823350 in PR_WaitCondVar (cvar=0x20c2680, timeout=4294967295) at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:417
#2  0x00000038204afa8a in AutoGCSession::AutoGCSession (this=<optimized out>, cx=0x20cbab0) at jsgc.cpp:2668
#3  0x00000038204b77f0 in GCUntilDone (gckind=GC_NORMAL, comp=0x0, cx=0x20cbab0) at jsgc.cpp:2721
#4  js_GC (cx=0x20cbab0, comp=0x0, gckind=GC_NORMAL) at jsgc.cpp:2824
#5  0x00000034688330c1 in run_leisure_functions (data=0x2012100) at shell-global.c:1441
#6  0x0000003d6a044acd in g_main_dispatch (context=0xd91c50) at gmain.c:2441
#7  g_main_context_dispatch (context=0xd91c50) at gmain.c:3011
#8  0x0000003d6a0452c8 in g_main_context_iterate (context=0xd91c50, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3089
#9  0x0000003d6a045815 in g_main_loop_run (loop=0xd944e0) at gmain.c:3297
#10 0x0000003468056ab1 in meta_run () at core/main.c:555
#11 0x00000000004029e1 in main (argc=1, argv=0x7fff90a28bf8) at main.c:571
(gdb) f 0
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
165	62:	movl	(%rsp), %edi
(gdb) f 2
#2  0x00000038204afa8a in AutoGCSession::AutoGCSession (this=<optimized out>, cx=0x20cbab0) at jsgc.cpp:2668
2668	            JS_AWAIT_REQUEST_DONE(rt);
(gdb) print *rt
$2 = {atomsCompartment = 0x205ba90, atomsCompartmentIsLocked = false, compartments = {<js::SystemAllocPolicy> = {<No data fields>}, static sElemIsPod = false, 
    static sMaxInlineBytes = 1024, static sInlineCapacity = 0, static sInlineBytes = 1, mBegin = 0x214a0b0, mLength = 2, mCapacity = 2, storage = {u = {bytes = "", _ = 
    0}}}, state = JSRTS_UP, cxCallback = 0, compartmentCallback = 0, activityCallback = 0, activityCallbackArg = 0x0, protoHazardShape = 17687, gcChunkSet = {impl = 
    {<js::SystemAllocPolicy> = {<No data fields>}, hashShift = 27, tableCapacity = 32, entryCount = 4, gen = 0, removedCount = 0, table = 0x20b8fb0, 
      static sMinSizeLog2 = <optimized out>, static sMinSize = <optimized out>, static sSizeLimit = <optimized out>, static sHashBits = <optimized out>, 
      static sMinAlphaFrac = <optimized out>, static sMaxAlphaFrac = <optimized out>, static sInvMaxAlpha = <optimized out>, static sGoldenRatio = <optimized out>, 
      static sCollisionBit = <optimized out>, static sFreeKey = <optimized out>, static sRemovedKey = <optimized out>}}, gcRootsHash = {impl = 
    {<js::SystemAllocPolicy> = {<No data fields>}, hashShift = 28, tableCapacity = 16, entryCount = 6, gen = 1037, removedCount = 1, table = 0x428e000, 
      static sMinSizeLog2 = <optimized out>, static sMinSize = <optimized out>, static sSizeLimit = <optimized out>, static sHashBits = <optimized out>, 
      static sMinAlphaFrac = <optimized out>, static sMaxAlphaFrac = <optimized out>, static sInvMaxAlpha = <optimized out>, static sGoldenRatio = <optimized out>, 
      static sCollisionBit = <optimized out>, static sFreeKey = <optimized out>, static sRemovedKey = <optimized out>}}, gcLocksHash = {impl = 
    {<js::SystemAllocPolicy> = {<No data fields>}, hashShift = 23, tableCapacity = 512, entryCount = 0, gen = 0, removedCount = 0, table = 0x20bd1d0, 
      static sMinSizeLog2 = <optimized out>, static sMinSize = <optimized out>, static sSizeLimit = <optimized out>, static sHashBits = <optimized out>, 
      static sMinAlphaFrac = <optimized out>, static sMaxAlphaFrac = <optimized out>, static sInvMaxAlpha = <optimized out>, static sGoldenRatio = <optimized out>, 
      static sCollisionBit = <optimized out>, static sFreeKey = <optimized out>, static sRemovedKey = <optimized out>}}, gcKeepAtoms = 0, gcBytes = 3215360, 
  gcTriggerBytes = 94371840, gcLastBytes = 3215360, gcMaxBytes = 4294967295, gcMaxMallocBytes = 33554432, gcChunksWaitingToExpire = 0, gcEmptyArenaPoolLifespan = 30000, 
  gcNumber = 17, gcMarkingTracer = 0x0, gcTriggerFactor = 300, gcJitReleaseTime = 1329389129687479, gcMode = JSGC_MODE_GLOBAL, gcIsNeeded = false, 
  gcTriggerCompartment = 0x0, gcCurrentCompartment = 0x0, gcPoke = true, gcMarkAndSweep = false, gcRunning = false, gcRegenShapes = false, gcCallback = 
    0x3d736102d0 <gjs_on_context_gc>, gcMallocBytes = 33538210, gcChunkAllocator = 0x38209422a0, gcExtraRootsTraceOp = 0, gcExtraRootsData = 0x0, NaNValue = {data = {
      asBits = 9221120237041090560, debugView = {payload47 = 0, tag = 65520}, s = {payload = {i32 = 0, u32 = 0, why = JS_ARRAY_HOLE, word = 9221120237041090560}}, 
      asDouble = nan(0x8000000000000), asPtr = 0x7ff8000000000000}}, negativeInfinityValue = {data = {asBits = 18442240474082181120, debugView = {payload47 = 0, tag = 
    131040}, s = {payload = {i32 = 0, u32 = 0, why = JS_ARRAY_HOLE, word = 18442240474082181120}}, asDouble = -inf, asPtr = 0xfff0000000000000}}, 
  positiveInfinityValue = {data = {asBits = 9218868437227405312, debugView = {payload47 = 0, tag = 65504}, s = {payload = {i32 = 0, u32 = 0, why = JS_ARRAY_HOLE, word = 
    9218868437227405312}}, asDouble = inf, asPtr = 0x7ff0000000000000}}, emptyString = 0x7f8ca9900040, contextList = {next = 0x20cbab0, prev = 0x20cbab0}, 
  globalDebugHooks = {interruptHook = 0, interruptHookData = 0x0, newScriptHook = 0, newScriptHookData = 0x0, destroyScriptHook = 0, destroyScriptHookData = 0x0, 
    debuggerHandler = 0, debuggerHandlerData = 0x0, sourceHandler = 0, sourceHandlerData = 0x0, executeHook = 0, executeHookData = 0x0, callHook = 0, callHookData = 
    0x0, throwHook = 0, throwHookData = 0x0, debugErrorHook = 0, debugErrorHookData = 0x0}, debugMode = 0, trapList = {next = 0x205b3c8, prev = 0x205b3c8}, 
  watchPointList = {next = 0x205b3d8, prev = 0x205b3d8}, data = 0x20444d0, gcLock = 0x20c2580, gcDone = 0x20c2630, requestDone = 0x20c2680, requestCount = 4294967295, 
  gcThread = 0x20cbdf0, gcHelperThread = {static FREE_ARRAY_SIZE = 65536, static FREE_ARRAY_LENGTH = 8192, thread = 0x20c2770, wakeup = 0x20c26d0, sweepingDone = 
    0x20c2720, shutdown = false, sweeping = false, freeVector = {<js::SystemAllocPolicy> = {<No data fields>}, static sElemIsPod = false, static sMaxInlineBytes = 1024, 
      static sInlineCapacity = 16, static sInlineBytes = 128, mBegin = 0x205b450, mLength = 0, mCapacity = 16, storage = {u = {bytes = '\000' <repeats 127 times>, _ = 
    0}}}, freeCursor = 0x0, freeCursorEnd = 0x0}, rtLock = 0x20cb6f0, stateChange = 0x20cb7a0, debuggerLock = 0x20cb7f0, threads = {impl = {<js::SystemAllocPolicy> = 
    {<No data fields>}, hashShift = 28, tableCapacity = 16, entryCount = 1, gen = 0, removedCount = 0, table = 0x20cb8a0, static sMinSizeLog2 = <optimized out>, 
      static sMinSize = <optimized out>, static sSizeLimit = <optimized out>, static sHashBits = <optimized out>, static sMinAlphaFrac = <optimized out>, 
      static sMaxAlphaFrac = <optimized out>, static sInvMaxAlpha = <optimized out>, static sGoldenRatio = <optimized out>, static sCollisionBit = <optimized out>, 
      static sFreeKey = <optimized out>, static sRemovedKey = <optimized out>}}, debuggerMutations = 0, securityCallbacks = 0x0, structuredCloneCallbacks = 0x0, 
  propertyRemovals = 89, scriptFilenameTable = 0x20eca60, scriptFilenamePrefixes = {next = 0x205b540, prev = 0x205b540}, scriptFilenameTableLock = 0x20ec9b0, 
  thousandsSeparator = 0x20ecb30 ",", decimalSeparator = 0x20ecb50 ".", numGrouping = 0x20ecb70 "\003\003", anynameObject = 0x0, functionNamespaceObject = 0x0, 
  interruptCounter = 0, shapeGen = 21938, atomState = {atoms = {impl = {<js::SystemAllocPolicy> = {<No data fields>}, hashShift = 18, tableCapacity = 16384, 
        entryCount = 9034, gen = 3, removedCount = 21, table = 0x24c9750, static sMinSizeLog2 = <optimized out>, static sMinSize = <optimized out>, 
        static sSizeLimit = <optimized out>, static sHashBits = <optimized out>, static sMinAlphaFrac = <optimized out>, static sMaxAlphaFrac = <optimized out>, 
        static sInvMaxAlpha = <optimized out>, static sGoldenRatio = <optimized out>, static sCollisionBit = <optimized out>, static sFreeKey = <optimized out>, 
        static sRemovedKey = <optimized out>}}, lock = {owner = 0, fat = 0x0}, emptyAtom = 0x7f8ca9900040, booleanAtoms = {0x7f8ca9900080, 0x7f8ca99000c0}, typeAtoms = {
    0x7f8ca9900100, 0x7f8ca9900140, 0x7f8ca9900180, 0x7f8ca99001c0, 0x7f8ca9900200, 0x7f8ca9900240, 0x7f8ca9900280, 0x7f8ca99002c0}, nullAtom = 0x7f8ca9900280, 
    classAtoms = {0x7f8ca9900300, 0x7f8ca9900340, 0x7f8ca9900380, 0x7f8ca99003c0, 0x7f8ca9900400, 0x7f8ca9900440, 0x7f8ca9900480, 0x7f8ca99004c0, 0x7f8ca9900500, 
    0x7f8ca9900540, 0x7f8ca9900580, 0x7f8ca99005c0, 0x7f8ca9900600, 0x7f8ca9900640, 0x7f8ca9900680, 0x7f8ca99006c0, 0x7f8ca9900700, 0x7f8ca9900740, 0x7f8ca9900780, 
    0x7f8ca99007c0, 0x7f8ca9900800, 0x7f8ca9900840, 0x7f8ca9900880, 0x7f8ca99008c0, 0x7f8ca9900900, 0x7f8ca9900940, 0x7f8ca9900980, 0x7f8ca99009c0, 0x7f8ca9900a00, 
    0x7f8ca9900a40, 0x7f8ca9900a80, 0x7f8ca9900ac0, 0x7f8ca9900b00, 0x7f8ca9900b40, 0x7f8ca9900b80, 0x7f8ca9900bc0, 0x7f8ca9900c00, 0x7f8ca9900c40, 0x7f8ca9900c80}, 
    anonymousAtom = 0x7f8ca9900cc0, applyAtom = 0x7f8ca9900d00, argumentsAtom = 0x7f8ca9900d40, arityAtom = 0x7f8ca9900d80, callAtom = 0x7f8ca9900dc0, calleeAtom = 
    0x7f8ca9900e00, callerAtom = 0x7f8ca9900e40, classPrototypeAtom = 0x7f8ca9900e80, constructorAtom = 0x7f8ca9900ec0, eachAtom = 0x7f8ca9900f00, evalAtom = 
    0x7f8ca9900f40, fileNameAtom = 0x7f8ca9900f80, getAtom = 0x7f8ca9900fc0, globalAtom = 0x7f8ca9901040, ignoreCaseAtom = 0x7f8ca9901080, indexAtom = 0x7f8ca99010c0, 
    inputAtom = 0x7f8ca9901100, toISOStringAtom = 0x7f8ca9901140, iteratorAtom = 0x7f8ca9901180, joinAtom = 0x7f8ca99011c0, lastIndexAtom = 0x7f8ca9901200, lengthAtom = 
    0x7f8ca9901240, lineNumberAtom = 0x7f8ca9901280, messageAtom = 0x7f8ca99012c0, multilineAtom = 0x7f8ca9901300, nameAtom = 0x7f8ca9901340, nextAtom = 0x7f8ca9901380, 
    noSuchMethodAtom = 0x7f8ca99013c0, objectNullAtom = 0x7f8ca9901400, objectUndefinedAtom = 0x7f8ca9901440, protoAtom = 0x7f8ca9901480, setAtom = 0x7f8ca99014c0, 
    sourceAtom = 0x7f8ca9901500, stackAtom = 0x7f8ca9901540, stickyAtom = 0x7f8ca9901580, toGMTStringAtom = 0x7f8ca99015c0, toLocaleStringAtom = 0x7f8ca9901600, 
    toSourceAtom = 0x7f8ca9901640, toStringAtom = 0x7f8ca9901680, toUTCStringAtom = 0x7f8ca99016c0, valueOfAtom = 0x7f8ca9901700, toJSONAtom = 0x7f8ca9901740, 
    void0Atom = 0x7f8ca9901780, enumerableAtom = 0x7f8ca99017c0, configurableAtom = 0x7f8ca9901800, writableAtom = 0x7f8ca9901840, valueAtom = 0x7f8ca9901880, 
    testAtom = 0x7f8ca99018c0, useStrictAtom = 0x7f8ca9901900, locAtom = 0x7f8ca9901940, lineAtom = 0x7f8ca9901980, InfinityAtom = 0x7f8ca99019c0, NaNAtom = 
    0x7f8ca9901a00, builderAtom = 0x7f8ca9901a40, etagoAtom = 0x7f8ca9901a80, namespaceAtom = 0x7f8ca9901ac0, ptagcAtom = 0x7f8ca9901b00, qualifierAtom = 
    0x7f8ca9901b40, spaceAtom = 0x38209349a0, stagoAtom = 0x3820934d20, starAtom = 0x3820934ae0, starQualifierAtom = 0x7f8ca9901b80, tagcAtom = 0x3820934d60, xmlAtom = 
    0x7f8ca99002c0, functionNamespaceURIAtom = 0x7f8ca9902040, ProxyAtom = 0x7f8ca9900c40, getOwnPropertyDescriptorAtom = 0x7f8ca9902060, getPropertyDescriptorAtom = 
    0x7f8ca9901bc0, definePropertyAtom = 0x7f8ca9901c00, deleteAtom = 0x7f8ca9901c40, getOwnPropertyNamesAtom = 0x7f8ca9901c80, enumerateAtom = 0x7f8ca9901cc0, 
    fixAtom = 0x7f8ca9901d00, hasAtom = 0x7f8ca9901d40, hasOwnAtom = 0x7f8ca9901d80, keysAtom = 0x7f8ca9901dc0, iterateAtom = 0x7f8ca9901e00, lazy = {XMLListAtom = 0x0, 
      decodeURIAtom = 0x0, decodeURIComponentAtom = 0x0, defineGetterAtom = 0x0, defineSetterAtom = 0x0, encodeURIAtom = 0x0, encodeURIComponentAtom = 0x0, escapeAtom = 
    0x0, hasOwnPropertyAtom = 0x0, isFiniteAtom = 0x0, isNaNAtom = 0x0, isPrototypeOfAtom = 0x0, isXMLNameAtom = 0x0, lookupGetterAtom = 0x0, lookupSetterAtom = 0x0, 
      parseFloatAtom = 0x0, parseIntAtom = 0x0, propertyIsEnumerableAtom = 0x0, unescapeAtom = 0x0, unevalAtom = 0x0, unwatchAtom = 0x0, watchAtom = 0x0}}, 
  wrapObjectCallback = 0x382058d7e0 <js::TransparentObjectWrapper(JSContext*, JSObject*, JSObject*, JSObject*, uintN)>, preWrapObjectCallback = 0, mjitMemoryUsed = 0, 
  stringMemoryUsed = 190120}
(gdb) up
#3  0x00000038204b77f0 in GCUntilDone (gckind=GC_NORMAL, comp=0x0, cx=0x20cbab0) at jsgc.cpp:2721
2721	    AutoGCSession gcsession(cx);
(gdb) print *cx
$3 = {link = {next = 0x205b320, prev = 0x205b320}, defaultVersion = JSVERSION_1_8, versionOverride = JSVERSION_DEFAULT, hasVersionOverride = false, throwing = 0, 
  exception = {data = {asBits = 18444773748872577024, debugView = {payload47 = 0, tag = JSVAL_TAG_UNDEFINED}, s = {payload = {i32 = 0, u32 = 0, why = JS_ARRAY_HOLE, 
          word = 18444773748872577024}}, asDouble = -nan(0x9000000000000), asPtr = 0xfff9000000000000}}, runOptions = 2305, localeCallbacks = 0x3d73834480, 
  resolvingTable = 0x214a0d0, generatingError = 0 '\000', stackLimit = 0, scriptStackQuota = 104853509, runtime = 0x205b1a0, compartment = 0x20ecb90, regs = 0x0, 
  tempPool = {first = {next = 0x0, base = 34388800, limit = 34388800, avail = 34388800}, current = 0x20cbb20, arenasize = 4056, mask = 7, quotap = 0x20cbb00}, 
  regExpPool = {first = {next = 0x2659c70, base = 34388864, limit = 34388864, avail = 34388864}, current = 0x2659c70, arenasize = 4056, mask = 3, quotap = 0x20cbb00}, 
  globalObject = 0x7f8ca9903048, sharpObjectMap = {depth = 0, sharpgen = 0, table = 0x0}, busyArrays = {impl = {<js::SystemAllocPolicy> = {<No data fields>}, 
      hashShift = 28, tableCapacity = 16, entryCount = 0, gen = 0, removedCount = 0, table = 0x20cbce0, static sMinSizeLog2 = <optimized out>, 
      static sMinSize = <optimized out>, static sSizeLimit = <optimized out>, static sHashBits = <optimized out>, static sMinAlphaFrac = <optimized out>, 
      static sMaxAlphaFrac = <optimized out>, static sInvMaxAlpha = <optimized out>, static sGoldenRatio = <optimized out>, static sCollisionBit = <optimized out>, 
      static sFreeKey = <optimized out>, static sRemovedKey = <optimized out>}}, argumentFormatMap = 0x0, lastMessage = 
    0x4253b40 "reference to undefined property properties[istr].modifierParameters", errorReporter = 
    0x3d73613500 <gjs_error_reporter(JSContext*, char const*, JSErrorReport*)>, operationCallback = 0, interpLevel = 0, data = 0x2041ad0, data2 = 0x0, currentSegment = 
    0x0, thread = 0x20cbdf0, outstandingRequests = 4294967294, threadLinks = {next = 0x20cbdf0, prev = 0x20cbdf0}, autoGCRooters = 0x0, debugHooks = 0x205b330, 
  securityCallbacks = 0x0, resolveFlags = 0, rngSeed = 1307199378660, iterValue = {data = {asBits = 18445055223849287683, debugView = {payload47 = 3, tag = 
    JSVAL_TAG_MAGIC}, s = {payload = {i32 = 3, u32 = 3, why = JS_NO_ITER_VALUE, word = 18445055223849287683}}, asDouble = -nan(0xa000000000003), asPtr = 
    0xfffa000000000003}}, traceJitEnabled = true, methodJitEnabled = false, profilingEnabled = false, dstOffsetCache = {offsetMilliseconds = 82800000, 
    rangeStartSeconds = 1326797014, rangeEndSeconds = 1331981014, oldOffsetMilliseconds = 82800000, oldRangeStartSeconds = 1326797014, oldRangeEndSeconds = 1329389014, 
    static MAX_UNIX_TIMET = 2145859200, static MILLISECONDS_PER_SECOND = 1000, static SECONDS_PER_MINUTE = 60, static SECONDS_PER_HOUR = 3600, static SECONDS_PER_DAY = 
    86400, static RANGE_EXPANSION_AMOUNT = 2592000}, enumerators = 0x0, genStack = {<js::SystemAllocPolicy> = {<No data fields>}, static sElemIsPod = false, 
    static sMaxInlineBytes = 1024, static sInlineCapacity = 2, static sInlineBytes = 16, mBegin = 0x20cbcc0, mLength = 0, mCapacity = 2, storage = {u = {bytes = 
    "0\201+\002", '\000' <repeats 11 times>, _ = 36405552}}}, gcBackgroundFree = 0x0}
(gdb) up
#4  js_GC (cx=0x20cbab0, comp=0x0, gckind=GC_NORMAL) at jsgc.cpp:2824
2824	            GCUntilDone(cx, comp, gckind  GCTIMER_ARG);
(gdb) up
#5  0x00000034688330c1 in run_leisure_functions (data=0x2012100) at shell-global.c:1441
1441	  gjs_context_gc (global->js_context);
(gdb) print (ShellGlobal *)data
$4 = {parent = {g_type_instance = {g_class = 0x2040500}, ref_count = 2, qdata = 0x2ad69d1}, stage = 0x203b950 [ClutterStage], stage_xwindow = 16777228, 
  stage_gdk_window = 0xdcc5a0 [GdkX11Window], meta_display = 0x21566e0 [MetaDisplay], gdk_display = 0xdc3000 [GdkX11Display], xdisplay = 0xdb6b70, meta_screen = 
    0xd901a0 [MetaScreen], gdk_screen = 0xdc80e0 [GdkX11Screen], session_type = SHELL_SESSION_USER, grab_notifier = 0x2045060 [GtkWindow], gtk_grab_active = 0, 
  input_mode = SHELL_STAGE_INPUT_MODE_NORMAL, input_region = 16777719, js_context = 0x2041ad0 [GjsContext], plugin = 0xd96000 [GnomeShellPlugin], wm = 
    0x21e3520 [ShellWM], settings = 0x20418a0 [GSettings], datadir = 0x346887d3a3 "/usr/share/gnome-shell", imagedir = 0x2042010 "/usr/share/gnome-shell/", 
  userdatadir = 0x2043e70 "/home/sam/.local/share/gnome-shell", focus_manager = 0x2182f50 [StFocusManager], work_count = 0, leisure_closures = 0x0, 
  leisure_function_id = 0, sound_context = 0x2044130, xdnd_timestamp = 0, last_gc_end_time = 104701856}

