2010-11-14 19 views
1

Je rencontre un problème avec une application iPhone qui se bloque au lancement pour un petit nombre d'utilisateurs. La plupart des utilisateurs sont très bien - l'application est en direct sur l'App Store, Apple n'a pas trouvé de problèmes, je n'ai jamais trouvé ces problèmes lors des tests. Cependant, ils existent.iPhone Crash SIGABRT 0x00000000: Aidez-moi avec plusieurs choix

Donc. Voici ce que je sais. Je crois que le crash se produit avec les utilisateurs d'iPod touch. De journaux crash j'ai obtenu d'un utilisateur, je connais les codes d'exception:

 
Exception Codes: 0x00000000, 0x00000000 

Ce que je crois que mon application indique tente d'écrire à un pointeur nul en mémoire? (Journal de l'accident en général complet ci-dessous). Donc, j'ai quelques idées de ce qui pourrait se passer, et j'espérais que quelqu'un pourrait être en mesure d'aider ... quelques théories que j'ai sont ci-dessous - J'aimerais plus d'idées. Le problème est, il est très difficile pour moi de debug, puisque je ne l'ai pas rencontré le problème sur l'un de mes appareils de test (iPhone4, iPhone3G, iPodTouch, iPad) ...

théorie1) Je définir plusieurs entiers dans viewDidLoad, puis utilisez-les dans viewWillAppear. Stupide, je sais, mais j'avais supposé que l'ordre des opérations était viewDidLoad, viewWillAppear, puis viewDidAppear. Est-ce toujours le cas? Je charge ce viewController depuis l'appDelegate, si cela aide ...

Theory2) Je crée un tableau d'UIViews dans un viewController. Ces vues sont des IBOutlets. Actuellement, je crée ce tableau dans la méthode déléguée viewDidLoad. Est-il possible que ceux-ci n'existent pas encore? Si j'attends que viewWill ou viewDid apparaisse, cela résoudrait-il ce problème?

Theory3) Dans l'application, j'ai un délégué personnalisé qui déclare lui-même dans un fichier nib. Pourrait-il envoyer des messages au contrôleur de vue avant qu'il ne soit prêt pour eux?

Théorie4) Cela a quelque chose à voir avec la cible de déploiement de la version minimale d'iOs. Actuellement, je construis contre 4.1, mais ma cible dev est fixée à 3.1. Je ne crois pas que j'utilise des méthodes qui n'existent pas, mais est-ce que cela pourrait être la racine?

Toute crédibilité à l'un de ces? Quelqu'un d'autre fait face à des problèmes similaires? Merci beaucoup pour votre aide à l'avance. Voici le plein, plus ou moins, rapport accident:

 

Incident Identifier: 2B873C9A-8B07-43FC-A5E9-E83D53A42B35 
CrashReporter Key: 5a39aac7c109610da9b8ed70df794d6feb519f19 
Process:   ## CENSORED FOR EMBARRASSMENT PROTECTION ## 
Path:   /var/mobile/Applications/ 
Identifier:  ## CENSORED FOR EMBARRASSMENT PROTECTION ## 
Version:   ??? (???) 
Code Type:  ARM (Native) 
Parent Process: launchd [1] 

Date/Time:  2010-11-12 18:59:04.099 +0000 
OS Version:  iPhone OS 3.1.3 (7E18) 
Report Version: 104 

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x00000000, 0x00000000 
Crashed Thread: 0 

Thread 0 Crashed: 
0 libSystem.B.dylib    0x33994b2c 0x33904000 + 592684 
1 libSystem.B.dylib    0x33994b1a 0x33904000 + 592666 
2 libSystem.B.dylib    0x33994b0e 0x33904000 + 592654 
3 libSystem.B.dylib    0x339abe34 0x33904000 + 687668 
4 libstdc++.6.dylib    0x30800390 0x3079a000 + 418704 
5 libobjc.A.dylib     0x3336e898 0x33366000 + 34968 
6 libstdc++.6.dylib    0x307fda84 0x3079a000 + 408196 
7 libstdc++.6.dylib    0x307fdafc 0x3079a000 + 408316 
8 libstdc++.6.dylib    0x307fdc24 0x3079a000 + 408612 
9 libobjc.A.dylib     0x3336ce54 0x33366000 + 28244 
10 CoreFoundation     0x338ecbf6 0x33857000 + 613366 
11 CoreFoundation     0x33871b12 0x33857000 + 109330 
12 CoreFoundation     0x33868838 0x33857000 + 71736 
13 UkeBank       0x00003cd2 0x1000 + 11474 
14 UIKit       0x3207a8d0 0x31fff000 + 506064 
15 UIKit       0x32077a40 0x31fff000 + 494144 
16 UIKit       0x320773fc 0x31fff000 + 492540 
17 UIKit       0x32076f44 0x31fff000 + 491332 
18 UIKit       0x32079824 0x31fff000 + 501796 
19 UIKit       0x32077a40 0x31fff000 + 494144 
20 UIKit       0x32076f44 0x31fff000 + 491332 
21 UIKit       0x32077c90 0x31fff000 + 494736 
22 UIKit       0x32077a40 0x31fff000 + 494144 
23 UIKit       0x320773fc 0x31fff000 + 492540 
24 UIKit       0x32076f44 0x31fff000 + 491332 
25 UIKit       0x32074954 0x31fff000 + 481620 
26 UIKit       0x32074558 0x31fff000 + 480600 
27 UIKit       0x32088304 0x31fff000 + 561924 
28 UIKit       0x320880b8 0x31fff000 + 561336 
29 UIKit       0x32068750 0x31fff000 + 431952 
30 UIKit       0x32087fd8 0x31fff000 + 561112 
31 UIKit       0x32087d90 0x31fff000 + 560528 
32 UIKit       0x32087c3c 0x31fff000 + 560188 
33 UIKit       0x3208763c 0x31fff000 + 558652 
34 UIKit       0x320873a8 0x31fff000 + 557992 
35 UIKit       0x32087298 0x31fff000 + 557720 
36 UIKit       0x3206b86c 0x31fff000 + 444524 
37 UIKit       0x320472d0 0x31fff000 + 295632 
38 QuartzCore      0x31b651b8 0x31b59000 + 49592 
39 QuartzCore      0x31b64ed4 0x31b59000 + 48852 
40 QuartzCore      0x31b6483c 0x31b59000 + 47164 
41 QuartzCore      0x31b6446c 0x31b59000 + 46188 
42 QuartzCore      0x31b64318 0x31b59000 + 45848 
43 UIKit       0x32051e94 0x31fff000 + 339604 
44 UIKit       0x32003a80 0x31fff000 + 19072 
45 UIKit       0x32054df8 0x31fff000 + 351736 
46 UIKit       0x32054634 0x31fff000 + 349748 
47 UIKit       0x3205408c 0x31fff000 + 348300 
48 GraphicsServices    0x3434f7dc 0x3434a000 + 22492 
49 CoreFoundation     0x338ae524 0x33857000 + 357668 
50 CoreFoundation     0x338adc18 0x33857000 + 355352 
51 UIKit       0x32002c00 0x31fff000 + 15360 
52 UIKit       0x32001228 0x31fff000 + 8744 
53 UkeBank       0x0000213c 0x1000 + 4412 
54 UkeBank       0x0000210c 0x1000 + 4364 

Thread 1: 
0 libSystem.B.dylib    0x33905488 0x33904000 + 5256 
1 libSystem.B.dylib    0x33908064 0x33904000 + 16484 
2 CoreFoundation     0x338ae002 0x33857000 + 356354 
3 CoreFoundation     0x338adc18 0x33857000 + 355352 
4 WebCore       0x33ac61d4 0x33a42000 + 541140 
5 libSystem.B.dylib    0x3392f780 0x33904000 + 178048 

Thread 0 crashed with ARM Thread State: 
    r0: 0x00000000 r1: 0x00000000  r2: 0x00000001  r3: 0x385333cc 
    r4: 0x00000006 r5: 0x0012e6ac  r6: 0x2fffccfc  r7: 0x2fffcd0c 
    r8: 0x385265c4 r9: 0x0000000a  r10: 0x30cb8524  r11: 0x00000000 
    ip: 0x00000025 sp: 0x2fffcd0c  lr: 0x33994b21  pc: 0x33994b2c 
    cpsr: 0x00070010 

Binary Images: 
    0x1000 -  0x9fff +UkeBank armv6 /var/mobile/Applications/6D5DFEC6-21DF-431C-B2B2-DEACE4366B61/UkeBank.app/UkeBank 
    0x6a000 - 0x6bfff dns.so armv6 /usr/lib/info/dns.so 
0x2fe00000 - 0x2fe26fff dyld armv6 /usr/lib/dyld 
0x30092000 - 0x300c6fff Security armv6 /System/Library/Frameworks/Security.framework/Security 
0x300ca000 - 0x3021efff AudioToolbox armv6 /System/Library/Frameworks/AudioToolbox.framework/AudioToolbox 
0x30343000 - 0x3034cfff SpringBoardServices armv6 /System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices 
0x30490000 - 0x30591fff libicucore.A.dylib armv6 /usr/lib/libicucore.A.dylib 
0x3079a000 - 0x30804fff libstdc++.6.dylib armv6 /usr/lib/libstdc++.6.dylib 
0x30805000 - 0x30902fff JavaScriptCore armv6 /System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore 
0x30f96000 - 0x30f97fff CoreSurface armv6 /System/Library/PrivateFrameworks/CoreSurface.framework/CoreSurface 
0x30fba000 - 0x31067fff ImageIO armv6 /System/Library/PrivateFrameworks/ImageIO.framework/ImageIO 
0x310b3000 - 0x310bdfff libkxld.dylib armv6 /usr/lib/system/libkxld.dylib 
0x310be000 - 0x31278fff CoreGraphics armv6 /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics 
0x3138c000 - 0x313aafff AddressBook armv6 /System/Library/Frameworks/AddressBook.framework/AddressBook 
0x313e2000 - 0x3143dfff CoreAudio armv6 /System/Library/Frameworks/CoreAudio.framework/CoreAudio 
0x31465000 - 0x314a2fff libCGFreetype.A.dylib armv6 /System/Library/Frameworks/CoreGraphics.framework/Resources/libCGFreetype.A.dylib 
0x31546000 - 0x315f3fff WebKit armv6 /System/Library/PrivateFrameworks/WebKit.framework/WebKit 
0x31600000 - 0x3164dfff IOKit armv6 /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit 
0x31767000 - 0x3176dfff liblockdown.dylib armv6 /usr/lib/liblockdown.dylib 
0x318f1000 - 0x3195efff CFNetwork armv6 /System/Library/Frameworks/CFNetwork.framework/CFNetwork 
0x319c4000 - 0x319fffff CoreTelephony armv6 /System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony 
0x31a00000 - 0x31a0afff MobileCoreServices armv6 /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices 
0x31b59000 - 0x31c03fff QuartzCore armv6 /System/Library/Frameworks/QuartzCore.framework/QuartzCore 
0x31c04000 - 0x31c38fff SystemConfiguration armv6 /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration 
0x31ca1000 - 0x31cdffff CoreText armv6 /System/Library/PrivateFrameworks/CoreText.framework/CoreText 
0x31d09000 - 0x31dfffff libxml2.2.dylib armv6 /usr/lib/libxml2.2.dylib 
0x31fd7000 - 0x31ffefff AppSupport armv6 /System/Library/PrivateFrameworks/AppSupport.framework/AppSupport 
0x31fff000 - 0x32df0fff UIKit armv6 /System/Library/Frameworks/UIKit.framework/UIKit 
0x32e05000 - 0x32e5ffff libsqlite3.dylib armv6 /usr/lib/libsqlite3.dylib 
0x32e78000 - 0x32f70fff Foundation armv6 /System/Library/Frameworks/Foundation.framework/Foundation 
0x32f71000 - 0x32f79fff libgcc_s.1.dylib armv6 /usr/lib/libgcc_s.1.dylib 
0x32f7a000 - 0x32f91fff OpenGLES armv6 /System/Library/Frameworks/OpenGLES.framework/OpenGLES 
0x33242000 - 0x3324efff CoreVideo armv6 /System/Library/PrivateFrameworks/CoreVideo.framework/CoreVideo 
0x3324f000 - 0x3324ffff vecLib armv6 /System/Library/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/vecLib 
0x332b2000 - 0x332c2fff libbsm.0.dylib armv6 /usr/lib/libbsm.0.dylib 
0x332e8000 - 0x332e9fff IOMobileFramebuffer armv6 /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/IOMobileFramebuffer 
0x3335f000 - 0x33365fff MBX2D armv6 /System/Library/PrivateFrameworks/MBX2D.framework/MBX2D 
0x33366000 - 0x33409fff libobjc.A.dylib armv6 /usr/lib/libobjc.A.dylib 
0x3342f000 - 0x33437fff AVFoundation armv6 /System/Library/Frameworks/AVFoundation.framework/AVFoundation 
0x33730000 - 0x3373efff libz.1.dylib armv6 /usr/lib/libz.1.dylib 
0x337df000 - 0x337fdfff libresolv.9.dylib armv6 /usr/lib/libresolv.9.dylib 
0x33856000 - 0x33856fff Accelerate armv6 /System/Library/PrivateFrameworks/Accelerate.framework/Accelerate 
0x33857000 - 0x33903fff CoreFoundation armv6 /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation 
0x33904000 - 0x33a2afff libSystem.B.dylib armv6 /usr/lib/libSystem.B.dylib 
0x33a3d000 - 0x33a41fff IOSurface armv6 /System/Library/PrivateFrameworks/IOSurface.framework/IOSurface 
0x33a42000 - 0x34195fff WebCore armv6 /System/Library/PrivateFrameworks/WebCore.framework/WebCore 
0x3430f000 - 0x34349fff libvDSP.dylib armv6 /System/Library/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/libvDSP.dylib 
0x3434a000 - 0x34355fff GraphicsServices armv6 /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices 

+0

Merci beaucoup pour les réponses à ce jour - je vais regarder dans les deux. Un autre élément d'information: l'utilisateur qui a soumis ce rapport d'accident m'a dit qu'après avoir restauré son ipodtouch (il avait eu d'autres problèmes) mon application a bien fonctionné. Cependant, d'autres utilisateurs ont eu des plantages. Est-ce que cette correction de restauration met en lumière le problème sous-jacent? –

+0

Hey, avez-vous déjà découvert quel était le problème? Je trébuche sur quelque chose de similaire – alemangui

Répondre

1

13 UkeBank 0x00003cd2 0x1000 + 11474

qui est le plus probable où il ne va pas (en supposant un bug dans votre application et non la cadre). Déterminez ce que votre code fait là (utilisez des symboles de débogage et/ou un dissembler) et vous serez sur la route d'une théorie qui n'est pas seulement une supposition.

2

J'ai eu un problème similaire avant, et la solution pour moi était de maillon faible libSystem.B.dylib

1.) Ouvrez les propriétés de la cible (cliquez deux fois sur la cible dans les « Groupes & Files » volet sur la gauche).

2.) Allez dans l'onglet général. 3. Trouvez «libSystem.B.dylib» dans la liste et remplacez «requis» par «faible».

Si libSystem.B.dylib ne figure pas dans la liste puis l'ajoute via "Frameworks existants".

+0

Cela, ou quelque chose de proche, peut être la solution - je vais vérifier et ensuite marquer comme accepté si cela fonctionne. Une version antérieure de ce logiciel utilisé RegExKitLite, qui lie à libicucore.A.dylib. Peut-être que ce lien provoque une erreur similaire? Savez-vous ce que libSystem.B.dylib est responsable? Merci encore beaucoup - votez pour le moment. –

+0

libSystem.B.dylib a quelque chose à voir avec des blocs. Vous n'utilisez peut-être pas de blocs vous-même, mais une bibliothèque que vous utilisez peut les utiliser de manière conditionnelle. Même si le code avec des blocs ne s'exécute jamais dans votre application, il se bloque au démarrage lorsque les différentes bibliothèques sont chargées. –