自分のゲームの 1 つを Mac AppStore に公開しようとしていますが、App Review チームから次のレポートを受け取りました。
このクラッシュの発見方法は次のとおりです。 アプリは、アプリの 2 回目の起動時にクラッシュします。
そしてここにクラッシュログがあります:
Process: Tennis Elbow Manager [19919]
Path: /Applications/Tennis Elbow Manager.app/Contents/MacOS/Tennis Elbow Manager
Identifier: com.managames.Tennis-Elbow-Manager
Version: 1.9.38 (38)
App Item ID: 0
App External ID: 0
Code Type: X86 (Native)
Parent Process: launchd [160]
User ID: 201
Date/Time: 2013-03-06 16:22:44.968 -0800
OS Version: Mac OS X 10.8.2 (12C54)
Report Version: 10
Crashed Thread: 1 Dispatch queue: com.apple.libdispatch-manager
Exception Type: EXC_CRASH (SIGBUS)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Thread 0:: Dispatch queue: com.apple.main-thread
0 com.managames.Tennis-Elbow-Manager 0x000e3214 0x6b000 + 492052
1 ??? 0x492e5245 0 + 1227772485
Thread 1 Crashed:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib 0x9a6979ae kevent + 10
1 libdispatch.dylib 0x9775dc71 _dispatch_mgr_invoke + 993
2 libdispatch.dylib 0x9775d7a9 _dispatch_mgr_thread + 53
Thread 2:
0 libsystem_kernel.dylib 0x9a6970ee __workq_kernreturn + 10
1 libsystem_c.dylib 0x9105d04c _pthread_workq_return + 45
2 libsystem_c.dylib 0x9105ce19 _pthread_wqthread + 448
3 libsystem_c.dylib 0x91044cca start_wqthread + 30
Thread 1 crashed with X86 Thread State (32-bit):
eax: 0x00000004 ebx: 0xb0102700 ecx: 0xb01025ac edx: 0x9a6979ae
edi: 0x00000000 esi: 0x9775d8a1 ebp: 0xb0102718 esp: 0xb01025ac
ss: 0x00000023 efl: 0x00000247 eip: 0x9a6979ae cs: 0x0000000b
ds: 0x00000023 es: 0x00000023 fs: 0x00000023 gs: 0x0000000f
cr2: 0x0269e000
Logical CPU: 0
Binary Images:
0x6b000 - 0x192ff3 +com.managames.Tennis-Elbow-Manager (1.9.38 - 38) <B6D93CA3-ADB3-3C94-AB00-25C63C74250A> /Applications/Tennis Elbow Manager.app/Contents/MacOS/Tennis Elbow Manager
0x38b000 - 0x3d6fc0 +SDL (1.2.14 - 1.2.14) <84ABD881-2313-3168-889A-EDEA4EBAA928> /Applications/Tennis Elbow Manager.app/Contents/Frameworks/SDL.framework/Versions/A/SDL
0x3e9000 - 0x400ff7 +org.libsdl.SDL-mixer (1.2.12 - 1.2.12) <879D26B7-6FC0-32FD-BA92-484F89677158> /Applications/Tennis Elbow Manager.app/Contents/Frameworks/SDL_mixer.framework/Versions/A/SDL_mixer
0x433000 - 0x437ffb +org.libsdl.SDL-image (1.2.12 - 1.2.12) <C8A71F96-C7E3-3290-A886-ECA7994E847D> /Applications/Tennis Elbow Manager.app/Contents/Frameworks/SDL_image.framework/Versions/A/SDL_image
0x441000 - 0x46fff7 +mikmod (3.1.10r2 - 3.1.12) <484ED43A-1C22-DF87-240A-594F8F37B9BE> /Applications/Tennis Elbow Manager.app/Contents/Frameworks/SDL_mixer.framework/Versions/A/Frameworks/mikmod.framework/Versions/A/mikmod
0x484000 - 0x4bbffa +smpeg (0.0.1d1) <900C8FCF-8E29-3941-AE32-14F3208DBAE8> /Applications/Tennis Elbow Manager.app/Contents/Frameworks/SDL_mixer.framework/Versions/A/Frameworks/smpeg.framework/Versions/A/smpeg
0x4e5000 - 0x4e8ff4 +org.xiph.ogg (1.1.4 - 1.1.4) <B4E7F924-42D6-3E2A-9EF0-E55CD71BF308> /Applications/Tennis Elbow Manager.app/Contents/Frameworks/SDL_mixer.framework/Versions/A/Frameworks/Ogg.framework/Versions/A/Ogg
0x4ef000 - 0x672ff2 +org.xiph.vorbis (1.2.3 - 1.2.3) <F9FCDD01-A9B1-35AD-B1DB-DE0C8F347869> /Applications/Tennis Elbow Manager.app/Contents/Frameworks/SDL_mixer.framework/Versions/A/Frameworks/Vorbis.framework/Versions/A/Vorbis
0x6a6000 - 0x6eeff4 +FLAC (1.2.1 - 1.2.1) <5F0B6D50-0DFC-357C-89EA-CA56EDEC997D> /Applications/Tennis Elbow Manager.app/Contents/Frameworks/SDL_mixer.framework/Versions/A/Frameworks/FLAC.framework/Versions/A/FLAC
[...]
完全なログはこちら => http://a1.phobos.apple.com/us/r30/Purple/v4/da/b2/03/dab203db-b866-3d55-8ea9-88df1de4c285/temp..cqdsammn.crash
(gdb) info line *0x000e3214
与える:
No line number information available for address 0xe3214 <_ZN10CSysCursorD1Ev+2958>
ゲームは私のアカウントとゲスト アカウントの両方で OSX 10.8.2 で問題なく動作しており、問題なく何度も起動できます。
クラッシュは、私の関数のいずれかに入る前の起動時に発生するようです (つまり、おそらくまだ main() または開始にある可能性があります)。
Google で同一のクラッシュ「Thread 1 Crashed:: Dispatch queue: com.apple.libdispatch-manager」を探したところ、主に Skype バージョンに関するほぼ同一のレポートがいくつか見つかりましたが、それはあまり教えてくれませんでした.. .
だから今、私はちょっと立ち往生しています.私の唯一の考えは、それがまれなランダムなクラッシュであることを願って再提出することですが、それが最善の策であるかは疑わしいです...
誰もがより良いアイデアを持っているでしょうか?ご回答ありがとうございます。:)
私が使用しているのは、SDL 1.2.15、SDL_Image 1.2.12、SDL_Mixer 1.2.12、https://github.com/roddi/ValidateStoreReceiptからのロッドディの ValidateStoreReceiptです。