GNOME Bugzilla – Bug 631472
file-roller crashes when clicking Cancel in Add Files
Last modified: 2010-10-06 07:30:26 UTC
Created attachment 171791 [details] patch fixing issue 1) Create a directory $HOME/Desktop/Test that is empty. 2) Launch file-roller 3) Create a new tar archive by going to File->New, give it a name, say "test" and click "Create". 3) Go to Edit->Add Files..." 4) In the "Add Files" dialog navigate to the empty $HOME/Desktop/Test folder and then click on "Cancel" button Then file-roller crashes with the following stack trace. The attached ptach fixes this problem by simply avoiding the call to eel_gconf_set_string if the "uri" value is NULL. Stack trace follows... ----------------- lwp# 1 / thread# 1 -------------------- fee53ac0 strlen (81228d8, 0, 80465a8, fdfadfc6) + 30 fdfae155 ORBit_marshal_value (81228d8, 80465e4, fdfe4fe8, fdfadfc6) + 19d fdfae26a ORBit_marshal_value (81228d8, 8046644, fe028fd8, feed49c6) + 2b2 fdfa5759 orbit_small_marshal (812d340, 80e2020, 80466a0, 80466e0, fe027fe0, 8046798) + f9 fdfa60ac ORBit_small_invoke_stub (812d340, fe027fe0, 0, 8046798, 0, 80467e0) + 11c fdfa5f6c ORBit_small_invoke_stub_n (812d340, fe027e3c, 6, 0, 8046798, 0) + 40 fdfb89cc ORBit_c_stub_invoke (812d340, fe027e3c, 6, 0, 8046798, 0) + 100 fe01294d ConfigDatabase_set (812d340) + 51 fe00a58c gconf_engine_set (8122ac8) + 19c fe00c5de error_checked_set (8122ac8, 80a6704, 82e4040, 804688c) + 2a fe00c6e7 gconf_engine_set_string (8122ac8, 80a6704, 0, 804688c) + 3b fe00edcb gconf_client_set_string (811ec50) + 5b 0809deb0 eel_gconf_set_string (80a6704, 0) + 78 0806dcd4 file_sel_response_cb (82b9b68, fffffffa, 8365cb8, fede832a) + 5c fede8399 g_cclosure_marshal_VOID__INT (82c61a8, 0, 2, 82cf4f0, 8046a98, 0) + 7d fedcfad2 g_closure_invoke (82c61a8, 0, 2, 82cf4f0, 8046a98, ffffffff) + d6 fede6fbc signal_emit_unlocked_R (81118c0, 0, 82b9b68, 0, 82cf4f0, 82b9b68) + c64 fede5f70 g_signal_emit_valist (82b9b68, 59, 0, 8046c7c) + 908 fede6161 g_signal_emit (82b9b68, 59, 0, fffffffa) + 25 fe90654e gtk_dialog_response (82b9b68, fffffffa, 8046cb8, fe905e58) + 3e fe905e79 action_widget_activated (82b7358, 82b9b68, 8046ce8, fede806a) + 2d fede80bb g_cclosure_marshal_VOID__VOID (82e7778, 0, 1, 81bdcc8, 8046e28, 0) + 5f fedcfad2 g_closure_invoke (82e7778, 0, 1, 81bdcc8, 8046e28, 1) + d6 fede6fbc signal_emit_unlocked_R (80f1958, 0, 82b7358, 0, 81bdcc8, 82b7358) + c64 fede5f70 g_signal_emit_valist (82b7358, 65, 0, 804700c) + 908 fede6161 g_signal_emit (82b7358, 65, 0, fe8d8134) + 25 fe8d815a gtk_button_clicked (82b7358, 0, 0, fe8d9050) + 3e fe8d9080 gtk_real_button_released (82b7358, 810fa30, 0, fede806a) + 3c fede80bb g_cclosure_marshal_VOID__VOID (810e1e8, 0, 1, 8363450, 80471e8, fe8d9044) + 5f fedcfdc2 g_type_class_meta_marshal (810e1e8, 0, 1, 8363450, 80471e8, 1a4) + 46 fedcfad2 g_closure_invoke (810e1e8, 0, 1, 8363450, 80471e8, 82c6290) + d6 fede6b87 signal_emit_unlocked_R (80f1928, 0, 82b7358, 0, 8363450, 82b7358) + 82f fede5f70 g_signal_emit_valist (82b7358, 64, 0, 80473cc) + 908 fede6161 g_signal_emit (82b7358, 64, 0, fe8d80bc) + 25 fe8d80e2 gtk_button_released (82b7358, 0, 8047408, fe8d8e90) + 3e fe8d8eab gtk_button_button_release (82b7358, 82574f0) + 27 fe983a22 _gtk_marshal_BOOLEAN__BOXED (80e6f30, 8047590, 2, 823cd18, 80475b8, fe8d8e84) + 76 fedcfdc2 g_type_class_meta_marshal (80e6f30, 8047590, 2, 823cd18, 80475b8, b4) + 46 fedcfad2 g_closure_invoke (80e6f30, 8047590, 2, 823cd18, 80475b8, 82c6290) + d6 fede77ac signal_emit_unlocked_R (80ebac0, 0, 82b7358, 80476f0, 823cd18, 14) + 1454 fede5d6a g_signal_emit_valist (82b7358, 22, 0, 804779c) + 702 fede6161 g_signal_emit (82b7358, 22, 0, 82574f0, 80477bc, 8195ff0) + 25 feaa99fc gtk_widget_event_internal (82b7358, 82574f0, 80477e8, feaa9596) + 250 feaa962f gtk_widget_event (82b7358, 82574f0, 8047828, fe982459) + af fe982554 gtk_propagate_event (82b7358, 82574f0, 8047858, fe980f0a) + 118 fe9812f2 gtk_main_do_event (82574f0, 0, 80478a8, fe7a42b2) + 3f6 fe7a4302 gdk_event_dispatch (80e4f48, 0, 0, fecf97bc) + 5a fecf9982 g_main_context_dispatch (80e4f90, 0, 8122b90, b) + 262 fecfa02d g_main_context_iterate (80e4f90, 1, 1, 80c88a8) + 47d fecfa659 g_main_loop_run (8125520, 8125520, 0, fe980b02) + 1dd fe980bab gtk_main (29, fef77c4c, 80a564f, 0, 8047a1c, feffb8ec) + b7 080a3366 main (1, 8047a60, 8047a68, 8047a1c) + 132 0806ca1d _start (1, 8047b7c, 0, 8047b88, 8047bac, 8047bbe) + 7d ----------------- lwp# 9 / thread# 9 -------------------- feedc4f9 __lwp_park (821f520, 8124158) + 19 feed5afd cond_wait_queue (821f520, 8124158, f8f01e08, feed5d46) + 60 feed5f23 cond_wait_common (821f520, 8124158, f8f01e08, feed6166) + 1eb feed61be __cond_timedwait (821f520, 8124158, f8f01e88, feed6250) + 66 feed6261 cond_timedwait (821f520, 8124158, f8f01e88, feed6294) + 27 feed62ac pthread_cond_timedwait (821f520, 8124158, f8f01e88, fe361975) + 24 fe3619bf g_cond_timed_wait_posix_impl (821f520, 8124158, f8f01f38, fecd050a) + 57 fecd058c g_async_queue_pop_intern_unlocked (8124138, 0, f8f01f38, fecd09ba) + 90 fecd0a10 g_async_queue_timed_pop (8124138, f8f01f38, 82c1bb8, fed2380e) + 64 fed238ca g_thread_pool_wait_for_new_pool (fedb3a6c, fedb27c4, 4c79ebc5, 40fee, fedb3a7c, 0) + ca fed23b1c g_thread_pool_thread_proxy (82bfba8, 8321fb8, 200, fed222e6) + 180 fed2240b g_thread_create_proxy (8321fb8, fef6f000, f8f01fe8, feedc1be) + 133 feedc213 _thrp_setup (fe212200) + 9b feedc4a0 _lwp_start (fe212200, 0, 0, 0, 0, 0)
Patch applied to gnome-2-32 and master branches, thank you.