Bug 3997 - dbus-glib 0.78-0maemo1 causes hildon-desktop to crash in background-manager.h
: dbus-glib 0.78-0maemo1 causes hildon-desktop to crash in background-manager.h
Status: RESOLVED WONTFIX
Product: Development platform
SDK
: 5.0-alpha-pre1
: All Maemo
: Low critical (vote)
: ---
Assigned To: Soumya
: sdk-bugs
:
: crash
:
:
  Show dependency tree
 
Reported: 2009-01-12 12:22 UTC by Carsten Munk
Modified: 2009-01-26 00:02 UTC (History)
3 users (show)

See Also:


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description Carsten Munk (reporter) maemo.org 2009-01-12 12:22:24 UTC
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
Comment 1 Andre Klapper maemo.org 2009-01-12 17:34:39 UTC
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".
Comment 2 Quim Gil nokia 2009-01-25 21:18:20 UTC
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.
Comment 3 Carsten Munk (reporter) maemo.org 2009-01-26 00:02:41 UTC
Fair enough - we've fixed this in our branch, bug was reported in case if
background-manager survived in the next H-D :)