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 694755 - When clicking Activities, sometimes gnome-shell crashes.
When clicking Activities, sometimes gnome-shell crashes.
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
3.8.x
Other Linux
: Normal critical
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
: 702701 704954 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2013-02-26 16:44 UTC by sangu
Modified: 2013-08-16 20:14 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
IconTheme: Move changed emission to an idle (3.56 KB, patch)
2013-06-19 09:15 UTC, Alexander Larsson
committed Details | Review

Description sangu 2013-02-26 16:44:19 UTC
(gdb) bt
  • #0 raise
    from /lib64/libc.so.6
  • #1 abort
    from /lib64/libc.so.6
  • #2 g_assertion_message
    at gtestutils.c line 1912
  • #3 g_assertion_message_expr
  • #4 clutter_actor_set_mapped
    at ./clutter-actor.c line 1245
  • #5 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #6 clutter_actor_realize
    at ./clutter-actor.c line 1926
  • #7 clutter_actor_update_map_state
    at ./clutter-actor.c line 1431
  • #8 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #9 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #10 st_widget_map
    at st/st-widget.c line 479
  • #11 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #12 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #13 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #14 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #15 st_widget_map
    at st/st-widget.c line 479
  • #16 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #17 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #18 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #19 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #20 st_widget_map
    at st/st-widget.c line 479
  • #21 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #22 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #23 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #24 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #25 st_widget_map
    at st/st-widget.c line 479
  • #26 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #27 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #28 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #29 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #30 st_widget_map
    at st/st-widget.c line 479
  • #31 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #32 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #33 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #34 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #35 st_widget_map
    at st/st-widget.c line 479
  • #36 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #37 clutter_actor_update_map_state
  • #38 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #39 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #40 st_widget_map
    at st/st-widget.c line 479
  • #41 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #42 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #43 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #44 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #45 st_widget_map
    at st/st-widget.c line 479
  • #46 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #47 clutter_actor_update_map_state
  • #48 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #49 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #50 st_widget_map
    at st/st-widget.c line 479
  • #51 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #52 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #53 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #54 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #55 st_widget_map
    at st/st-widget.c line 479
  • #56 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #57 clutter_actor_update_map_state
  • #58 clutter_actor_real_show
    at ./clutter-actor.c line 1625
  • #59 _g_closure_invoke_va
    at gclosure.c line 840
  • #60 g_signal_emit_valist
    at gsignal.c line 3225
  • #61 g_signal_emit
    at gsignal.c line 3370
  • #62 clutter_actor_show
    at ./clutter-actor.c line 1716
  • #63 ffi_call_unix64
    from /lib64/libffi.so.6
  • #64 ffi_call
    from /lib64/libffi.so.6
  • #65 gjs_invoke_c_function
    at gi/function.c line 893
  • #66 function_call
  • #67 js::Invoke(JSContext*, js::CallArgs const&, unsigned int)
    from /lib64/libmozjs185.so.1.0
  • #68 js::Interpret(JSContext*, JSStackFrame*, unsigned int, JSInterpMode)
    from /lib64/libmozjs185.so.1.0
  • #69 js::RunScript(JSContext*, JSScript*, JSStackFrame*)
    from /lib64/libmozjs185.so.1.0
  • #70 js::Invoke(JSContext*, js::CallArgs const&, unsigned int)
    from /lib64/libmozjs185.so.1.0
  • #71 js_fun_apply(JSContext*, unsigned int, js::Value*)
    from /lib64/libmozjs185.so.1.0
  • #72 js::Interpret(JSContext*, JSStackFrame*, unsigned int, JSInterpMode)
    from /lib64/libmozjs185.so.1.0
  • #73 js::RunScript(JSContext*, JSScript*, JSStackFrame*)
    from /lib64/libmozjs185.so.1.0
  • #74 js::Invoke(JSContext*, js::CallArgs const&, unsigned int)
    from /lib64/libmozjs185.so.1.0
  • #75 js_fun_apply(JSContext*, unsigned int, js::Value*)
    from /lib64/libmozjs185.so.1.0
  • #76 js::Interpret(JSContext*, JSStackFrame*, unsigned int, JSInterpMode)
    from /lib64/libmozjs185.so.1.0
  • #77 js::RunScript(JSContext*, JSScript*, JSStackFrame*)
    from /lib64/libmozjs185.so.1.0
  • #78 js::Invoke(JSContext*, js::CallArgs const&, unsigned int)
    from /lib64/libmozjs185.so.1.0
  • #79 js_fun_apply(JSContext*, unsigned int, js::Value*)
    from /lib64/libmozjs185.so.1.0
  • #80 js::Interpret(JSContext*, JSStackFrame*, unsigned int, JSInterpMode)
    from /lib64/libmozjs185.so.1.0
  • #81 js::RunScript(JSContext*, JSScript*, JSStackFrame*)
    from /lib64/libmozjs185.so.1.0
  • #82 js::Invoke(JSContext*, js::CallArgs const&, unsigned int)
    from /lib64/libmozjs185.so.1.0
  • #83 js::CallOrConstructBoundFunction(JSContext*, unsigned int, js::Value*)
    from /lib64/libmozjs185.so.1.0
  • #84 js::Invoke(JSContext*, js::CallArgs const&, unsigned int)
    from /lib64/libmozjs185.so.1.0
  • #85 js::ExternalInvoke(JSContext*, js::Value const&, js::Value const&, unsigned int, js::Value*, js::Value*)
    from /lib64/libmozjs185.so.1.0
  • #86 JS_CallFunctionValue
    from /lib64/libmozjs185.so.1.0
  • #87 gjs_call_function_value
  • #88 gjs_closure_invoke
    at gi/closure.c line 276
  • #89 closure_marshal
    at gi/value.c line 127
  • #90 g_closure_invoke
    at gclosure.c line 777
  • #91 signal_emit_unlocked_R
    at gsignal.c line 3566
  • #92 g_signal_emit_valist
    at gsignal.c line 3314
  • #93 g_signal_emit
    at gsignal.c line 3370
  • #94 meta_display_overlay_key_activate
    at core/display.c line 5671
  • #95 process_overlay_key
    at core/keybindings.c line 1552
  • #96 meta_display_process_key_event
    at core/keybindings.c line 1643
  • #97 event_callback
    at core/display.c line 2056
  • #98 filter_func
    at ui/ui.c line 254
  • #99 gdk_event_apply_filters
    at gdkeventsource.c line 81
  • #100 gdk_event_source_translate_event
    at gdkeventsource.c line 195
  • #101 _gdk_x11_display_queue_events
    at gdkeventsource.c line 338
  • #102 gdk_display_get_event
    at gdkdisplay.c line 313
  • #103 gdk_event_source_dispatch
    at gdkeventsource.c line 360
  • #104 g_main_dispatch
    at gmain.c line 3054
  • #105 g_main_context_dispatch
    at gmain.c line 3630
  • #106 g_main_context_iterate
    at gmain.c line 3701
  • #107 g_main_loop_run
    at gmain.c line 3895
  • #108 meta_run
    at core/main.c line 545
  • #109 main
    at main.c line 430

gnome-shell-3.7.90-1.fc19.x86_64
gtk3-3.7.10-1.fc19.x86_64
clutter-1.13.6-1.fc19.x86_64
cogl-1.13.4-1.fc19.x86_64

vga intel HD 4000
Comment 1 sangu 2013-03-10 15:51:37 UTC
Sometimes, after installing package, click super key(Activities)  -> segmentation fault

Program terminated with signal 11, Segmentation fault.
  • #0 g_icon_to_string
    at gicon.c line 211
  • #0 g_icon_to_string
    at gicon.c line 211
  • #1 load_gicon_with_colors
    at st/st-texture-cache.c line 929
  • #2 st_texture_cache_load_gicon
    at st/st-texture-cache.c line 1001
  • #3 st_icon_update
    at st/st-icon.c line 454
  • #4 _g_closure_invoke_va
    at gclosure.c line 840
  • #5 g_signal_emit_valist
    at gsignal.c line 3225
  • #6 g_signal_emit
    at gsignal.c line 3370
  • #7 st_widget_recompute_style
    at st/st-widget.c line 1587
  • #8 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #9 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #10 clutter_actor_realize
    at ./clutter-actor.c line 1926
  • #11 clutter_actor_update_map_state
    at ./clutter-actor.c line 1431
  • #12 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #13 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #14 st_widget_map
    at st/st-widget.c line 479
  • #15 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #16 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #17 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #18 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #19 st_widget_map
    at st/st-widget.c line 479
  • #20 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #21 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #22 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #23 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #24 st_widget_map
    at st/st-widget.c line 479
  • #25 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #26 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #27 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #28 clutter_actor_real_map
  • #29 st_widget_map
    at st/st-widget.c line 479
  • #30 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #31 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #32 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #33 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #34 st_widget_map
    at st/st-widget.c line 479
  • #35 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #36 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #37 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #38 clutter_actor_real_map
  • #39 st_widget_map
    at st/st-widget.c line 479
  • #40 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #41 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #42 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #43 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #44 st_widget_map
    at st/st-widget.c line 479
  • #45 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #46 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #47 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #48 clutter_actor_real_map
  • #49 st_widget_map
    at st/st-widget.c line 479
  • #50 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #51 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #52 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #53 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #54 st_widget_map
    at st/st-widget.c line 479
  • #55 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #56 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #57 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #58 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #59 st_widget_map
    at st/st-widget.c line 479
  • #60 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #61 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #62 clutter_actor_map
    at ./clutter-actor.c line 1525
  • #63 clutter_actor_real_map
    at ./clutter-actor.c line 1493
  • #64 clutter_actor_set_mapped
    at ./clutter-actor.c line 1244
  • #65 clutter_actor_update_map_state
    at ./clutter-actor.c line 1454
  • #66 clutter_actor_real_show
    at ./clutter-actor.c line 1625
  • #67 _g_closure_invoke_va
  • #68 g_signal_emit_valist
    at gsignal.c line 3225
  • #69 g_signal_emit
    at gsignal.c line 3370
  • #70 clutter_actor_show
    at ./clutter-actor.c line 1716
  • #71 ffi_call_unix64
    from /lib64/libffi.so.6
  • #72 ffi_call
    from /lib64/libffi.so.6
  • #73 gjs_invoke_c_function
    at gi/function.c line 893
  • #74 function_call
    at gi/function.c line 1202
  • #75 CallJSNative
    at jscntxtinlines.h line 701
  • #76 js::Invoke
    at jsinterp.cpp line 696
  • #77 js::Interpret
  • #78 js::RunScript
    at jsinterp.cpp line 653
  • #79 js::Invoke
    at jsinterp.cpp line 740
  • #80 js_fun_apply
    at jsfun.cpp line 2205
  • #81 CallJSNative
    at jscntxtinlines.h line 701
  • #82 js::Interpret
    at jsinterp.cpp line 4799
  • #83 js::RunScript
    at jsinterp.cpp line 653
  • #84 js::Invoke
    at jsinterp.cpp line 740
  • #85 js_fun_apply
    at jsfun.cpp line 2205
  • #86 CallJSNative
    at jscntxtinlines.h line 701
  • #87 js::Interpret
    at jsinterp.cpp line 4799
  • #88 js::RunScript
    at jsinterp.cpp line 653
  • #89 js::Invoke
    at jsinterp.cpp line 740
  • #90 js_fun_apply
    at jsfun.cpp line 2205
  • #91 CallJSNative
    at jscntxtinlines.h line 701
  • #92 js::Interpret
    at jsinterp.cpp line 4799
  • #93 js::RunScript
    at jsinterp.cpp line 653
  • #94 js::Invoke
    at jsinterp.cpp line 740
  • #95 js::CallOrConstructBoundFunction
    at jsfun.cpp line 2319
  • #96 CallJSNative
    at jscntxtinlines.h line 701
  • #97 js::Invoke
    at jsinterp.cpp line 703
  • #98 js::ExternalInvoke
  • #99 JS_CallFunctionValue
    at jsapi.cpp line 5145
  • #100 gjs_call_function_value
    at gjs/jsapi-util.c line 708
  • #101 gjs_closure_invoke
    at gi/closure.c line 276
  • #102 closure_marshal
    at gi/value.c line 127
  • #103 g_closure_invoke
    at gclosure.c line 777
  • #104 signal_emit_unlocked_R
    at gsignal.c line 3566
  • #105 g_signal_emit_valist
    at gsignal.c line 3314
  • #106 g_signal_emit
    at gsignal.c line 3370
  • #107 meta_display_overlay_key_activate
    at core/display.c line 5673
  • #108 process_overlay_key
    at core/keybindings.c line 1726
  • #109 meta_display_process_key_event
    at core/keybindings.c line 1817
  • #110 event_callback
    at core/display.c line 2058
  • #111 filter_func
    at ui/ui.c line 254
  • #112 gdk_event_apply_filters
  • #113 gdk_event_source_translate_event
    at gdkeventsource.c line 195
  • #114 _gdk_x11_display_queue_events
    at gdkeventsource.c line 338
  • #115 gdk_display_get_event
    at gdkdisplay.c line 313
  • #116 gdk_event_source_dispatch
    at gdkeventsource.c line 360
  • #117 g_main_dispatch
    at gmain.c line 3054
  • #118 g_main_context_dispatch
    at gmain.c line 3630
  • #119 g_main_context_iterate
    at gmain.c line 3701
  • #120 g_main_loop_run
    at gmain.c line 3895
  • #121 meta_run
    at core/main.c line 555
  • #122 main
    at main.c line 430

gnome-shell-3.7.91-1.fc19.x86_64
cogl-1.13.4-1.fc19.x86_64
clutter-1.13.8-1.fc19.x86_64
gtk3-3.7.12-1.fc19.x86_64
Comment 2 sangu 2013-03-21 03:58:06 UTC
After updating packages, 
Core was generated by `/usr/bin/gnome-shell'.
Program terminated with signal 6, Aborted.

(gdb) bt
  • #0 raise
    from /lib64/libc.so.6
  • #1 abort
    from /lib64/libc.so.6
  • #2 g_assertion_message
    at gtestutils.c line 1912
  • #3 g_assertion_message_expr
  • #4 clutter_actor_set_mapped
    at ./clutter-actor.c line 1255
  • #5 clutter_actor_update_map_state
    at ./clutter-actor.c line 1464
  • #6 clutter_actor_realize
    at ./clutter-actor.c line 1937
  • #7 clutter_actor_update_map_state
    at ./clutter-actor.c line 1441
  • #8 clutter_actor_map
    at ./clutter-actor.c line 1535
  • #9 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #10 st_widget_map
    at st/st-widget.c line 479
  • #11 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #12 clutter_actor_update_map_state
    at ./clutter-actor.c line 1464
  • #13 clutter_actor_map
    at ./clutter-actor.c line 1535
  • #14 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #15 st_widget_map
    at st/st-widget.c line 479
  • #16 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #17 clutter_actor_update_map_state
    at ./clutter-actor.c line 1464
  • #18 clutter_actor_map
    at ./clutter-actor.c line 1535
  • #19 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #20 st_widget_map
    at st/st-widget.c line 479
  • #21 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #22 clutter_actor_update_map_state
    at ./clutter-actor.c line 1464
  • #23 clutter_actor_map
    at ./clutter-actor.c line 1535
  • #24 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #25 st_widget_map
    at st/st-widget.c line 479
  • #26 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #27 clutter_actor_update_map_state
    at ./clutter-actor.c line 1464
  • #28 clutter_actor_map
    at ./clutter-actor.c line 1535
  • #29 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #30 st_widget_map
    at st/st-widget.c line 479
  • #31 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #32 clutter_actor_update_map_state
    at ./clutter-actor.c line 1464
  • #33 clutter_actor_map
    at ./clutter-actor.c line 1535
  • #34 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #35 st_widget_map
    at st/st-widget.c line 479
  • #36 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #37 clutter_actor_update_map_state
  • #38 clutter_actor_map
    at ./clutter-actor.c line 1535
  • #39 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #40 st_widget_map
    at st/st-widget.c line 479
  • #41 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #42 clutter_actor_update_map_state
    at ./clutter-actor.c line 1464
  • #43 clutter_actor_map
    at ./clutter-actor.c line 1535
  • #44 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #45 st_widget_map
    at st/st-widget.c line 479
  • #46 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #47 clutter_actor_update_map_state
    at ./clutter-actor.c line 1464
  • #48 clutter_actor_map
    at ./clutter-actor.c line 1535
  • #49 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #50 st_widget_map
    at st/st-widget.c line 479
  • #51 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #52 clutter_actor_update_map_state
    at ./clutter-actor.c line 1464
  • #53 clutter_actor_map
    at ./clutter-actor.c line 1535
  • #54 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #55 st_widget_map
    at st/st-widget.c line 479
  • #56 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #57 clutter_actor_update_map_state
    at ./clutter-actor.c line 1464
  • #58 clutter_actor_map
    at ./clutter-actor.c line 1535
  • #59 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #60 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #61 clutter_actor_update_map_state
    at ./clutter-actor.c line 1464
  • #62 clutter_actor_real_show
    at ./clutter-actor.c line 1636
  • #63 _g_closure_invoke_va
    at gclosure.c line 840
  • #64 g_signal_emit_valist
    at gsignal.c line 3234
  • #65 g_signal_emit
    at gsignal.c line 3384
  • #66 clutter_actor_show
    at ./clutter-actor.c line 1727
  • #67 ffi_call_unix64
    from /lib64/libffi.so.6
  • #68 ffi_call
    from /lib64/libffi.so.6
  • #69 gjs_invoke_c_function
    at gi/function.c line 893
  • #70 function_call
    at gi/function.c line 1202
  • #71 CallJSNative
    at jscntxtinlines.h line 701
  • #72 js::Invoke
    at jsinterp.cpp line 696
  • #73 js::Interpret
    at jsinterp.cpp line 4810
  • #74 js::RunScript
    at jsinterp.cpp line 653
  • #75 js::Invoke
    at jsinterp.cpp line 740
  • #76 js_fun_apply
  • #77 CallJSNative
    at jscntxtinlines.h line 701
  • #78 js::Interpret
    at jsinterp.cpp line 4799
  • #79 js::RunScript
    at jsinterp.cpp line 653
  • #80 js::Invoke
    at jsinterp.cpp line 740
  • #81 js_fun_apply
    at jsfun.cpp line 2205
  • #82 CallJSNative
    at jscntxtinlines.h line 701
  • #83 js::Interpret
    at jsinterp.cpp line 4799
  • #84 js::RunScript
    at jsinterp.cpp line 653
  • #85 js::Invoke
    at jsinterp.cpp line 740
  • #86 js_fun_apply
    at jsfun.cpp line 2205
  • #87 CallJSNative
    at jscntxtinlines.h line 701
  • #88 js::Interpret
    at jsinterp.cpp line 4799
  • #89 js::RunScript
    at jsinterp.cpp line 653
  • #90 js::Invoke
    at jsinterp.cpp line 740
  • #91 js::CallOrConstructBoundFunction
    at jsfun.cpp line 2319
  • #92 CallJSNative
    at jscntxtinlines.h line 701
  • #93 js::Invoke
    at jsinterp.cpp line 703
  • #94 js::ExternalInvoke
  • #95 JS_CallFunctionValue
    at jsapi.cpp line 5145
  • #96 gjs_call_function_value
    at gjs/jsapi-util.c line 708
  • #97 gjs_closure_invoke
    at gi/closure.c line 276
  • #98 closure_marshal
    at gi/value.c line 127
  • #99 g_closure_invoke
    at gclosure.c line 777
  • #100 signal_emit_unlocked_R
  • #101 g_signal_emit_valist
    at gsignal.c line 3328
  • #102 g_signal_emit
    at gsignal.c line 3384
  • #103 meta_display_overlay_key_activate
    at core/display.c line 5672
  • #104 process_overlay_key
    at core/keybindings.c line 1732
  • #105 meta_display_process_key_event
    at core/keybindings.c line 1823
  • #106 event_callback
    at core/display.c line 2056
  • #107 filter_func
    at ui/ui.c line 254
  • #108 gdk_event_apply_filters
    at gdkeventsource.c line 81
  • #109 gdk_event_source_translate_event
  • #110 _gdk_x11_display_queue_events
    at gdkeventsource.c line 338
  • #111 gdk_display_get_event
    at gdkdisplay.c line 313
  • #112 gdk_event_source_dispatch
    at gdkeventsource.c line 360
  • #113 g_main_dispatch
    at gmain.c line 3054
  • #114 g_main_context_dispatch
    at gmain.c line 3630
  • #115 g_main_context_iterate
    at gmain.c line 3701
  • #116 g_main_loop_run
    at gmain.c line 3895
  • #117 meta_run
    at core/main.c line 556
  • #118 main
    at main.c line 430

gnome-shell-3.7.92-1.fc19.x86_64
clutter-1.13.10-1.fc19.x86_64
gtk3-3.7.14-1.fc19.x86_64
glib2-2.35.9-1.fc19.x86_64
Comment 3 Matthias Clasen 2013-03-24 14:19:44 UTC
Has anybody tried reproducing this ?
Comment 4 Matthias Clasen 2013-03-26 12:57:47 UTC
doesn't seem to be the case :-(
Comment 5 sangu 2013-03-27 13:30:05 UTC
in gnome-shell 3.8
# yum update totem gnome* vte3 zenity
# cat /var/log/yum.log
[....]
Mar 27 22:13:26 Updated: gnome-icon-theme-3.8.0-1.fc19.noarch
Mar 27 22:13:27 Updated: vte3-0.34.3-1.fc19.x86_64
Mar 27 22:13:29 Updated: 1:totem-3.8.0-1.fc19.x86_64
Mar 27 22:13:31 Updated: gnome-desktop3-3.8.0-1.fc19.x86_64
Mar 27 22:13:32 Updated: gnome-online-accounts-3.8.0-1.fc19.x86_64
Mar 27 22:13:33 Updated: 1:gnome-bluetooth-libs-3.8.0-1.fc19.x86_64
Mar 27 22:13:34 Updated: 1:gnome-bluetooth-3.8.0-1.fc19.x86_64
Mar 27 22:13:34 Updated: gnome-online-accounts-devel-3.8.0-1.fc19.x86_64
Mar 27 22:13:36 Updated: gnome-color-manager-3.8.0-1.fc19.x86_64
Mar 27 22:13:37 Updated: 1:totem-nautilus-3.8.0-1.fc19.x86_64
Mar 27 22:13:37 Updated: vte3-devel-0.34.3-1.fc19.x86_64
Mar 27 22:13:38 Updated: gnome-power-manager-3.8.0-1.fc19.x86_64
Mar 27 22:13:39 Updated: gnome-boxes-3.8.0-1.fc19.x86_64
Mar 27 22:13:42 Updated: gnome-packagekit-3.8.0-1.fc19.x86_64
Mar 27 22:13:43 Updated: gnome-icon-theme-symbolic-3.8.0.1-1.fc19.noarch
Mar 27 22:13:44 Updated: gnome-icon-theme-legacy-3.8.0-1.fc19.noarch
Mar 27 22:13:46 Updated: gnome-calculator-3.8.0-1.fc19.x86_64
Mar 27 22:13:47 Updated: gnome-system-monitor-3.8.0-1.fc19.x86_64
Mar 27 22:13:49 Updated: gnome-getting-started-docs-3.8.0.1-1.fc19.noarch
Mar 27 22:13:51 Updated: zenity-3.8.0-2.fc19.x86_64

Click Super key
Core was generated by `/usr/bin/gnome-shell'.
Program terminated with signal 11, Segmentation fault.
  • #0 g_str_hash
    at ghash.c line 1732
  • #0 g_str_hash
    at ghash.c line 1732
  • #1 icon_info_key_hash
    at gtkicontheme.c line 391
  • #2 g_hash_table_lookup_node
    at ghash.c line 365
  • #3 g_hash_table_lookup
    at ghash.c line 1076
  • #4 choose_icon
    at gtkicontheme.c line 1608
  • #5 gtk_icon_theme_choose_icon
    at gtkicontheme.c line 1874
  • #6 gtk_icon_theme_lookup_by_gicon
    at gtkicontheme.c line 4882
  • #7 load_gicon_with_colors
    at st/st-texture-cache.c line 925
  • #8 st_texture_cache_load_gicon
  • #9 st_icon_update
    at st/st-icon.c line 454
  • #10 _g_closure_invoke_va
    at gclosure.c line 840
  • #11 g_signal_emit_valist
    at gsignal.c line 3234
  • #12 g_signal_emit
    at gsignal.c line 3384
  • #13 st_widget_recompute_style
    at st/st-widget.c line 1587
  • #14 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #15 clutter_actor_update_map_state
    at ./clutter-actor.c line 1441
  • #16 clutter_actor_map
    at ./clutter-actor.c line 1535
  • #17 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #18 st_widget_map
    at st/st-widget.c line 479
  • #19 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #20 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #21 st_widget_map
    at st/st-widget.c line 479
  • #22 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #23 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #24 st_widget_map
    at st/st-widget.c line 479
  • #25 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #26 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #27 st_widget_map
    at st/st-widget.c line 479
  • #28 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #29 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #30 st_widget_map
    at st/st-widget.c line 479
  • #31 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #32 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #33 st_widget_map
    at st/st-widget.c line 479
  • #34 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #35 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #36 st_widget_map
    at st/st-widget.c line 479
  • #37 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #38 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #39 st_widget_map
  • #40 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #41 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #42 st_widget_map
    at st/st-widget.c line 479
  • #43 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #44 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #45 st_widget_map
    at st/st-widget.c line 479
  • #46 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #47 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #48 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #49 clutter_actor_real_show
    at ./clutter-actor.c line 1636
  • #50 _g_closure_invoke_va
    at gclosure.c line 840
  • #51 g_signal_emit_valist
    at gsignal.c line 3234
  • #52 g_signal_emit
    at gsignal.c line 3384
  • #53 clutter_actor_show
    at ./clutter-actor.c line 1727
  • #54 ffi_call_unix64
    from /lib64/libffi.so.6
  • #55 ffi_call
    from /lib64/libffi.so.6
  • #56 gjs_invoke_c_function
    at gi/function.c line 893
  • #57 function_call
    at gi/function.c line 1202
  • #58 CallJSNative
    at jscntxtinlines.h line 701
  • #59 js::Invoke
  • #60 js::Interpret
    at jsinterp.cpp line 4810
  • #61 js::RunScript
    at jsinterp.cpp line 653
  • #62 js::Invoke
    at jsinterp.cpp line 740
  • #63 js_fun_apply
    at jsfun.cpp line 2205
  • #64 CallJSNative
    at jscntxtinlines.h line 701
  • #65 js::Interpret
    at jsinterp.cpp line 4799
  • #66 js::RunScript
    at jsinterp.cpp line 653
  • #67 js::Invoke
    at jsinterp.cpp line 740
  • #68 js_fun_apply
    at jsfun.cpp line 2205
  • #69 CallJSNative
    at jscntxtinlines.h line 701
  • #70 js::Interpret
    at jsinterp.cpp line 4799
  • #71 js::RunScript
    at jsinterp.cpp line 653
  • #72 js::Invoke
    at jsinterp.cpp line 740
  • #73 js_fun_apply
    at jsfun.cpp line 2205
  • #74 CallJSNative
    at jscntxtinlines.h line 701
  • #75 js::Interpret
    at jsinterp.cpp line 4799
  • #76 js::RunScript
  • #77 js::Invoke
    at jsinterp.cpp line 740
  • #78 js_fun_apply
    at jsfun.cpp line 2205
  • #79 CallJSNative
    at jscntxtinlines.h line 701
  • #80 js::Interpret
    at jsinterp.cpp line 4799
  • #81 js::RunScript
    at jsinterp.cpp line 653
  • #82 js::Invoke
    at jsinterp.cpp line 740
  • #83 js::CallOrConstructBoundFunction
    at jsfun.cpp line 2319
  • #84 CallJSNative
    at jscntxtinlines.h line 701
  • #85 js::Invoke
    at jsinterp.cpp line 703
  • #86 js_fun_apply
  • #87 CallJSNative
    at jscntxtinlines.h line 701
  • #88 js::Interpret
    at jsinterp.cpp line 4799
  • #89 js::RunScript
    at jsinterp.cpp line 653
  • #90 js::Invoke
    at jsinterp.cpp line 740
  • #91 js_fun_apply
    at jsfun.cpp line 2205
  • #92 CallJSNative
    at jscntxtinlines.h line 701
  • #93 js::Interpret
    at jsinterp.cpp line 4799
  • #94 js::RunScript
    at jsinterp.cpp line 653
  • #95 js::Invoke
    at jsinterp.cpp line 740
  • #96 js_fun_apply
    at jsfun.cpp line 2205
  • #97 CallJSNative
    at jscntxtinlines.h line 701
  • #98 js::Interpret
    at jsinterp.cpp line 4799
  • #99 js::RunScript
    at jsinterp.cpp line 653
  • #100 js::Invoke
    at jsinterp.cpp line 740
  • #101 js::CallOrConstructBoundFunction
    at jsfun.cpp line 2319
  • #102 CallJSNative
    at jscntxtinlines.h line 701
  • #103 js::Invoke
    at jsinterp.cpp line 703
  • #104 js::ExternalInvoke
  • #105 JS_CallFunctionValue
    at jsapi.cpp line 5145
  • #106 gjs_call_function_value
    at gjs/jsapi-util.c line 708
  • #107 gjs_closure_invoke
    at gi/closure.c line 276
  • #108 closure_marshal
    at gi/value.c line 127
  • #109 g_closure_invoke
    at gclosure.c line 777
  • #110 signal_emit_unlocked_R
  • #111 g_signal_emit_valist
    at gsignal.c line 3328
  • #112 g_signal_emit
    at gsignal.c line 3384
  • #113 meta_barrier_fire_event
    at core/barrier.c line 354
  • #114 meta_display_process_barrier_event
    at core/barrier.c line 373
  • #115 event_callback
    at core/display.c line 2417
  • #116 filter_func
    at ui/ui.c line 254
  • #117 gdk_event_apply_filters
    at gdkeventsource.c line 81
  • #118 gdk_event_source_translate_event
    at gdkeventsource.c line 195
  • #119 _gdk_x11_display_queue_events
    at gdkeventsource.c line 338
  • #120 gdk_display_get_event
    at gdkdisplay.c line 313
  • #121 gdk_event_source_dispatch
    at gdkeventsource.c line 360
  • #122 g_main_dispatch
    at gmain.c line 3054
  • #123 g_main_context_dispatch
    at gmain.c line 3630
  • #124 g_main_context_iterate
    at gmain.c line 3701
  • #125 g_main_loop_run
    at gmain.c line 3895
  • #126 meta_run
    at core/main.c line 556
  • #127 main
    at main.c line 430

Comment 6 Giovanni Campagna 2013-03-28 23:02:46 UTC
Bug 696720 has a patch that I wrote after I experienced a similar crash.
Running with that applied, gnome-shell hasn't crashed yet.
Comment 7 Michael Schwendt 2013-04-03 09:15:49 UTC
The backtrace in https://bugzilla.redhat.com/928755 looks similar, but it's lacking some details because ABRT hasn't been nice to me lately.

About reproducibility: After an ordinary "yum update" GNOME Shell has crashed for me every day when moving the mouse pointer to the Activities hotspot. It appeared like frozen, then restarted. After some days I've thought the crash would be the same each time, but ABRT had generated a different backtrace, too: https://bugzilla.redhat.com/926043
Comment 8 sangu 2013-04-24 10:47:56 UTC
This issue still happens in GNOME 3.8.1.
ABRT Server: URL = https://retrace.fedoraproject.org/faf/reports/87760/
Bugzilla: URL = https://bugzilla.redhat.com/show_bug.cgi?id=914942
Comment 9 sangu 2013-05-23 00:33:31 UTC
in gnome-shell 3.8.2 
After updating gnome-photos package, 
click super key -> gnome-shell crashes.

Core was generated by `/usr/bin/gnome-shell'.
Program terminated with signal 11, Segmentation fault.
  • #0 g_str_hash
    at ghash.c line 1732
  • #0 g_str_hash
    at ghash.c line 1732
  • #1 icon_info_key_hash
    at gtkicontheme.c line 391
  • #2 g_hash_table_lookup_node
    at ghash.c line 365
  • #3 g_hash_table_lookup
    at ghash.c line 1076
  • #4 choose_icon
    at gtkicontheme.c line 1608
  • #5 gtk_icon_theme_choose_icon
    at gtkicontheme.c line 1874
  • #6 gtk_icon_theme_lookup_by_gicon
    at gtkicontheme.c line 4882
  • #7 load_gicon_with_colors
    at st/st-texture-cache.c line 925
  • #8 st_texture_cache_load_gicon
  • #9 st_icon_update
    at st/st-icon.c line 449
  • #10 _g_closure_invoke_va
    at gclosure.c line 840
  • #11 g_signal_emit_valist
    at gsignal.c line 3234
  • #12 g_signal_emit
    at gsignal.c line 3384
  • #13 st_widget_recompute_style
    at st/st-widget.c line 1587
  • #14 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #15 clutter_actor_update_map_state
    at ./clutter-actor.c line 1441
  • #16 clutter_actor_map
    at ./clutter-actor.c line 1535
  • #17 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #18 st_widget_map
  • #19 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #20 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #21 st_widget_map
    at st/st-widget.c line 479
  • #22 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #23 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #24 st_widget_map
    at st/st-widget.c line 479
  • #25 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #26 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #27 st_widget_map
    at st/st-widget.c line 479
  • #28 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #29 clutter_actor_real_map
  • #30 st_widget_map
    at st/st-widget.c line 479
  • #31 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #32 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #33 st_widget_map
    at st/st-widget.c line 479
  • #34 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #35 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #36 st_widget_map
    at st/st-widget.c line 479
  • #37 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #38 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #39 st_widget_map
    at st/st-widget.c line 479
  • #40 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #41 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #42 st_widget_map
    at st/st-widget.c line 479
  • #43 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #44 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #45 st_widget_map
    at st/st-widget.c line 479
  • #46 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #47 clutter_actor_real_map
    at ./clutter-actor.c line 1503
  • #48 clutter_actor_set_mapped
    at ./clutter-actor.c line 1254
  • #49 clutter_actor_real_show
    at ./clutter-actor.c line 1636
  • #50 _g_closure_invoke_va
  • #51 g_signal_emit_valist
    at gsignal.c line 3234
  • #52 g_signal_emit
    at gsignal.c line 3384
  • #53 clutter_actor_show
    at ./clutter-actor.c line 1727
  • #54 ffi_call_unix64
    from /lib64/libffi.so.6
  • #55 ffi_call
    from /lib64/libffi.so.6
  • #56 gjs_invoke_c_function
    at gi/function.c line 893
  • #57 function_call
    at gi/function.c line 1202
  • #58 CallJSNative
    at jscntxtinlines.h line 701
  • #59 js::Invoke
    at jsinterp.cpp line 696
  • #60 js::Interpret
    at jsinterp.cpp line 4810
  • #61 js::RunScript
    at jsinterp.cpp line 653
  • #62 js::Invoke
    at jsinterp.cpp line 740
  • #63 js_fun_apply
    at jsfun.cpp line 2205
  • #64 CallJSNative
    at jscntxtinlines.h line 701
  • #65 js::Interpret
    at jsinterp.cpp line 4799
  • #66 js::RunScript
    at jsinterp.cpp line 653
  • #67 js::Invoke
    at jsinterp.cpp line 740
  • #68 js_fun_apply
  • #69 CallJSNative
    at jscntxtinlines.h line 701
  • #70 js::Interpret
    at jsinterp.cpp line 4799
  • #71 js::RunScript
    at jsinterp.cpp line 653
  • #72 js::Invoke
    at jsinterp.cpp line 740
  • #73 js_fun_apply
    at jsfun.cpp line 2205
  • #74 CallJSNative
    at jscntxtinlines.h line 701
  • #75 js::Interpret
    at jsinterp.cpp line 4799
  • #76 js::RunScript
    at jsinterp.cpp line 653
  • #77 js::Invoke
    at jsinterp.cpp line 740
  • #78 js::CallOrConstructBoundFunction
    at jsfun.cpp line 2319
  • #79 CallJSNative
    at jscntxtinlines.h line 701
  • #80 js::Invoke
    at jsinterp.cpp line 703
  • #81 js::ExternalInvoke
    at jsinterp.cpp line 863
  • #82 JS_CallFunctionValue
    at jsapi.cpp line 5145
  • #83 gjs_call_function_value
    at gjs/jsapi-util.c line 715
  • #84 gjs_closure_invoke
    at gi/closure.c line 276
  • #85 closure_marshal
    at gi/value.c line 129
  • #86 g_closure_invoke
    at gclosure.c line 777
  • #87 signal_emit_unlocked_R
    at gsignal.c line 3584
  • #88 g_signal_emit_valist
    at gsignal.c line 3328
  • #89 g_signal_emit
    at gsignal.c line 3384
  • #90 meta_display_process_key_event
    from /lib64/libmutter.so.0
  • #91 event_callback
    from /lib64/libmutter.so.0
  • #92 filter_func
    from /lib64/libmutter.so.0
  • #93 gdk_event_apply_filters
  • #94 gdk_event_source_translate_event
    at gdkeventsource.c line 195
  • #95 _gdk_x11_display_queue_events
    at gdkeventsource.c line 338
  • #96 gdk_display_get_event
    at gdkdisplay.c line 313
  • #97 gdk_event_source_dispatch
    at gdkeventsource.c line 360
  • #98 g_main_dispatch
    at gmain.c line 3054
  • #99 g_main_context_dispatch
    at gmain.c line 3630
  • #100 g_main_context_iterate
    at gmain.c line 3701
  • #101 g_main_loop_run
    at gmain.c line 3895
  • #102 meta_run
    from /lib64/libmutter.so.0
  • #103 main
    at main.c line 430

Comment 10 Alexander Larsson 2013-06-19 08:30:00 UTC
I think i figured out how this happens. The crash starts in st_icon_update() where we do:

      priv->pending_texture = st_texture_cache_load_gicon (cache,
                                                           theme_node,
                                                           priv->gicon,
                                                           priv->icon_size);

passing in priv->gicon. This code will get the array of icon names from the GIcon, and eventually end up in gtk_icon_theme_choose_icon(), which does:

  ensure_valid_themes (icon_theme);

  key.icon_names = (char **)icon_names;
  key.size = size;
  key.flags = flags;

  icon_info = g_hash_table_lookup (priv->info_cache, &key);

The lookup crashes when its calculating the hash value for key because key.icon_names seem to point to some bad memory. This seems weird, because we just passed in the icon names from the icon!

However, notice the call to ensure_valid_themes() before the lookup. If the user recently installed or updated an icon in the icon theme this will emit the icon theme changed signal. My guess is that gnome-shell somehow catches this and resets priv->gicon on the StIcon, freeing the old GIcon an thus making icon_names point to some invalid memory.
Comment 11 Alexander Larsson 2013-06-19 09:15:03 UTC
Created attachment 247241 [details] [review]
IconTheme: Move changed emission to an idle

By delaying the emission to an idle we avoid a lot of tricky
reentrancy issues. For instance, a normal gtk_icon_theme_choose_icon()
call could in very rare cases (when a user updated an icon theme) emit
a signal which could affect the icon currently being looked up.  This
kind of reentrancy is very hard to test against, especially when it is
so rare, so we're better of avoiding it.

There is no real value to get the change signal directly anyway. All
it can do is affect which icon is rendered the next frame, and we will
handle the queued emission before rendering. Not to mention that icon
theme change detection is polled anyway, so it is already delayed.
Comment 12 Alexander Larsson 2013-06-19 09:16:00 UTC
Comment on attachment 247241 [details] [review]
IconTheme: Move changed emission to an idle

Attachment 247241 [details] pushed as 159cccf - IconTheme: Move changed emission to an idle
Comment 13 Alexander Larsson 2013-06-19 09:17:13 UTC
I believe this patch should fix this bug, but i can't reproduce the actual crash so i can't verify this.
Comment 14 Matthias Clasen 2013-06-19 21:58:55 UTC
Patch has been committed
Comment 15 Giovanni Campagna 2013-07-04 13:13:50 UTC
*** Bug 702701 has been marked as a duplicate of this bug. ***
Comment 16 Giovanni Campagna 2013-08-16 20:14:20 UTC
*** Bug 704954 has been marked as a duplicate of this bug. ***