Adium

Opened 2 years ago

Closed 2 years ago

#15774 closed crash (fixed)

Crash on NSInternalInconsistencyException when logging into MSN (libpurple 2.10.2)

Reported by: RomainMuller Owned by:
Milestone: Adium 1.5.1 Component: Service/MSN
Version: 1.5b9 Severity: normal
Keywords: Cc:
Patch Status: Rejected

Description

Summary

Adium consistently and repeatedly crashes with the exact same error every time I log into MSN Messenger.

Steps to reproduce

Detail the exact steps taken to produce the bug. Use the following format, each line with " 1." before it:

  1. Open Adium
  2. Activate MSN Messenger account
  3. Watch it crash

Expected results

I expected Adium would not crash, I suppose.

Actual results

Adium crashes dead just after the buddy list is fully loaded.

Regression

I have not found any way to connect to MSN using Adium since this problem appeared.

Notes

I'm having that exact same issue with both 1.5b9 and 1.5rc1. I believe 1.5b8 was not crashing like so, however I was not able to confirm this just yet.

Attachments (2)

CrashLog.txt (57.8 KB) - added by RomainMuller 2 years ago.
Data Mac OS X exports when Adium crashes.
AdiumPatch.patch (887 bytes) - added by RomainMuller 2 years ago.
Patch to quick-fix the issue.

Download all attachments as: .zip

Change History (14)

Changed 2 years ago by RomainMuller

Data Mac OS X exports when Adium crashes.

comment:1 Changed 2 years ago by RomainMuller

Actually, I'm getting the same bug on 1.5b8. The odd thing is it all started crashing last Friday, before that everything was OK (and I was on 1.5b8 already).

From that perspective I believe something on my account is causing Adium to crash. I'll be happy to let you guys figure out what but I'm clueless.

comment:2 Changed 2 years ago by RomainMuller

I've narrowed down the problem to adiumPurpleConversation.m:151:

messageString = [NSString stringWithUTF8String:message];

The assignment results in nil being assigned to messageString for some reason.
If I do p message in gdb at this point, it gives the following:

(gdb) p message
$1 = 0x10bed5be0 "http://goo.gl/B8KaL regarde j'ai gagn\351 10 centimes en tappant cette page. Suffit de cliquer collaborer (faut etre inscrit)"

Changed 2 years ago by RomainMuller

Patch to quick-fix the issue.

comment:3 Changed 2 years ago by RomainMuller

I attached a patch that resolved the bug for me. It was due to some contact that apparently was hacked by a bot not being UTF8-encoded.

comment:4 Changed 2 years ago by David Munch

  • Milestone set to Adium 1.5.1
  • Patch Status set to Needs Dev Review

Good work! :)

I'll set this to 1.5.1, as 1.5 is just around the corner, and I haven't heard others speak of this bug before. Other people will know if it needs to be pushed to 1.5.

comment:5 follow-up: Changed 2 years ago by RomainMuller

Thanks. Generally speaking, I believe the code should be more resilient to possible incoming messages not being UTF-8 encoded. Crashing Adium for that isn't the right thing to do.

comment:6 Changed 2 years ago by David Munch

You know patches are always welcome. ;)

comment:7 in reply to: ↑ 5 Changed 2 years ago by sphynx

  • Patch Status changed from Needs Dev Review to Rejected
  • Resolution set to notadiumcode
  • Status changed from new to closed

Replying to RomainMuller:

Thanks. Generally speaking, I believe the code should be more resilient to possible incoming messages not being UTF-8 encoded. Crashing Adium for that isn't the right thing to do.

We trust libpurple to do the conversion to UTF-8 for us, and it appears msn_oim_report_to_user() doesn't do that. While your patch fixes the problem in this case, I'd rather see it fixed in libpurple.

I'll file a new ticket on Pidgin's trac.

comment:8 Changed 2 years ago by paulwilde

  • Milestone Adium 1.5.1 deleted

comment:9 Changed 2 years ago by sphynx

Done: #p14884.

comment:10 Changed 2 years ago by Robby

sphynx' patch to libpurple has been accepted. :)

comment:11 Changed 2 years ago by Robby

  • Milestone set to Adium 1.5.1
  • Resolution notadiumcode deleted
  • Status changed from closed to new
  • Summary changed from Crash on NSInternalInconsistencyException when logging into MSN to Crash on NSInternalInconsistencyException when logging into MSN (libpurple 2.10.2)

comment:12 Changed 2 years ago by evands

  • Resolution set to fixed
  • Status changed from new to closed

The updated libpurple in 1.5.1b1 includes this patch.

Note: See TracTickets for help on using tickets.