#141 segfault on receive from ICQ6 client

open
nobody
None
5
2008-07-22
2008-07-22
Leo Antunes
No

The following but has been reported on our Debian bug tracker (http://bugs.debian.org/491792).

I couldn't confirm the problem, possibly due to not having anyone on my list with the affected client, if this bug really is limited to this situation.

It may be connected to bug 1935548 here on SF, since it also seems to happen on a call to g_hash_table_lookup()

----

After my recent "apt-get upgrade" Pidgin crashes when receiving messages from or
sending messages to certain ICQ accounts. In the latter case the program crashes when
double-clicking the username right before the message window pops up.

The bug does only occur with some contacts which use the original ICQ6 client software.
Users with other ICQ clients are not affected.

The bug does only appear as long as the "Pidgin Encryption" plugin is enabled.

To find out what causes the crash I installed libc6-dbg and ran pidgin through gdb. This
is the output of gdb after starting pidgin and double-clicking on an ICQ buddy:

gdb pidgin
(gdb) run
Starting program: /usr/bin/pidgin
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb7198720 (LWP 2764)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7198720 (LWP 2764)]
0xb7755e67 in g_str_hash () from /usr/lib/libglib-2.0.so.0
(gdb) bt
#0 0xb7755e67 in g_str_hash () from /usr/lib/libglib-2.0.so.0
#1 0xb77274db in g_hash_table_lookup () from /usr/lib/libglib-2.0.so.0
#2 0xb6f54f7c in ?? () from /usr/lib/pidgin/encrypt.so
#3 0x0834dea0 in ?? ()
#4 0x00000000 in ?? ()
(gdb)

Discussion