Bug #127

Crash when an user left a channel

Added by Romain Bignon about 1 year ago. Updated about 1 year ago.

Status:Resolved Start:2009-06-15
Priority:Urgent Due date:2009-06-16
Assigned to:Romain Bignon % Done:

100%

Category:Conversations Spent time: 2.00 hours
Target version:1.0 Estimated time:2.00 hours
libpurple: Branch:

Description

A crash happens sometimes:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f8bd6d1e6f0 (LWP 26341)]
0x00007f8bd51bb030 in strlen () from /lib/libc.so.6
(gdb) bt
#0  0x00007f8bd51bb030 in strlen () from /lib/libc.so.6
#1  0x00007f8bd6697f40 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string () from /usr/lib/libstdc++.so.6
#2  0x000000000044ee32 in im::ChatBuddy::getName ()
#3  0x000000000048564a in irc::ConversationChannel::getChanUser ()
#4  0x00000000004502b8 in im::Conversation::recvMessage ()
#5  0x000000000045075d in im::Conversation::write_conv ()
#6  0x00007f8bd63547ce in purple_conversation_write () from /usr/lib/libpurple.so.0
#7  0x00007f8bd6377380 in serv_got_chat_in () from /usr/lib/libpurple.so.0

It is probably a conversation channel user who doesn't exist anymore. So, the im::ChatBuddy is invalid and points to an free'd libpurple object.

History

Updated by Romain Bignon about 1 year ago

  • Due date set to 2009-06-16
  • Status changed from Assigned to Resolved
  • % Done changed from 0 to 100

Ok, user leaving was not implemented yet…

Also available in: Atom PDF