Adium

Opened 10 years ago

Closed 9 years ago

Last modified 9 years ago

#14627 closed crash (fixed)

Hang when opening chat window to a contact with a malformed log (ICQ)

Reported by: Corny Owned by:
Milestone: Adium 1.4.2 Component: Service/ICQ
Version: Severity: major
Keywords: Cc:
Patch Status:

Description

Summary

I have a contact who has 4 ICQ accounts. I created one meta-contact out of these. Only one of these accounts is online. When I open a chat window to this contact, Adium stops responding. I can't delete any contacts from the meta-contact or move them out - if I try, nothing happens. I didn't notice any unusual messages in the console concerning this issue. My OS is 10.6.

Change History (12)

comment:1 Changed 10 years ago by Robert

Status: newpending

Please follow the instructions to get a crash report and attach it to this ticket.

comment:2 Changed 10 years ago by Cornelius Wilkening

Status: pendingnew

Ah, I'm really sorry... I forgot to change it in the title, my bad. The summary is true: Adium doesn't crash, it stops responding - so there's no crash report. Btw, it usually responds again after 5-10 minutes at my computer.

comment:3 Changed 10 years ago by Robert

Milestone: Adium 1.4.2
Summary: Crashes when opening chat window to a contact with multiple accountsHang when opening chat window to a contact with multiple accounts
Type: defectcrash

Don't worry. :)

Here's a sample from someone who reported this on a German forum (three reports in thread): http://pastebin.com/xGPpbyjP.

comment:4 Changed 10 years ago by Robert

Severity: normalmajor

comment:5 Changed 10 years ago by Robert

Component: Adium CoreService/ICQ

It does seem like ICQ is the common denominator.

comment:6 Changed 9 years ago by Thijs Alkemade

The sample shows Adium hangs while reading in a chat log (to show it as context), after either receiving a new message, or starting a chat with a specific person. However, from the sample alone, I have no idea why that chat log is broken. It would help a lot if I could have a look at the most recent chat log you have with that person. I realize it might contain personal information, so if you want to send it directly, you can email it.

comment:7 Changed 9 years ago by Thijs Alkemade

I received a set of logs from a helpful user on IRC who had the same issue. Turns out the last one contains 82k lines of:

<event type="windowClosed" sender="XXX" time="2011-01-09T21:24:27+01:00"></event>

These are repeated around 30 times a second. (The hanging isn't a real infinite loop, it finishes eventually, but it takes a couple of minutes at full CPU usage). It could be that #14229 is also causing this (Robby mentioned one user who tried the build on that ticket who still had this hang, but it could be the case that the broken chat log was generated with 1.4.1).

I can try to see if I can trigger these events to be logged, but more importantly (for users who already have these messed up logs) I think we should also make -contextForChat: bail after reading some x bytes of data and not getting enough messages for the backlog.

comment:8 Changed 9 years ago by Thijs Alkemade

After some more testing, it turns out trunk has no problem reading that log file. By bisecting, I've found the problem to be in http://hg.adium.im/adium-1.4/rev/85a3f8c6136e. So it looks like LMX needs to be updated. I'll look into it, as Catfish_Man also suggested some optimizations for it which I can apply.

comment:9 Changed 9 years ago by Thijs Alkemade <thijsalkemade@…>

Resolution: fixed
Status: newclosed

(In 327927ad486c) Copy LMX from trunk (http://hg.adium.im/adium/rev/1721a9e92faf should have been transplanted?)

This was the cause for some hangs when reading badly formatted logs on ICQ.

Fixes #14627

comment:10 Changed 9 years ago by Thijs Alkemade

Summary: Hang when opening chat window to a contact with multiple accountsHang when opening chat window to a contact with a malformed log (ICQ)

comment:11 Changed 9 years ago by Thijs Alkemade

Ticket #15071 has been marked as a duplicate of this ticket.

comment:12 Changed 9 years ago by Frank

Ticket #15034 has been marked as a duplicate of this ticket.

Note: See TracTickets for help on using tickets.