アプリを実行してから約4分後にのみ表示されるarc4random呼び出し中に奇妙なクラッシュが発生しますが、毎回発生するわけではありません。クラッシュログは次のとおりです。
Incident Identifier: 25C8C57F-0434-40B2-A2E8-FE88F58ABF60
CrashReporter Key: 8683ce910e9db4ba69f61266b606396f941d08ee
Hardware Model: iPhone2,1
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2011-01-16 18:46:45.170 +0000
OS Version: iPhone OS 4.2.1 (8C148a)
Report Version: 104
Exception Type: 00000020
Exception Codes: 0x8badf00d
Highlighted Thread: 0
Application Specific Information:
<App> failed to resume in time
Elapsed total CPU time (seconds): 5.930 (user 5.380, system 0.550), 100% CPU
Elapsed application CPU time (seconds): 4.790, 81% CPU
Thread 0:
0 libSystem.B.dylib 0x31168006 pthread_mutex_lock + 50
1 libSystem.B.dylib 0x3118cb10 arc4random + 24
2 <App> 0x0000f658 -[BasicGameLayer updateBoard] (BasicGameScreen.mm:318)
3 <App> 0x00010790 -[BasicGameLayer handleTouches:withEvent:] (BasicGameScreen.mm:238)
4 <App> 0x0000e504 -[BasicGameLayer ccTouchesBegan:withEvent:] (BasicGameScreen.mm:276)
BasicGameScreen.mmの318行目は、冒頭の中括弧です。コンパイラが空白を削除していると想定しているので、クラッシュしている行は
int selection = arc4random() % 16;