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 724925 - gnome-shell crashed with SIGSEGV in gjs_string_from_utf8()
gnome-shell crashed with SIGSEGV in gjs_string_from_utf8()
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
3.10.x
Other Linux
: Normal critical
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2014-02-22 00:39 UTC by Cristian Aravena Romero
Modified: 2014-02-24 15:15 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gtype: fix name and toString() on the prototype (2.44 KB, patch)
2014-02-24 15:01 UTC, Giovanni Campagna
committed Details | Review

Description Cristian Aravena Romero 2014-02-22 00:39:29 UTC
Open bug in launchpad.net
https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1251442

"gnome-shell crashes after invoking GIRepositoryGType.name() in looking glass."

  • #0 __strlen_sse2
    at ../sysdeps/x86_64/multiarch/../strlen.S line 31
  • #1 gjs_string_from_utf8
    at gjs/jsapi-util-string.c line 80
  • #2 get_name_func
    at gi/gtype.c line 98
  • #3 CallJSPropertyOp
    at ./jscntxtinlines.h line 445
  • #4 js::Shape::get
    at ./jsscopeinlines.h line 304
  • #5 js_NativeGetInline
    at /build/buildd/mozjs17-17.0.0/js/src/jsobj.cpp line 4202
  • #6 js_GetPropertyHelperInline
    at /build/buildd/mozjs17-17.0.0/js/src/jsobj.cpp line 4356
  • #7 js::GetPropertyHelper
    at /build/buildd/mozjs17-17.0.0/js/src/jsobj.cpp line 4365
  • #8 GetPropertyOperation
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterpinlines.h line 270
  • #9 js::Interpret
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.cpp line 2293
  • #10 js::RunScript
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.cpp line 309
  • #11 js::ExecuteKernel
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.cpp line 494
  • #12 EvalKernel
    at /build/buildd/mozjs17-17.0.0/js/src/builtin/Eval.cpp line 284
  • #13 js::DirectEval
    at /build/buildd/mozjs17-17.0.0/js/src/builtin/Eval.cpp line 333
  • #14 js::Interpret
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.cpp line 2380
  • #15 js::RunScript
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.cpp line 309
  • #16 js::InvokeKernel
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.cpp line 363
  • #17 Invoke
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.h line 119
  • #18 js_fun_apply
    at /build/buildd/mozjs17-17.0.0/js/src/jsfun.cpp line 912
  • #19 CallJSNative
    at ./jscntxtinlines.h line 372
  • #20 js::InvokeKernel
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.cpp line 352
  • #21 js::Interpret
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.cpp line 2414
  • #22 js::RunScript
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.cpp line 309
  • #23 js::InvokeKernel
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.cpp line 363
  • #24 Invoke
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.h line 119
  • #25 js::CallOrConstructBoundFunction
    at /build/buildd/mozjs17-17.0.0/js/src/jsfun.cpp line 1039
  • #26 CallJSNative
    at ./jscntxtinlines.h line 372
  • #27 js::InvokeKernel
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.cpp line 352
  • #28 Invoke
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.h line 119
  • #29 js::Invoke
    at /build/buildd/mozjs17-17.0.0/js/src/jsinterp.cpp line 396
  • #30 JS_CallFunctionValue
    at /build/buildd/mozjs17-17.0.0/js/src/jsapi.cpp line 5851
  • #31 gjs_call_function_value
    at gjs/jsapi-util.c line 636
  • #32 gjs_closure_invoke
    at gi/closure.c line 277
  • #33 closure_marshal
    at gi/value.c line 133
  • #34 g_closure_invoke
    at /build/buildd/glib2.0-2.38.1/./gobject/gclosure.c line 777
  • #35 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.38.1/./gobject/gsignal.c line 3586
  • #36 g_signal_emit_valist
    at /build/buildd/glib2.0-2.38.1/./gobject/gsignal.c line 3330
  • #37 g_signal_emit
    at /build/buildd/glib2.0-2.38.1/./gobject/gsignal.c line 3386
  • #38 clutter_text_activate
    at ./clutter-text.c line 4566
  • #39 _clutter_marshal_BOOLEAN__STRING_UINT_FLAGS
    at clutter-marshal.c line 376
  • #40 g_closure_invoke
    at /build/buildd/glib2.0-2.38.1/./gobject/gclosure.c line 777
  • #41 clutter_binding_entry_invoke
    at ./clutter-binding-pool.c line 813
  • #42 clutter_binding_pool_activate
    at ./clutter-binding-pool.c line 878
  • #43 clutter_text_key_press
    at ./clutter-text.c line 2054
  • #44 _clutter_marshal_BOOLEAN__BOXED
    at clutter-marshal.c line 85
  • #45 g_closure_invoke
    at /build/buildd/glib2.0-2.38.1/./gobject/gclosure.c line 777
  • #46 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.38.1/./gobject/gsignal.c line 3624
  • #47 g_signal_emit_valist
    at /build/buildd/glib2.0-2.38.1/./gobject/gsignal.c line 3340
  • #48 g_signal_emit
    at /build/buildd/glib2.0-2.38.1/./gobject/gsignal.c line 3386
  • #49 clutter_actor_event
    at ./clutter-actor.c line 13599
  • #50 _clutter_actor_handle_event
    at ./clutter-actor.c line 20066
  • #51 emit_event_chain
    at ./clutter-main.c line 2313
  • #52 emit_keyboard_event
    at ./clutter-main.c line 2384
  • #53 _clutter_process_event_details
    at ./clutter-main.c line 2484
  • #54 _clutter_process_event
    at ./clutter-main.c line 2824
  • #55 _clutter_stage_process_queued_events
    at ./clutter-stage.c line 1036
  • #56 master_clock_process_events
    at ./clutter-master-clock.c line 366
  • #57 clutter_clock_dispatch
    at ./clutter-master-clock.c line 583
  • #58 g_main_dispatch
    at /build/buildd/glib2.0-2.38.1/./glib/gmain.c line 3065
  • #59 g_main_context_dispatch
    at /build/buildd/glib2.0-2.38.1/./glib/gmain.c line 3641
  • #60 g_main_context_iterate
    at /build/buildd/glib2.0-2.38.1/./glib/gmain.c line 3712
  • #61 g_main_loop_run
    at /build/buildd/glib2.0-2.38.1/./glib/gmain.c line 3906
  • #62 meta_run
    at core/main.c line 556
  • #63 main
    at main.c line 410

Comment 1 Giovanni Campagna 2014-02-24 15:01:45 UTC
Created attachment 270137 [details] [review]
gtype: fix name and toString() on the prototype

Due to limitations of JS_InitClass, the prototype of GType objects
is exposed as an object on the global, and people might accidentally
call stuff on it. Let's not crash in that case.
Comment 2 Jasper St. Pierre (not reading bugmail) 2014-02-24 15:09:46 UTC
Review of attachment 270137 [details] [review]:

Makes sense.
Comment 3 Giovanni Campagna 2014-02-24 15:15:53 UTC
Attachment 270137 [details] pushed as fbb8401 - gtype: fix name and toString() on the prototype