Adium

Ticket #12098 (closed crash: fixed)

Opened 10 months ago

Last modified 8 months ago

NSSound crash, divide by zero

Reported by: bmalkow Owned by:
Milestone: Component: None
Version: 1.4b1 Severity: regression
Keywords: Cc:
Patch Status:

Description (last modified by Robby) (diff)

Adium connects to XMPP Server, shows roster and crash.

This is fragment of Report:

Date/Time:       2009-05-19 07:27:32.863 +0200
OS Version:      Mac OS X 10.5.7 (9J61)
Report Version:  6
Anonymous UUID:  7CDE8192-DAC5-42EF-90A5-11F4467883F7

Exception Type:  EXC_ARITHMETIC (SIGFPE)
Exception Codes: EXC_I386_DIV (divide by zero)
Crashed Thread:  0

Thread 0 Crashed:
0   libgcc_s.1.dylib              	0x90ee031e __udivdi3 + 238
1   ....audio.toolbox.AudioToolbox	0x9570a936 MPEGAudioFile::ParseFirstPacket() + 822
2   ....audio.toolbox.AudioToolbox	0x9570b0c1 MPEGAudioFile::ParseAudioFile() + 209
3   ....audio.toolbox.AudioToolbox	0x957156e3 AudioFileOpenWithCallbacks + 243
4   com.apple.AppKit              	0x9236b9f5 _initializeCA + 876
5   com.apple.AppKit              	0x9236b5b4 -[NSSound _postInitialization] + 348
6   com.apple.AppKit              	0x9236b3a3 -[NSSound initWithContentsOfURL:byReference:] + 269
7   com.adiumX.adiumX             	0x00110755 -[AdiumSound playSoundAtURL:] + 100
8   com.adiumX.adiumX             	0x00091163 -[AIEventSoundsPlugin performActionID:forListObject:withDetails:triggeringEventID:userInfo:] + 157
9   com.adiumX.adiumX             	0x000df88f -[ESContactAlertsController generateEvent:forListObject:userInfo:previouslyPerformedActionIDs:] + 484
10  com.adiumX.adiumX             	0x00072b1c -[ESAccountEvents accountConnection:] + 102
11  com.apple.Foundation          	0x90ff0493 __NSFireTimer + 147
12  com.apple.CoreFoundation      	0x96f76ac5 CFRunLoopRunSpecific + 4469
13  com.apple.CoreFoundation      	0x96f76c78 CFRunLoopRunInMode + 88
14  com.apple.HIToolbox           	0x95d4328c RunCurrentEventLoopInMode + 283
15  com.apple.HIToolbox           	0x95d430a5 ReceiveNextEventCommon + 374
16  com.apple.HIToolbox           	0x95d42f19 BlockUntilNextEventMatchingListInMode + 106
17  com.apple.AppKit              	0x9216cd0d _DPSNextEvent + 657
18  com.apple.AppKit              	0x9216c5c0 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
19  com.apple.AppKit              	0x921655fb -[NSApplication run] + 795
20  com.apple.AppKit              	0x92132834 NSApplicationMain + 574
21  com.adiumX.adiumX             	0x00003246 start + 54

Change History

  Changed 10 months ago by bmalkow

Date/Time:       2009-05-19 07:45:06.683 +0200
OS Version:      Mac OS X 10.5.7 (9J61)
Report Version:  6
Anonymous UUID:  7CDE8192-DAC5-42EF-90A5-11F4467883F7

Exception Type:  EXC_ARITHMETIC (SIGFPE)
Exception Codes: EXC_I386_DIV (divide by zero)
Crashed Thread:  0

Thread 0 Crashed:
0   libgcc_s.1.dylib              	0x90ee031e __udivdi3 + 238
1   ....audio.toolbox.AudioToolbox	0x9570a936 MPEGAudioFile::ParseFirstPacket() + 822
2   ....audio.toolbox.AudioToolbox	0x9570b0c1 MPEGAudioFile::ParseAudioFile() + 209
3   ....audio.toolbox.AudioToolbox	0x957156e3 AudioFileOpenWithCallbacks + 243
4   com.apple.AppKit              	0x9236b9f5 _initializeCA + 876
5   com.apple.AppKit              	0x9236b5b4 -[NSSound _postInitialization] + 348
6   com.apple.AppKit              	0x9236b3a3 -[NSSound initWithContentsOfURL:byReference:] + 269
7   com.adiumX.adiumX             	0x00110755 -[AdiumSound playSoundAtURL:] + 100
8   com.adiumX.adiumX             	0x00091163 -[AIEventSoundsPlugin performActionID:forListObject:withDetails:triggeringEventID:userInfo:] + 157
9   com.adiumX.adiumX             	0x000df88f -[ESContactAlertsController generateEvent:forListObject:userInfo:previouslyPerformedActionIDs:] + 484
10  com.adiumX.adiumX             	0x00072b1c -[ESAccountEvents accountConnection:] + 102
11  com.apple.Foundation          	0x90ff0493 __NSFireTimer + 147
12  com.apple.CoreFoundation      	0x96f76ac5 CFRunLoopRunSpecific + 4469
13  com.apple.CoreFoundation      	0x96f76c78 CFRunLoopRunInMode + 88
14  com.apple.HIToolbox           	0x95d4328c RunCurrentEventLoopInMode + 283
15  com.apple.HIToolbox           	0x95d430a5 ReceiveNextEventCommon + 374
16  com.apple.HIToolbox           	0x95d42f19 BlockUntilNextEventMatchingListInMode + 106
17  com.apple.AppKit              	0x9216cd0d _DPSNextEvent + 657
18  com.apple.AppKit              	0x9216c5c0 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
19  com.apple.AppKit              	0x921655fb -[NSApplication run] + 795
20  com.apple.AppKit              	0x92132834 NSApplicationMain + 574
21  com.adiumX.adiumX             	0x00003246 start + 54

  Changed 10 months ago by zacw

  • summary changed from divide by zero to NSSound crash, divide by zero
  • severity changed from normal to regression
  • milestone set to Adium 1.4

This looks kidn of deep in NSSound code; I hope it's not us..

  Changed 10 months ago by Catfish_Man

I can't imagine how it could be. Invalid audio file maybe?

follow-up: ↓ 6   Changed 10 months ago by bmalkow

Tell me what should I check for You and I'll check it.

  Changed 10 months ago by zacw

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

in reply to: ↑ 4   Changed 10 months ago by cbarrett

Replying to bmalkow:

Tell me what should I check for You and I'll check it.

What sound plays when this happens? Can you attach it? (Could just be a corrupted sound file)

follow-up: ↓ 9   Changed 10 months ago by Catfish_Man

Googling around indicates that this is a known (and old, it occurred in 10.4 as well) bug in NSSound when used with certain audio files.

  Changed 10 months ago by bmalkow

I don't know what sound is played when Adium crashed. Probably it is sound played on showing warning dialog. I use sound set "Psi".

Now, when I switch sounds to set "Adium", adium don't crash.

Thanks!

in reply to: ↑ 7   Changed 10 months ago by cbarrett

Replying to Catfish_Man:

Googling around indicates that this is a known (and old, it occurred in 10.4 as well) bug in NSSound when used with certain audio files.

Lame. Any more specific than just "certain"? Seems doubtful, but could we check for this and either not play the sound or tell people to fix their sound files?

  Changed 10 months ago by Catfish_Man

Nope. Not a whole lot of info available about the problem. :/

  Changed 10 months ago by Robby

  • description modified (diff)

  Changed 10 months ago by pup

Here is a soundfile that causes the crash. It comes from the Flight of the Conchords sound set located here:

 http://www.adiumxtras.com/index.php?a=xtras&xtra_id=4519

The particular soundfile is the "Message Sent", or fotc_strum1

Note that this sound set is almost two years old and was functioning fine until 1.4b3

  Changed 8 months ago by durin42

I'm also seeing this, with  http://www.adiumxtras.com/index.php?a=xtras&xtra_id=1527. All the files play fine in quick look in the Finder. Similarly, all the files work fine in Adium <= 1.4.

I'm using hg bisect now to try and find a bad revision.

  Changed 8 months ago by Catfish_Man

durin42: it's from when we switched to NSSound

  Changed 8 months ago by durin42

Yeah, figured that out.

I've filed  rdar://problem/7047288 ( http://openradar.appspot.com/radar?id=51428) with Apple about this. Please dup as appropriate.

What are we going to do about this? Tell users to go away, we don't care? Or revert the NSSound changes until the API manages to Not Suck?

  Changed 8 months ago by Evan Schoenberg

(In  4703302ec97b) Backed out changeset 8b455a7d180d - revert NSSound caching. Refs #12098

  Changed 8 months ago by evands

  • status changed from new to closed
  • resolution set to fixed

Fixed via backout. Bug report duped as  radr://7096085

  Changed 8 months ago by Robby

  • milestone Adium 1.4 deleted
Note: See TracTickets for help on using tickets.