maemo.org Bugzilla – Bug 3997
dbus-glib 0.78-0maemo1 causes hildon-desktop to crash in background-manager.h
Last modified: 2009-01-26 00:02:41 UTC
You need to log in before you can comment on or make changes to this bug.
SOFTWARE VERSION: hildon-desktop from fremantle pre-alpha SDK STEPS TO REPRODUCE THE PROBLEM: Build and run hildon-desktop, with dbus-glib 0.78-0maemo1 EXPECTED OUTCOME: That it runs without SIGSEGVing.. ;) ACTUAL OUTCOME: SIGSEGV: #0 0x408f3674 in IA__g_type_check_is_value_type (type=2097191) at gtype.c:3827 #1 0x408fa5a4 in IA__g_value_init (value=0x2a0f3a00, g_type=2097191) at gvalue.c:173 #2 0x40878978 in dbus_g_proxy_begin_call_with_timeout (proxy=0x0, method=0x2a0418b8 "SetBackground", notify=0x2a01afac <org_maemo_hildon_background_manager_set_background_async_callback>, user_data=0x2a103180, destroy=0x2a01c6c0 <_dbus_glib_async_data_free>, timeout=24, first_arg_type=64) at dbus-gproxy.c:2496 #3 0x2a01c6a4 in org_maemo_hildon_background_manager_set_background_async ( proxy=0x2a27eda0, IN_picture_id=2097191, IN_width=200, IN_height=200, IN_filename=0x2a089a48 "", IN_cache=0x2a0892f0 "", IN_mode=0, callback=0x2a01c020 <hd_home_background_apply_async_dbus_callback>, userdata=0x2a089848) at ../background-manager/hildon-background-manager.h:171 #4 0x2a01c5a0 in hd_home_background_apply_async (background=0x2a2559b0, window=0x2a070378, cb=0x2a014d28 <background_apply_callback>, user_data=0x2a259048) at hd-home-background.c:627 #5 0x400afb64 in g_cclosure_user_marshal_VOID__POINTER_POINTER_POINTER ( closure=0x2a25f118, return_value=0x0, n_param_values=4, param_values=0x2a25e068, invocation_hint=0xbe8ce084, marshal_data=0x2a01c1f0) at hildon-desktop-marshalers.c:223 #6 0x408d41f8 in g_type_class_meta_marshal (closure=0x2a25f118, return_value=0x0, n_param_values=4, param_values=0x2a25e068, invocation_hint=0xbe8ce084, marshal_data=0x40097000) at gclosure.c:878 #7 0x408d5c70 in IA__g_closure_invoke (closure=0x2a25f118, return_value=0x0, n_param_values=4, param_values=0x2a25e068, invocation_hint=0xbe8ce084) at gclosure.c:767 #8 0x408ec7f0 in signal_emit_unlocked_R (node=0x0, detail=186, instance=0xb0, emission_return=0x0, instance_and_params=0x2a25e068) at gsignal.c:3174 #9 0x408ee7dc in IA__g_signal_emit_valist (instance=0x2a2559b0, signal_id=<value optimized out>, detail=3, var_args=0xbe8ce210) at gsignal.c:2977 #10 0x408eec60 in IA__g_signal_emit (instance=0x200027, signal_id=2097191, detail=704728360) at gsignal.c:3034 #11 0x400cf1e4 in hildon_desktop_background_apply_async ( background=0x2a2559b0, window=0x2a070378, cb=0x2a014d28 <background_apply_callback>, user_data=0x2a259048) at hildon-desktop-background.c:414 #12 0x2a0158f8 in hd_home_window_map_event (widget=0x2a259048, event=0x2a2ef5b0) at hd-home-window.c:928 #13 0x402d0d0c in _gtk_marshal_BOOLEAN__BOXED (closure=0x2a08f330, return_value=0xbe8ce378, n_param_values=<value optimized out>, param_values=0x2a2f4800, invocation_hint=0xbe8ce364, marshal_data=0x2a015890) at gtkmarshalers.c:84 #14 0x408d41f8 in g_type_class_meta_marshal (closure=0x2a08f330, return_value=0xbe8ce378, n_param_values=2, param_values=0x2a2f4800, invocation_hint=0xbe8ce364, marshal_data=0x8002) at gclosure.c:878 #15 0x408d5c70 in IA__g_closure_invoke (closure=0x2a08f330, return_value=0xbe8ce378, n_param_values=2, param_values=0x2a2f4800, invocation_hint=0xbe8ce364) at gclosure.c:767 #16 0x408ecd64 in signal_emit_unlocked_R (node=0x0, detail=186, instance=0x48, emission_return=0xbe8ce378, instance_and_params=0x2a2f4800) at gsignal.c:3282 #17 0x408ee660 in IA__g_signal_emit_valist (instance=0x2a259048, signal_id=<value optimized out>, detail=1, var_args=0xbe8ce4e8) at gsignal.c:2987 #18 0x408eec60 in IA__g_signal_emit (instance=0x200027, signal_id=2097191, detail=3196904692) at gsignal.c:3034 #19 0x403f5f8c in gtk_widget_event_internal (widget=0x2a259048, event=0x2a2ef5b0) at gtkwidget.c:4955 #20 0x402cb680 in IA__gtk_main_do_event (event=0x2a2ef5b0) at gtkmain.c:1588 #21 0x4055bfa4 in gdk_event_dispatch (source=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at gdkevents-x11.c:2351 #22 0x4094ab7c in IA__g_main_context_dispatch (context=0x0) at gmain.c:2142 #23 0x4094e5e4 in g_main_context_iterate (context=0x2a072410, block=705208304, dispatch=1082308556, self=<value optimized out>) at gmain.c:2776 #24 0x4094eb00 in IA__g_main_loop_run (loop=0x2a089ff0) at gmain.c:2984 #25 0x402cbb3c in IA__gtk_main () at gtkmain.c:1163 #26 0x2a03f060 in main (argc=1, argv=0xbe8ce814) at main.c:186 (gdb) REPRODUCIBILITY: always EXTRA SOFTWARE INSTALLED: dbus-glib 0.78-0maemo1 OTHER COMMENTS: The problem is caused by this golden nugget in background/Makefile.am: cat background-manager.h background-manager-dbus.h hildon-background-manager-tmp.h |\ sed 's/dbus_g_proxy_begin_call/dbus_g_proxy_begin_call_with_timeout/' |\ sed 's/g_free, /g_free, 120000, /' \ > hildon-background-manager.h Whereas 0.78 (it seems like), instead of using g_free, uses dbus_glib_async_data_free which then causes the second sed to fail, and leads to a dbus_g_proxy_begin_call_with_timeout without timeout parameter, which in the end leads to the crash. Confirmed fix (for this dbus-glib version) is to change g_free into dbus_glib_async_data_free. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; da; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
Moving to SDK after talking with Eero, as we all know that Fremantle pre-alpha SDK "is still based on the Maemo 4.1.x UI".
This is WONTFIX since the real Hildon Desktop will come in the alpha version. Having the Diablo Hildon Desktop on top of the Fremantle middleware is a transitional solution to ship the pre-alpha earlier.
Fair enough - we've fixed this in our branch, bug was reported in case if background-manager survived in the next H-D :)