App crashed in FMOD::SystemI::createChannelGroupInternal

Hello,
Can anyone help whith this crash? It has already bothered me about a month now.

Tha app runs very well on my test devices(iPhone4 4.3OS).And i shared the .ipa with my friends using Ad_Hoc, it still
works. But After submit it to Apple, it’s said "Your app crashed on both Wi-Fi and cellular networks when we launched the app. "

-------------------------------------- ok, i find the answers.

No one could help me ??? -_-

Which Unity version are you using?

Hey there, we’re experiencing the same issue.

@mantasp if you’re still monitoring this thread (I do hope you are! :smile:), with our case, we’re using the latest version of Unity (3.4.2). I made a thread, although in a separate section of the forums: http://forum.unity3d.com/threads/114653-App-crashes-due-FMOD-audio?p=762699#post762699

Would really appreciate any ideas you could give regarding this, thanks!

Hi all, just an update. Acquired new crash log:

Thread 2 name: WebThread
Thread 2 Crashed:
0 libsystem_kernel.dylib 0x321c232c __pthread_kill + 8
1 libsystem_c.dylib 0x366b8f54 pthread_kill + 48
2 libsystem_c.dylib 0x366b1fe4 abort + 88
3 Aaaaaaaa 0x0078491c FMOD::SystemI::createChannelGroupInternal(char const*, FMOD::ChannelGroupI**, bool, bool) + 1642572
4 Aaaaaaaa 0x00775404 FMOD::SystemI::createChannelGroupInternal(char const*, FMOD::ChannelGroupI**, bool, bool) + 1579828
5 libsystem_c.dylib 0x366c3532 _sigtramp + 42
6 JavaScriptCore 0x373310b2 JSC::HandleHeap::markWeakHandles(JSC::HeapRootVisitor) + 78
7 JavaScriptCore 0x3732cc78 JSC::Heap::markRoots() + 640
8 JavaScriptCore 0x3732c99e JSC::Heap::reset(JSC::Heap::SweepToggle) + 14
9 JavaScriptCore 0x3732c982 JSC::Heap::collectAllGarbage() + 10
10 WebCore 0x37674198 WebCore::ThreadTimers::sharedTimerFiredInternal() + 92
11 WebCore 0x3767410a WebCore::timerFired(__CFRunLoopTimer*, void*) + 58
12 CoreFoundation 0x30eb1a5c CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION + 8
13 CoreFoundation 0x30eb16c2 __CFRunLoopDoTimer + 358
14 CoreFoundation 0x30eb0298 __CFRunLoopRun + 1200
15 CoreFoundation 0x30e334d6 CFRunLoopRunSpecific + 294
16 CoreFoundation 0x30e3339e CFRunLoopRunInMode + 98
17 WebCore 0x376c7128 RunWebThread(void*) + 396
18 libsystem_c.dylib 0x3667ac16 _pthread_start + 314
19 libsystem_c.dylib 0x3667aad0 thread_start + 0

What could be causing this on the Webthread? :eyes:

I need some more input to tell something abou it.
Which Xcode are you using? Do you see any messages on the console just before crash? Are your external native libs thumb-compiled?

Hi mantasp, thanks for taking interest in this thread. I’ll get that info asap.

Btw, mantasp, by external native libs, did you mean external SDKs we are integrating into our project (i.e. Burstly and Crystal)?

Hi mantasp, to answer some of your questions:

  1. We are using Xcode 4.2

  2. Here is a snippet of the console output we are seeing just before the crash. The debug messages are log outputs we intentionally put to monitor what goes on just before the crash. As you can see, it was simply playing an audio clip.

Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : UNITY (PlaySound) >> aclip: Aaaaaa - Start Screen 5 M1 (UnityEngine.AudioClip) volume: 0.34 continuous? True
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] :
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : (Filename: /Applications/buildAgent/work/842f9557127e852/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 34)
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : UNITY (PlaySound) >> Instantiated soundObject…AudioObject(Clone)
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] :
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : (Filename: /Applications/buildAgent/work/842f9557127e852/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 34)
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : UNITY (PlaySound) >> Got AudioObject component from object
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] :
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : (Filename: /Applications/buildAgent/work/842f9557127e852/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 34)
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : UNITY (PlaySound) >> Assigned AudioManagerLink
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] :
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : (Filename: /Applications/buildAgent/work/842f9557127e852/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 34)
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : UNITY (PlaySound) >> Assigned clip: Aaaaaa - Start Screen 5 M1
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] :
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : (Filename: /Applications/buildAgent/work/842f9557127e852/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 34)
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : UNITY (PlaySound) >> Assigned volume: 0.34
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] :
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : (Filename: /Applications/buildAgent/work/842f9557127e852/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 34)
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : UNITY (PlaySound) >> Played clip
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] :
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : (Filename: /Applications/buildAgent/work/842f9557127e852/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 34)
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : UNITY (PlaySound) >> Set PlayingSFX = true
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] :
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : (Filename: /Applications/buildAgent/work/842f9557127e852/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 34)
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : UNITY (PlaySound) >> Returning soundObjectTemp (null? False).
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] :
Dec 8 09:31:09 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : (Filename: /Applications/buildAgent/work/842f9557127e852/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 34)
Dec 8 09:31:10 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : Aaaaaa(704,0x6e01000) malloc: *** error for object 0x13af804: incorrect checksum for freed object - object was probably modified after being freed.
Dec 8 09:31:10 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : *** set a breakpoint in malloc_error_break to debug
Dec 8 09:31:10 unknown UIKitApplication:com.generic.genericblast[0xb8ff][704] : Stacktrace:

I’m currently finding out if the external libraries we are using are indeed thumb-compiled. Just curious though, what would that imply, by the way? If we do find out that they are thumb-compiled.

Xcode 4.2 has some troubles when thumb and non-thumb code is mixed, please try to remove these libs and see if it still crashes. If it still crashes please submit a bug report with repro case attached to it.
Thanks!

Thanks for the tip mantasp. One of the external libraries we are using (Burstly SDK) was indeed thumb-compiled. We’ve also done some shallow testing with a bare-bones Unity-only build without any of the external SDKs integrated, and it seemed to go well. We are in the process of testing this out a bit more, just to confirm if this conflict when building with thumb-compiled libraries is the cause. Thanks again.

How do you tell if a library is thumb compiled?

I’m having a similar crash, but with: SharedAudioBuffer::InitAudio in 3.5. I’m using the MoPub and StoreKit plug-ins from Prime31. And with MoPub I’m also using the AdMob SDK.

Run following code on your library binary file:

   otool -tv yourlibrary.a

and if you see there 2 byte long instructions then it is thumb-compiled. 4 byte long instructions are regular ARM code.

I am fighting a similar crash. Always crashes in FMOD::SystemI::createSoundInternal(). I cannot find the ‘tool’ tool in my xcode install. has the name of that app changed?

sorry, it was forum code formatting problem and first letter got lost. The tool is called “otool”.

sorry, I don’t really get this. I believe we are experiencing similar problems with random crashes, related to this “createSoundInternal” thing. Do you mind explaining how I should interpret the output from the otool and determine if it’s 2 or 4 bytes long? I have the output from our three plugins used, but to me they look “similar”. An example of the output below:

00000000 b580 push {r7, lr}

Thanks in advance.

It is 2-byte instruction.
P.S. this issue should less affect Unity 4.x users.

Thanks for the very quick reply Mantas! These four bytes, how do they look? Sorry for the stupid question, but I’m not used to this kind of low level things. I just wanna be sure I can compare and see the difference.

Furthermore, if our three plugins are all 2 bytes long, how do I know what the actual game is?