Adium

Opened 9 years ago

Closed 9 years ago

Last modified 8 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: 1.4.1 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 9 years ago by Robby

  • Status changed from new to pending

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

comment:2 Changed 9 years ago by Corny

  • Status changed from pending to new

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 9 years ago by Robby

  • Milestone set to Adium 1.4.2
  • Summary changed from Crashes when opening chat window to a contact with multiple accounts to Hang when opening chat window to a contact with multiple accounts
  • Type changed from defect to crash

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 9 years ago by Robby

  • Severity changed from normal to major

comment:5 Changed 9 years ago by Robby

  • Component changed from Adium Core to Service/ICQ

It does seem like ICQ is the common denominator.

comment:6 Changed 9 years ago by sphynx

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 sphynx

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 sphynx

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 set to fixed
  • Status changed from new to closed

(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 sphynx

  • Summary changed from Hang when opening chat window to a contact with multiple accounts to Hang when opening chat window to a contact with a malformed log (ICQ)

comment:11 Changed 8 years ago by sphynx

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

comment:12 Changed 8 years ago by wixardy

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

Note: See TracTickets for help on using tickets.