problems with dbus 0.62

Joe Marcus Clarke marcus at marcuscom.com
Fri Aug 25 06:02:23 UTC 2006


On Sun, 2006-08-20 at 21:37 +0000, Roman Bogorodskiy wrote:
> Hi,
> 
> I have a problem with porting bmpx 0.21.0. When I start it, a coredump
> occurs somewhere in dbus. Here's a backtrace:
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x805e50400 (LWP 100141)]
> 0x0000000802525009 in array_copy (type=34458988128, src=0x50) at dbus-gvalue-utils.c:689
> 689     dbus-gvalue-utils.c: No such file or directory.
>         in dbus-gvalue-utils.c
> Current language:  auto; currently c
> (gdb) bt
> #0  0x0000000802525009 in array_copy (type=34458988128, src=0x50) at dbus-gvalue-utils.c:689
> #1  0x0000000802521750 in proxy_collect_value (value=0x7fffffffd8a8, n_collect_values=1, collect_values=0x7fffffffd830,
>     collect_flags=0) at dbus-gtype-specialized.c:158
> #2  0x0000000804ef40fa in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.0
> #3  0x0000000804ef48a3 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.0
> #4  0x000000000060373d in (anonymous namespace)::playlist_callback_tracklist_items_added (playlist=0x806082d00,
>     added_rows=0x80608c300, n_added_rows=0, control=0x806083940) at system_control.cpp:1312
> #5  0x00000000006c437e in bmpx_VOID__POINTER_INT (closure=0x805e97030, return_value=0x0, n_param_values=3,
>     param_values=0x7fffffffded0, invocation_hint=0x7fffffffdd50, marshal_data=0x0) at bmp-marshalers.c:159
> #6  0x0000000804edee19 in g_closure_invoke () from /usr/local/lib/libgobject-2.0.so.0
> #7  0x0000000804ef3028 in g_signal_has_handler_pending () from /usr/local/lib/libgobject-2.0.so.0
> #8  0x0000000804ef44d3 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.0
> #9  0x0000000804ef48a3 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.0
> #10 0x00000000005b70ee in bmp_playlist_insert_items (playlist=0x806082d00, list=@0x7fffffffe1d0, index=40)
>     at playlist.cpp:507
> #11 0x0000000000603999 in bmp_system_control_add_uri_list (control=0x806083940, strv=0x80609dbb0, position=-1, clear=0,
>     start_playback=0, index=0, position_out=0x7fffffffe31c, error=0x0) at system_control.cpp:1387
> #12 0x00000000005b5774 in (anonymous namespace)::load_playlist (playlist=0x806082d00) at playlist.cpp:113
> #13 0x00000000005b792e in bmp_playlist_load_playlist (playlist=0x806082d00) at playlist.cpp:635
> #14 0x0000000000576038 in main (argc=1, argv=0x7fffffffe540) at main.cpp:660
> (gdb)
> 
> However, this behaviour cannot be reproduced on linux systems with the same dbus version.
> 
> Some details:
> 
> I'm running -CURRENT (two weeks old or so), FreeBSD/amd64, /etc/malloc.conf -> aj (I have
> exactly the same with /etc/malloc.conf -> AJ). As for bmpx, you could download it here:
> http://files.beep-media-player.org/releases/0.21/bmpx-0.21.0.tar.bz2. It builds fine on
> FreeBSD so it would not be much problem to compile it.

Seems to me like a bug in bmpx at line 1312.  At both lines 1181 and
12000,  the BMP_SYSTEM_CONTROL_SIGNAL_TRACKLIST_ITEMS_ADDED signal is
defined to pass two arguments: an integer array, and an integer.
However, at line 1312, the signal is emitted with no arguments.

Try changing line 1312 to:

g_signal_emit (G_OBJECT (control), signals[BMP_SYSTEM_CONTROL_SIGNAL_TRACKLIST_ITEMS_ADDED], 0, added_rows, n_added_rows);

And see if that helps.

Joe

> 
> PS Please CC.
> 
> Roman Bogorodskiy
-- 
PGP Key : http://www.marcuscom.com/pgp.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-gnome/attachments/20060825/341ec5b5/attachment.pgp


More information about the freebsd-gnome mailing list