• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Calling ExtAudioFileDispose() on a large MP4 audio file causes a crash
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Calling ExtAudioFileDispose() on a large MP4 audio file causes a crash


  • Subject: Calling ExtAudioFileDispose() on a large MP4 audio file causes a crash
  • From: Rob Robson <email@hidden>
  • Date: Thu, 5 Nov 2009 18:48:55 +0200

Calling ExtAudioFileDispose() on a > 2 hour large MP4 audio file causes a crash.

 * ExtAudioFileDispose() calls AudioFileClose()
  * AudioFileClose() calls MP4AudioFile::Close()
  * As part of closing the mp4 file, MP4AudioFile::FillGaplessString() is called
  * MP4AudioFile::FillGaplessString() calls UInt32ToHexString with a sufficiently large value (value >= 0x10000000; see NOTES below)
  * UInt32ToHexString() calls sprintf() with a too-small stack-allocated buffer
  * At the end of UInt32ToHexString(), __stack_chk_guard is found to have been altered, and __stack_chk_fail() is called.
  * __stack_chk_fail() logs a message and calls __abort(), which terminates the process.


0   libSystem.B.dylib             	0x92978912 __kill + 10
1   libSystem.B.dylib             	0x92978904 kill$UNIX2003 + 32
2   libSystem.B.dylib             	0x92a0bb99 raise + 26
3   libSystem.B.dylib             	0x92a21be5 __abort + 124
4   libSystem.B.dylib             	0x92a04928 release_file_streams_for_task + 0
5   ....audio.toolbox.AudioToolbox	0x96996497 UInt32ToHexString(char*, unsigned long, unsigned long) + 183
6   ....audio.toolbox.AudioToolbox	0x96996556 MP4AudioFile::FillGaplessString(char*) + 110
7   ....audio.toolbox.AudioToolbox	0x969993ed MP4AudioFile::Close() + 627
8   ....audio.toolbox.AudioToolbox	0x968f6a25 AudioFileClose + 77
9   ....audio.toolbox.AudioToolbox	0x96959ef6 ExtAudioFile::Close() + 206
10  ....audio.toolbox.AudioToolbox	0x9695a03e ExtAudioFile::~ExtAudioFile() + 40
11  ....audio.toolbox.AudioToolbox	0x9694f89c XExtAudioFile::~XExtAudioFile() + 92
12  ....audio.toolbox.AudioToolbox	0x9694f554 ExtAudioFileDispose + 37


Anyone figured out a workaround?

Best Regards,
Robin
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Calling ExtAudioFileDispose() on a large MP4 audio file causes a crash
      • From: Christopher Liscio <email@hidden>
  • Prev by Date: Built-In devices on single thread
  • Next by Date: Re: Built-In devices on single thread
  • Previous by thread: Re: Built-In devices on single thread
  • Next by thread: Re: Calling ExtAudioFileDispose() on a large MP4 audio file causes a crash
  • Index(es):
    • Date
    • Thread