After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 732210 - GJS crashes in object_instance_trace
GJS crashes in object_instance_trace
Status: RESOLVED WONTFIX
Product: gjs
Classification: Bindings
Component: general
1.40.x
Other Linux
: Normal normal
: ---
Assigned To: gjs-maint
gjs-maint
Depends on:
Blocks:
 
 
Reported: 2014-06-25 09:25 UTC by Vadim Rutkovsky
Modified: 2014-06-25 10:06 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Vadim Rutkovsky 2014-06-25 09:25:19 UTC
Latest GJS from master crashes on build.gnome.org when running startstop script (https://git.gnome.org/browse/gnome-continuous/tree/src/tests/gnome-continuous-startstopapps)


Thread 1 (Thread 0x7f6118651980 (LWP 641))

  • #0 object_instance_trace
    at ../gi/object.cpp line 1383
  • #1 processMarkStackTop
    at /ostbuild/source/js24/_build/js/src/gc/Marking.cpp line 1413
  • #2 js::GCMarker::drainMarkStack
    at /ostbuild/source/js24/_build/js/src/gc/Marking.cpp line 1466
  • #3 DrainMarkStack
    at /ostbuild/source/js24/_build/js/src/jsgc.cpp line 3779
  • #4 IncrementalCollectSlice
    at /ostbuild/source/js24/_build/js/src/jsgc.cpp line 4264
  • #5 GCCycle
    at /ostbuild/source/js24/_build/js/src/jsgc.cpp line 4422
  • #6 Collect
    at /ostbuild/source/js24/_build/js/src/jsgc.cpp line 4558
  • #7 gjs_gc_if_needed
    at ../gjs/jsapi-util.cpp line 1216
  • #8 trigger_gc_if_needed
    at ../gjs/context.cpp line 541
  • #9 g_main_dispatch
    at ../../glib/gmain.c line 3064
  • #10 g_main_context_dispatch
    at ../../glib/gmain.c line 3663
  • #11 g_main_context_iterate
    at ../../glib/gmain.c line 3734
  • #12 g_main_context_iteration
    at ../../glib/gmain.c line 3795
  • #13 ffi_call_unix64
    from /lib/libffi.so.6
  • #14 ffi_call
    from /lib/libffi.so.6
  • #15 gjs_invoke_c_function
    at ../gi/function.cpp line 949
  • #16 function_call
    at ../gi/function.cpp line 1271
  • #17 CallJSNative
    at ./jscntxtinlines.h line 321
  • #18 js::Invoke
    at /ostbuild/source/js24/_build/js/src/vm/Interpreter.cpp line 474
  • #19 Interpret
    at /ostbuild/source/js24/_build/js/src/vm/Interpreter.cpp line 2298
  • #20 js::RunScript
    at /ostbuild/source/js24/_build/js/src/vm/Interpreter.cpp line 438
  • #21 js::Invoke
    at /ostbuild/source/js24/_build/js/src/vm/Interpreter.cpp line 500
  • #22 js_fun_apply
    at /ostbuild/source/js24/_build/js/src/jsfun.cpp line 982
  • #23 CallJSNative
    at ./jscntxtinlines.h line 321
  • #24 js::Invoke
    at /ostbuild/source/js24/_build/js/src/vm/Interpreter.cpp line 481
  • #25 Interpret
    at /ostbuild/source/js24/_build/js/src/vm/Interpreter.cpp line 2298
  • #26 js::RunScript
    at /ostbuild/source/js24/_build/js/src/vm/Interpreter.cpp line 438
  • #27 ExecuteKernel
    at /ostbuild/source/js24/_build/js/src/vm/Interpreter.cpp line 622
  • #28 js::Execute
    at /ostbuild/source/js24/_build/js/src/vm/Interpreter.cpp line 659
  • #29 JS::Evaluate
    at /ostbuild/source/js24/_build/js/src/jsapi.cpp line 5443
  • #30 JS::Evaluate
    at /ostbuild/source/js24/_build/js/src/jsapi.cpp line 5473
  • #31 gjs_eval_with_scope
  • #32 gjs_context_eval
  • #33 main
    at ../gjs/console.cpp line 140


(gdb) call gjs_dumpstack ()
== Stack trace for context 0x6190b0 ==
StartStopApps<.run@/tmp/gnome-continuous-startstopapps:205
wrapper@resource:///org/gnome/gjs/modules/lang.js:169
main@/tmp/gnome-continuous-startstopapps:213
@/tmp/gnome-continuous-startstopapps:219
Comment 1 Giovanni Campagna 2014-06-25 09:53:27 UTC
This code is wrong:

'''
const StartStopApps = new GObject.Class({
    Name: 'StartStopApps',
    
    _init: function(props) {
        this._commandConnection = null;
    },
'''

If you use GObject.Class, you must chain up from _init(). But I see no reason for using GObject.Class, so you should use Lang.Class.
Comment 2 Vadim Rutkovsky 2014-06-25 10:06:14 UTC
(In reply to comment #1)
>  so you should use Lang.Class.

Thanks, that did the trick