Iphone: Crash al abrir App Store e iTunes Store
Al abrir la App Store, no llega a mostrar ningún icono cuando de repente, el programa termina sin indicar ningún error y sin llegar a mostrar nada:

Chequeando el resto de las aplicaciones, veo que solo sucede esto en iTunes Store y App Store.
Me conecto por SSH al iphone (tienes que tener el jailbreak hecho) y tras navegar por un montón de directorios, logs etc, doy con uno que parece interesante por su nombre:
/private/var/mobile/Library/Logs/CrashReporter
Por el nombre, parece que es aquí donde se generan los dump cuando una aplicación “crashea” así que ejecuto la App Store de nuevo y cuando se cierra inesperadamente, veo como se crean dos nuevos fichero en dicho directorio:
lrwxr-xr-x 1 root mobile 40 Jul 15 16:19 LatestCrash.plist -> AppStore_2009-07-15-161911_iRuBiCK.plist lrwxr-xr-x 1 root mobile 40 Jul 15 16:19 LatestCrash-AppStore.plist -> AppStore_2009-07-15-161911_iRuBiCK.plist -rw------- 1 mobile mobile 13966 Jul 15 16:19 AppStore_2009-07-15-161911_iRuBiCK.plist
Veamos el contenido (corto mucha parte del fichero al ser algo largo para plasmarlo completo):
iRuBiCK:/private/var/mobile/Library/Logs/CrashReporter root# cat LatestCrash.plist
AutoSubmitted
SysInfoCrashReporterKey
a6c9e3ef7369d04bd5bedc2a30g020868321f0e6
bug_type
108
description
Incident Identifier: G2794AED-3722-4133-9147-66FD97696381
CrashReporter Key: a6c9e3ef7369d04bd5bedc2a30g020868321f0e6
Process: AppStore [159]
Path: /Applications/AppStore.app/AppStore
Identifier: AppStore
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2009-07-15 16:19:11.698 +0200
OS Version: iPhone OS 3.0 (7A341)
Report Version: 104
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x00000001, 0xf004e51f
Crashed Thread: 2
[...]
Thread 2 crashed with ARM Thread State:
r0: 0x00195e50 r1: 0x005df5b0 r2: 0x00000000 r3: 0x00194c90
r4: 0x00195e50 r5: 0x00194be8 r6: 0x005df198 r7: 0x005df5c8
r8: 0x00194be0 r9: 0x001fc098 r10: 0x00194cb0 r11: 0x00194bf4
ip: 0x39af1508 sp: 0x005df198 lr: 0x31b38d4d pc: 0x32378f34
cpsr: 0x20000030
Binary Images:
0x1000 - 0x1bfff +AppStore armv7 /Applications/AppStore.app/AppStore
0x29000 - 0x2cfff +MobileSubstrate.dylib armv6 /Library/MobileSubstrate/MobileSubstrate.dylib
0x56000 - 0x57fff dns.so armv7 <167cf92c8eb518f386f86bf6dd1bb720> /usr/lib/info/dns.so
0x5a000 - 0x5afff +VoIPover3G.dylib armv6 /Library/MobileSubstrate/DynamicLibraries/VoIPover3G.dylib
0x2fe00000 - 0x2fe1dfff dyld armv7 <4466ae4c7ea4732851ed53c906e17c39> /usr/lib/dyld
0x30000000 - 0x30006fff libgcc_s.1.dylib armv7 <6dc06bc0f1ebe7c809a58a84c3cf65d2> /usr/lib/libgcc_s.1.dylib
0x3000c000 - 0x30157fff libobjc.A.dylib armv7 <9df6a45652476e2a0aa80be431a9681f> /usr/lib/libobjc.A.dylib
0x301ca000 - 0x301d5fff libz.1.dylib armv7 <15e50555eacd9dfb92a04816b33e849e> /usr/lib/libz.1.dylib
0x301fd000 - 0x302a5fff CoreFoundation armv7 /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x3036e000 - 0x3038cfff Bom armv7 /System/Library/PrivateFrameworks/Bom.framework/Bom
0x30501000 - 0x305f3fff Foundation armv7 /System/Library/Frameworks/Foundation.framework/Foundation
0x3071d000 - 0x30725fff CoreVideo armv7 /System/Library/PrivateFrameworks/CoreVideo.framework/CoreVideo
0x3073a000 - 0x3075dfff AppSupport armv7 <304814442a9abb59056bd322d8d31bf1> /System/Library/PrivateFrameworks/AppSupport.framework/AppSupport
[...]

Viendo esto, me llama mucho la atención la linea de VoIPover3G.dylib por dos razones, la primera es que no se permite el uso de VoIP sobre 3G y justo estuve trasteando con unos paquetes para permitir el uso de del skype sobre 3G el día anterior y por otra parte, el path de la librería, no es el standar en las aplicaciones de apple.
Por lo que me meto en el cydia y desinstalo la aplicación VoIPover3G y tras probar de nuevo la App Store, ¡funciona!
Lo raro de este asunto es que desde que me instalé el programa de VoIPover3G a través de cydia hasta que me dejó de funcionar la App Store, me instalé cuatro programas sin ninún problema…
En mi caso, he podido resolver este problemilla gracias a mi intuición así que si alguien tiene conocimientos de debugging o es capaz de analizar un crash en procesadores ARM, que nos comente algo más