[sugar] gabble segfaults and how to reproduce them

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Thu Apr 12 09:14:43 EDT 2007


Le jeudi 12 avril 2007 à 00:07 -0400, Dan Williams a écrit :
> 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:
> > 

I finally be able to reproduce this crash and fixed it in the -olpc
branch.
We also merged -rob-review to -olpc.

> > #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
> 
> _______________________________________________
> Sugar mailing list
> Sugar at laptop.org
> http://mailman.laptop.org/mailman/listinfo/sugar



More information about the Sugar mailing list