nullclient.c with mods segfaults

Walter A. Boring IV waboring at 3gstech.com
Thu Jul 5 15:15:02 EDT 2007


Howdy,
  I am trying to get a simple nullclient with login to work and am not
having much luck.

I have made a copy of the libpurple/example dir to build as my own app. 
Then I modified nullclient.c's main to not ask for username, password
and service.  Other then that it's the same as nullclient.c  with debug
turned on.

When the app runs, it logs in and then during the buddylist status
processing in libpurple it segfaults every time.

So, I tried to use the libpurple's version of nullclient.c and logged in
as the same user/password/service and I get the same segfault now.

If I use a different user/password then it doesn't segfault. 

Here is the trace from the libpurple's version of nullcient

yahoo: hemna privacy defaulting to PURPLE_PRIVACY_DENY_USERS.
yahoo: 1063 bytes to read, rxlen is 306
yahoo: 1063 bytes to read, rxlen is 1330
yahoo: Yahoo Service: 0x01 Status: 5
Account connected: hemna prpl-yahoo
connection: Activating keepalive.
blist: Updating buddy status for brianrue (Yahoo)
yahoo: Unknown status key 184
yahoo: Unknown status key 198
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10001
yahoo: Unknown status key 10002
blist: Updating buddy status for brianrue (Yahoo)
blist: Updating buddy status for nahabed (Yahoo)
yahoo: Unknown status key 184
yahoo: Got key 197, value =
\xd5\xfe\xb6\x94\xa5\x11\xe8\x00\x00\x09`\x05\x02\x00/o\x04\xf9\x80@
yahoo: Unknown status key 198
yahoo: Unknown status key 205
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10001
yahoo: Unknown status key 10002
blist: Updating buddy status for nahabed (Yahoo)
blist: Updating buddy status for tedpierson (Yahoo)
yahoo: Unknown status key 184
yahoo: Unknown status key 198
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10001
yahoo: Unknown status key 10002
blist: Updating buddy status for tedpierson (Yahoo)
blist: Updating buddy status for opticaldimension1 (Yahoo)
yahoo: Unknown status key 184
yahoo: Got key 197, value =
\xd7\x9bC\x9e\x12\xd0\x94\x00\x00\x0c2\x04\xd4\x14\xe9 \x92I\x1b\x8b\xfc
yahoo: Unknown status key 198
yahoo: Unknown status key 205
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10001
yahoo: Unknown status key 10002
blist: Updating buddy status for opticaldimension1 (Yahoo)
blist: Updating buddy status for missassypants2000 (Yahoo)
yahoo: Unknown status key 184
yahoo: Unknown status key 198
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10002
blist: Updating buddy status for missassypants2000 (Yahoo)
blist: Updating buddy status for pschmidt5 (Yahoo)
yahoo: Unknown status key 184
yahoo: Unknown status key 198
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10001
yahoo: Unknown status key 10002
blist: Updating buddy status for pschmidt5 (Yahoo)
blist: Updating buddy status for myurochko (Yahoo)
yahoo: Unknown status key 184
yahoo: Got key 197, value =
\xd41\xabR&Qp\x00\x04\x08\xfe\x04\x10\x80,5\x0d\xd8
yahoo: Unknown status key 198
yahoo: Unknown status key 205
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10001
yahoo: Unknown status key 10002
blist: Updating buddy status for myurochko (Yahoo)
blist: Updating buddy status for marc.ghilarducci (Yahoo)
yahoo: Unknown status key 184
yahoo: Unknown status key 198
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10001
yahoo: Unknown status key 10002
blist: Updating buddy status for marc.ghilarducci (Yahoo)
yahoo: 986 bytes to read, rxlen is 247
yahoo: 986 bytes to read, rxlen is 1079
yahoo: Yahoo Service: 0x01 Status: 5
blist: Updating buddy status for nicole_mcbride42 (Yahoo)
yahoo: Unknown status key 184
yahoo: Got key 197, value =
\xd4N\\\x06U\xaf\xb8\x00\x04\x04\x10\x85\x0c\x90\x80
yahoo: Unknown status key 198
yahoo: Unknown status key 205
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10001
yahoo: Unknown status key 10002
yahoo: Unknown status key 97
yahoo: Unknown status key 187
blist: Updating buddy status for nicole_mcbride42 (Yahoo)
blist: Updating buddy status for vyas21 (Yahoo)
yahoo: Unknown status key 184
yahoo: Unknown status key 198
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10001
yahoo: Unknown status key 10002
yahoo: Unknown status key 97
blist: Updating buddy status for vyas21 (Yahoo)
blist: Updating buddy status for scook9989 (Yahoo)
yahoo: Unknown status key 184
yahoo: Got key 197, value =
\xd5\x08\x07h\x0e\xda\xb8\x00\x04\x09p\x85\x11\xf2M\xa3]x
yahoo: Unknown status key 198
yahoo: Unknown status key 205
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10001
yahoo: Unknown status key 10002
blist: Updating buddy status for scook9989 (Yahoo)
blist: Updating buddy status for pixellina (Yahoo)
yahoo: Unknown status key 184
yahoo: Got key 197, value =
\xd58\xa1\xef!\x8bl\x00\x04\x08\xe5\x84\x11\xd2*\x9d\x04\xec\xa8,
yahoo: Unknown status key 198
yahoo: Unknown status key 205
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10001
yahoo: Unknown status key 10002
blist: Updating buddy status for pixellina (Yahoo)
blist: Updating buddy status for lichenrae (Yahoo)
blist: Updating buddy status for lichenrae (Yahoo)
yahoo: Unknown status key 184
yahoo: Unknown status key 244
yahoo: Unknown status key 10001
yahoo: Unknown status key 10002
yahoo: Unknown status key 97
blist: Updating buddy status for lichenrae (Yahoo)
blist: Updating buddy status for lichenrae (Yahoo)
blist: Updating buddy status for ledzedski (Yahoo)
yahoo: Unknown status key 184
yahoo: Got key 197, value =
\xd7\x95Jx\xf9D\xf4\x00\x08\x07]\x1c\x05\xc4\x85\xd2\x92L
yahoo: Unknown status key 198
yahoo: Unknown status key 205
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10002
blist: Updating buddy status for ledzedski (Yahoo)
yahoo: 1052 bytes to read, rxlen is 73
yahoo: 1052 bytes to read, rxlen is 1097
yahoo: Yahoo Service: 0x01 Status: 0
blist: Updating buddy status for kirill_popov (Yahoo)
yahoo: Unknown status key 184
yahoo: Unknown status key 198
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10002
blist: Updating buddy status for kirill_popov (Yahoo)
blist: Updating buddy status for kloepking (Yahoo)
yahoo: Unknown status key 184
yahoo: Got key 197, value =
\xd5\x84TS3Z<\x00\x04\x0b\xd8\x05\x12p\x90\xa9Y\x04
yahoo: Unknown status key 198
yahoo: Unknown status key 205
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10002
yahoo: Unknown status key 97
blist: Updating buddy status for kloepking (Yahoo)
blist: Updating buddy status for bobbie_k_2k (Yahoo)
yahoo: Unknown status key 184
yahoo: Got key 197, value = \xd5\xc6PT\xd1g\x84\x00\x00\x0bu\x90\xcb&\xe9<(
yahoo: Unknown status key 198
yahoo: Unknown status key 205
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10001
yahoo: Unknown status key 10002
blist: Updating buddy status for bobbie_k_2k (Yahoo)
blist: Updating buddy status for stacknuker (Yahoo)
yahoo: Unknown status key 184
yahoo: Unknown status key 198
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10002
blist: Updating buddy status for stacknuker (Yahoo)
blist: Updating buddy status for soquelie2000 (Yahoo)
yahoo: Unknown status key 184
yahoo: Unknown status key 198
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10001
yahoo: Unknown status key 10002
yahoo: Unknown status key 97
yahoo: Unknown status key 187
blist: Updating buddy status for soquelie2000 (Yahoo)
blist: Updating buddy status for mmcfstl (Yahoo)
yahoo: Unknown status key 184
yahoo: Unknown status key 198
yahoo: Unknown status key 213
yahoo: Unknown status key 244
yahoo: Unknown status key 10002
blist: Updating buddy status for mmcfstl (Yahoo)

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1213839024 (LWP 2339)]
0x00000001 in ?? ()
(gdb) bt
#0  0x00000001 in ?? ()
#1  0xb7def3c7 in g_hash_table_lookup () from /usr/lib/libglib-2.0.so.0
#2  0xb7c64e82 in purple_presence_get_status (presence=0x80b8b90,
status_id=0xb71463c6 "available") at status.c:1439
#3  0xb7c596ce in purple_prpl_got_user_status (account=0x8087930,
name=0x808af80 "xyxp_myxp", status_id=0xb71463c6 "available") at prpl.c:147
#4  0xb7131713 in yahoo_update_status (gc=0x8088ea0, name=0x808af80
"xyxp_myxp", f=0x80b8a80) at yahoo.c:175
#5  0xb7131a5e in yahoo_process_status (gc=0x8088ea0, pkt=0x808fa60) at
yahoo.c:324
#6  0xb7136d2f in yahoo_packet_process (gc=0x8088ea0, pkt=0x80b8988) at
yahoo.c:1087
#7  0xb71384b0 in yahoo_pending (data=0x8088ea0, source=7,
cond=PURPLE_INPUT_READ) at yahoo.c:2364
#8  0x080492a3 in purple_glib_io_invoke (source=0x8086668,
condition=G_IO_IN, data=0x8089988) at nullclient.c:75
#9  0xb7e2514f in ?? () from /usr/lib/libglib-2.0.so.0
#10 0x08086668 in ?? ()
#11 0x00000001 in ?? ()
#12 0x08089988 in ?? ()
#13 0xb7e62400 in ?? () from /usr/lib/libglib-2.0.so.0
#14 0x00000000 in ?? ()




More information about the Devel mailing list