Core was generated by `/usr/bin/gnome-shell'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  JSObject::lastProperty (this=0x7f49f68f3700) at /home/john/Projects/js38/trunk/src/mozilla-esr38/js/src/jsobj.h:125
125	        MOZ_ASSERT(shape_);
[Current thread is 1 (Thread 0x7f4a5d4f09c0 (LWP 1177))]
(gdb) bt full
#0  0x00007f4a555cf8b0 in JSObject::lastProperty() const (this=0x7f49f68f3700)
    at /home/john/Projects/js38/trunk/src/mozilla-esr38/js/src/jsobj.h:125
#1  0x00007f4a556aaf65 in JSObject::compartment() const (this=<optimized out>)
    at /home/john/Projects/js38/trunk/src/mozilla-esr38/js/src/jsobj.h:172
        obj = <optimized out>
        this = 0x7fff14c24700
#2  0x00007f4a556aaf65 in js::CompartmentChecker::check(JSObject*) (obj=<optimized out>, this=0x7fff14c24700)
    at /home/john/Projects/js38/trunk/src/mozilla-esr38/js/src/jscntxtinlines.h:81
        obj = <optimized out>
        this = 0x7fff14c24700
#3  0x00007f4a556aaf65 in js::CompartmentChecker::check(JS::Value const&) (this=0x7fff14c24700, v=...)
    at /home/john/Projects/js38/trunk/src/mozilla-esr38/js/src/jscntxtinlines.h:101
#4  0x00007f4a55b9dfba in js::CompartmentChecker::check<JS::Value>(JS::Handle<JS::Value>) (handle=..., this=0x7fff14c24700)
    at /home/john/Projects/js38/trunk/src/mozilla-esr38/js/src/jscntxtinlines.h:91
        i = <optimized out>
        i = <optimized out>
        c = {compartment = 0x166ee10}
        _autoCheckRequestDepth = {cx = 0x150de60}
        lfc = {cx = 0x166ee10, _mCheckNotUsedAsTemporary = {mStatementDone = false}}
#5  0x00007f4a55b9dfba in js::CompartmentChecker::check(JS::HandleValueArray const&) (arr=..., this=0x7fff14c24700)
    at /home/john/Projects/js38/trunk/src/mozilla-esr38/js/src/jscntxtinlines.h:118
        i = <optimized out>
        i = <optimized out>
        c = {compartment = 0x166ee10}
        _autoCheckRequestDepth = {cx = 0x150de60}
        lfc = {cx = 0x166ee10, _mCheckNotUsedAsTemporary = {mStatementDone = false}}
#6  0x00007f4a55b9dfba in js::assertSameCompartment<JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray>(js::ExclusiveContext*, JS::Handle<JSObject*> const&, JS::Handle<JS::Value> const&, JS::HandleValueArray const&) (t3=..., t2=<synthetic pointer>..., t1=<synthetic pointer>..., cx=0x150de60) at /home/john/Projects/js38/trunk/src/mozilla-esr38/js/src/jscntxtinlines.h:183
        c = {compartment = 0x166ee10}
        _autoCheckRequestDepth = {cx = 0x150de60}
        lfc = {cx = 0x166ee10, _mCheckNotUsedAsTemporary = {mStatementDone = false}}
#7  0x00007f4a55b9dfba in JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) (cx=cx@entry=0x150de60, obj=..., fval=..., args=..., rval=..., rval@entry=...)
    at /home/john/Projects/js38/trunk/src/mozilla-esr38/js/src/jsapi.cpp:4213
        _autoCheckRequestDepth = {cx = 0x150de60}
        lfc = {cx = 0x166ee10, _mCheckNotUsedAsTemporary = {mStatementDone = false}}
#8  0x00007f4a5ca9aa16 in gjs_call_function_value(JSContext*, JS::HandleObject, JS::HandleValue, JS::HandleValueArray const&, JS::MutableHandleValue) (context=context@entry=0x150de60, obj=..., fval=fval@entry=..., args=..., rval=..., rval@entry=...)
    at gjs/jsapi-util.cpp:716
        result = <optimized out>
#9  0x00007f4a5ca657a6 in gjs_closure_invoke(GClosure*, JS::HandleValueArray const&, JS::MutableHandleValue) (closure=closure@entry=0x4688ad0, args=..., retval=retval@entry=...) at gi/closure.cpp:231
        c = 0x4688af0
        context = 0x150de60
        ac = {cx_ = 0x150de60, oldCompartment_ = 0x166ee10}
        v_closure = 
            {<js::RootedBase<JS::Value>> = {<js::MutableValueOperations<JS::Rooted<JS::Value> >> = {<js::ValueOperations<JS::Rooted<JS::Value> >> = {<No data fields>}, <No data fields>}, <No data fields>}, stack = 0x150dec8, prev = 0x7fff14c24970, ptr = {data = {asBits = 18445758129455261952, debugView = {payload47 = 139955652552960, tag = JSVAL_TAG_OBJECT}, s = {payload = {i32 = -151754496, u32 = 4143212800, why = 4143212800}}, asDouble = -nan(0xc7f49f6f46900), asPtr = 0xfffc7f49f6f46900, asWord = 18445758129455261952, asUIntPtr = 18445758129455261952}}, _mCheckNotUsedAsTemporary = {mStatementDone = true}}
#10 0x00007f4a5ca87e9e in closure_marshal(GClosure*, GValue*, guint, GValue const*, gpointer, gpointer) (closure=0x4688ad0, return_value=0x0, n_param_values=<optimized out>, param_values=0x7fff14c24c90, invocation_hint=<optimized out>, marshal_data=<optimized out>)
    at gi/value.cpp:273
        context = 0x150de60
        runtime = <optimized out>
        obj = <optimized out>
        i = <optimized out>
        signal_query = 
          {signal_id = 42, signal_name = 0x7f4a5b730add "destroy", itype = 20196160, signal_flags = (G_SIGNAL_RUN_CLEANUP | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS), return_type = 4, n_params = 0, param_types = 0x0}
        skip = 0x7fff14c24850
        array_len_indices_for = 0x7fff14c24830
        type_info_for = 0x7fff14c24810
        ar = {mContext = 0x150de60, _mCheckNotUsedAsTemporary = {mStatementDone = true}}
        ac = {cx_ = 0x150de60, oldCompartment_ = 0x166ee10}
        argv = 
            {<JS::AutoVectorRooter<JS::Value>> = {<JS::AutoGCRooter> = {down = 0x7fff14c25390, tag_ = -10, stackTop = 0x150def0}, vector = {<mozilla::VectorBase<JS::Value, 8, js::TempAllocPolicy, js::Vector<JS::Value, 8, js::TempAllocPolicy> >> = {<js::TempAllocPolicy> = {cx_ = 0x150de60}, static kElemIsPod = false, static kMaxInlineBytes = 1024, static kInlineCapacity = 8, static kInlineBytes = 64, mB---Type <return> to continue, or q <return> to quit---
egin = 0x7fff14c24a30, mLength = 1, mCapacity = 8, mReserved = 1, mStorage = {u = {mBytes = "\000\067\217\366I\177\374\377&j\235UJ\177\000\000\020\000\000\000\060\000\000\000 K\302\024\377\177\000\000`J\302\024\377\177\000\000\000\235\274eߺ y\324J\302\024\377\177\000\000\000\235\274eߺ y", mDummy = 18445758129448630016}}, mEntered = false, static sMaxInlineStorage = <optimized out>}, <No data fields>}, _mCheckNotUsedAsTemporary = {mStatementDone = true}}, _mCheckNotUsedAsTemporary = {mStatementDone = true}}
        argv_to_append = 
            {<js::RootedBase<JS::Value>> = {<js::MutableValueOperations<JS::Rooted<JS::Value> >> = {<js::ValueOperations<JS::Rooted<JS::Value> >> = {<No data fields>}, <No data fields>}, <No data fields>}, stack = 0x150dec8, prev = 0x7fff14c254d0, ptr = {data = {asBits = 18445758129448630016, debugView = {payload47 = 139955645921024, tag = JSVAL_TAG_OBJECT}, s = {payload = {i32 = -158386432, u32 = 4136580864, why = 4136580864}}, asDouble = -nan(0xc7f49f68f3700), asPtr = 0xfffc7f49f68f3700, asWord = 18445758129448630016, asUIntPtr = 18445758129448630016}}, _mCheckNotUsedAsTemporary = {mStatementDone = true}}
        rval = 
            {<js::RootedBase<JS::Value>> = {<js::MutableValueOperations<JS::Rooted<JS::Value> >> = {<js::ValueOperations<JS::Rooted<JS::Value> >> = {<No data fields>}, <No data fields>}, <No data fields>}, stack = 0x150dec8, prev = 0x7fff14c24950, ptr = {data = {asBits = 18444773748872577024, debugView = {payload47 = 0, tag = JSVAL_TAG_UNDEFINED}, s = {payload = {i32 = 0, u32 = 0, why = JS_ELEMENTS_HOLE}}, asDouble = -nan(0x9000000000000), asPtr = 0xfff9000000000000, asWord = 18444773748872577024, asUIntPtr = 18444773748872577024}}, _mCheckNotUsedAsTemporary = {mStatementDone = true}}
#11 0x00007f4a5ae50ead in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#12 0x00007f4a5ae634ee in  () at /usr/lib/libgobject-2.0.so.0
#13 0x00007f4a5ae6bcd5 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#14 0x00007f4a5ae6c6ef in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#15 0x00007f4a5b69653c in  () at /usr/lib/mutter/libmutter-clutter-0.so
#16 0x00007f4a5ae573d8 in g_object_run_dispose () at /usr/lib/libgobject-2.0.so.0
#17 0x00007f4a5b68a2b6 in clutter_actor_destroy () at /usr/lib/mutter/libmutter-clutter-0.so
#18 0x00007f4a560971c8 in ffi_call_unix64 () at /usr/lib/libffi.so.6
#19 0x00007f4a56096c2a in ffi_call () at /usr/lib/libffi.so.6
#20 0x00007f4a5ca6b7fe in gjs_invoke_c_function(JSContext*, Function*, JS::HandleObject, JS::HandleValueArray const&, mozilla::Maybe<JS::MutableHandle<JS::Value> >&, GIArgument*) (context=context@entry=0x150de60, function=function@entry=0x3329920, obj=..., 
    obj@entry=..., args=..., js_rval=..., r_value=r_value@entry=0x0) at gi/function.cpp:1021
        in_arg_cvalues = 0x7fff14c250d0
        out_arg_cvalues = 0x7fff14c25090
        inout_original_arg_cvalues = 0x7fff14c25070
        ffi_arg_pointers = 0x7fff14c250b0
        return_value = 
          {v_boolean = 72231752, v_int8 = 72 'H', v_uint8 = 72 'H', v_int16 = 11080, v_uint16 = 11080, v_int32 = 72231752, v_uint32 = 72231752, v_int64 = 72231752, v_uint64 = 72231752, v_float = 2.42350574e-36, v_double = 3.5687227202124752e-316, v_short = 11080, v_ushort = 11080, v_int = 72231752, v_uint = 72231752, v_long = 72231752, v_ulong = 72231752, v_ssize = 72231752, v_size = 72231752, v_string = 0x44e2b48 "\320\336C]J\177", v_pointer = 0x44e2b48}
        return_value_p = 0x7fff14c251c8
        return_gargument = 
          {v_boolean = 1434994084, v_int8 = -92 '\244', v_uint8 = 164 '\244', v_int16 = 17828, v_uint16 = 17828, v_int32 = 1434994084, v_uint32 = 1434994084, v_int64 = 139957239301540, v_uint64 = 139957239301540, v_float = 1.87290857e+13, v_double = 6.9148063825673253e-310, v_short = 17828, v_ushort = 17828, v_int = 1434994084, v_uint = 1434994084, v_long = 139957239301540, v_ulong = 139957239301540, v_ssize = 139957239301540, v_size = 139957239301540, v_string = 0x7f4a558845a4 <js::TypeMonitorResult(JSContext*, JSScript*, unsigned char*, JS::Value const&)+212> "\351|\377\377\377\017\037\200", v_pointer = 0x7f4a558845a4 <js::TypeMonitorResult(JSContext*, JSScript*, unsigned char*, JS::Value const&)+212>}
        processed_c_args = <optimized out>
        gi_argc = 0 '\000'
        gi_arg_pos = <optimized out>
        c_argc = 1 '\001'
        c_arg_pos = <optimized out>
        js_arg_pos = <optimized out>
        can_throw_gerror = false
        did_throw_gerror = false
        local_error = 0x0
        failed = false
        postinvoke_release_failed = <optimized out>
        is_method = true
        return_info = 
            {dummy1 = 18, dummy2 = 2147483647, dummy3 = 0x1146820, dummy4 = 0x315ef70, dummy5 = 0x1839550, dummy6 = 75392, dummy7 = 0, padding = {0x0, 0x0, 0x0, 0x0}}
        return_tag = GI_TYPE_TAG_VOID
        return_values = 
            {<JS::AutoVectorRooter<JS::Value>> = {<JS::AutoGCRooter> = {down = 0x7fff14c257b0, tag_ = -10, stackTop = 0x150def0}, vector = {<mozilla::VectorBase<JS::Value, 8, js::TempAllocPolicy, js::Vector<JS::Value, 8, js::TempAllocPolicy> >> = {<js::TempAllocPolicy> = {cx_ = 0x150de60}, static kElemIsPod = false, static kMaxInlineBytes = 1024, static kInlineCapacity = 8, static kInlineBytes = 64, mBegin = 0x7fff14c253d0, mLength = 0, mCapacity = 8, mReserved = 0, mStorage = {u = {mBytes = "x\336P\001\000\000\000\000`W\302\024\377\177\000\000@\271\370\366I\177\000\000\300T\302\024\377\177\000\000\200\336P\001\000\000\000\000`\336P\001", '\000' <repeats 12 times>, "\237\r\016MJ\177\000", mDummy = 22077048}}, mEntered = false, static sMaxInlineStorage = <optimized out>}, <No data fields>}, _mCheckNotUsedAsTemporary = {mStatementDone = true}}, _mCheckNotUsedAsTemporary = {mStatementDone = true}}
        next_rval = 0 '\000'
        iter = <optimized out>
---Type <return> to continue, or q <return> to quit---
        __PRETTY_FUNCTION__ = "bool gjs_invoke_c_function(JSContext*, Function*, JS::HandleObject, const JS::HandleValueArray&, mozilla::Maybe<JS::MutableHandle<JS::Value> >&, GIArgument*)"
#21 0x00007f4a5ca6d87a in function_call(JSContext*, unsigned int, JS::Value*) (context=0x150de60, js_argc=<optimized out>, vp=0x7fff14c25588) at gi/function.cpp:1340
        object = 
            {<js::RootedBase<JSObject*>> = {<No data fields>}, stack = 0x150de78, prev = 0x7fff14c25760, ptr = 0x7f49f6f8b940, _mCheckNotUsedAsTemporary = {mStatementDone = true}}
        callee = 
            {<js::RootedBase<JSObject*>> = {<No data fields>}, stack = 0x150de78, prev = 0x7fff14c25490, ptr = 0x7f49f6f62190, _mCheckNotUsedAsTemporary = {mStatementDone = true}}
        success = <optimized out>
        retval = 
            {<js::RootedBase<JS::Value>> = {<js::MutableValueOperations<JS::Rooted<JS::Value> >> = {<js::ValueOperations<JS::Rooted<JS::Value> >> = {<No data fields>}, <No data fields>}, <No data fields>}, stack = 0x150dec8, prev = 0x7fff14c25780, ptr = {data = {asBits = 18444773748872577024, debugView = {payload47 = 0, tag = JSVAL_TAG_UNDEFINED}, s = {payload = {i32 = 0, u32 = 0, why = JS_ELEMENTS_HOLE}}, asDouble = -nan(0x9000000000000), asPtr = 0xfff9000000000000, asWord = 18444773748872577024, asUIntPtr = 18444773748872577024}}, _mCheckNotUsedAsTemporary = {mStatementDone = true}}
        m_retval = {mIsSome = true, mStorage = {u = {mBytes = "\340T\302\024\377\177\000", mDummy = 140733541668064}}}
#22 0x00007f4a5d442726 in  ()
#23 0x00007fff14c25608 in  ()
#24 0x00007fff14c25560 in  ()
#25 0x0000000000000000 in  ()
