[sugar] gabble segfaults and how to reproduce them

Dan Williams dcbw at redhat.com
Thu Apr 12 00:07:17 EDT 2007


On Wed, 2007-04-11 at 23:57 -0400, Dan Williams wrote:
> After doing the following, suggested by daf on IRC:
> 
> darcs pull http://projects.collabora.co.uk/~monkey/telepathy-gabble-olpc/
> darcs pull http://projects.collabora.co.uk/~monkey/telepathy-gabble-olpc-rob-review/
> 
> I still get a segfault on activity changes:
> 
> #0  0x0808beeb in tp_handle_inspect (self=0x0, handle=3) at handle-repo.c:429
> #1  0x0806a4f3 in activity_info_get_room (info=<value optimized out>) at conn-olpc.c:53
> #2  0x0806af3d in decrement_contacts_activities_list_foreach (info=0x985dd60, conn=0x9847800) at conn-olpc.c:115
> #3  0x00350c71 in IA__g_slist_foreach (list=0x984e628, func=0x806af10 <decrement_contacts_activities_list_foreach>, user_data=0x9847800) at gslist.c:468
> #4  0x0806c384 in extract_activities (conn=0x9847800, msg=0x9861318) at conn-olpc.c:624
> #5  0x0806c5fa in get_activities_reply_cb (conn=0x9847800, sent_msg=0x98523d8, reply_msg=0x9851e78, object=0x0, user_data=0x9850308) at conn-olpc.c:707
> #6  0x0804da8e in message_send_reply_cb (handler=0x98525b0, connection=0x9847568, reply_msg=0x9851e78, user_data=0x98586a8) at gabble-connection.c:893
> #7  0x0090f990 in _lm_message_handler_handle_message (handler=0x3, connection=0x9847568, message=0x9851e78) at lm-message-handler.c:47
> #8  0x0090d26f in connection_incoming_dispatch (source=0x98472b0, callback=0, user_data=0x0) at lm-connection.c:288
> #9  0x003390c2 in IA__g_main_context_dispatch (context=0x983da80) at gmain.c:2045
> #10 0x0033c08f in g_main_context_iterate (context=0x983da80, block=1, dispatch=1, self=0x98421d8) at gmain.c:2677
> #11 0x0033c439 in IA__g_main_loop_run (loop=0x983c4d8) at gmain.c:2881
> #12 0x080901c3 in tp_run_connection_manager (prog_name=0x8097fe3 "telepathy-gabble", version=0x8097fdb "0.5.7.1", construct_cm=0x804d000 <construct_cm>, 
>     argc=1, argv=0xbff43a64) at run.c:237
> #13 0x0804cfe8 in main (argc=1, argv=0xbff43a64) at gabble.c:48
> 
> I added a test mode to the presence service.  To reproduce this bug and
> generally exercise the PS and gabble, you can do the following after
> doing a git pull of sugar:
> 
> 1) start sugar with normal "./sugar-jhbuild run"
> 2) get another terminal
> 3) find the pid of telepathy-gabble, and 'gdb attach <pid>'
> 4) get another terminal
> 5) get the DBus session bus address from ~/.sugar/default/logs/session.info
> 6) export DBUS_SESSION_BUS_ADDRESS=<address from #2>
> 7) ./sugar-jhbuild shell
> 8) build/bin/sugar-presence-service 1
> <wait for the key to generate and the test PS to start>
> <wait for the gabble segfault in gdb>
> 
> The test presence service generates new buddy info the first time you
> use each number, then uses that info every subsequent time you pass that
> number.  It will attempt to change one property every 10 seconds from
> the set of [nickname, avatar, color, current activity].  You should be
> able to see the fake buddy on the Mesh View of Sugar too.
> 
> The test buddy will log output to
> ~/.sugar/default/logs/test-X-presenceservice.log where X is the number
> you pass to sugar-presence-service when invoking it.  Normal sugar
> output still goes to ~/.sugar/default/logs/presenceservice.log, so you
> can inspect both logs independently.
> 
> It's a bit hard to use LM_DEBUG with tp-gabble right now under _sugar_,
> because sugar makes its own DBus session bus and launches gabble on
> that.  However if you don't want to have Sugar in the mix, you can point
> your /usr/share/dbus-1/services/org.freedesktop.blahblah.Gabble service
> to the one in sugar-jhbuild/build/bin/telepathy-gabble, launch that
> using your normal session bus, and then just run two
> sugar-presence-service instances with the arguments "1" and "2".  That
> should work as well and you could use LM_DEBUG to figure out gabble
> issues too.

^^^ This actually works pretty well; if you can't get gabble to crash,
Ctrl+C one instance of the presence service and just start it right back
up again.  Or just wait longer.

Dan

> Dan
> 
> 
> _______________________________________________
> Sugar mailing list
> Sugar at laptop.org
> http://mailman.laptop.org/mailman/listinfo/sugar



More information about the Sugar mailing list