Comment comprendre EXC_BAC_ACCESS (SIGSEGV) KERN_INVALID_ADDRESS journal?
Je suis en train de faire une application en Titane pour Android et IOS. Lorsque je navigue beaucoup dans l'application, j'ai une exception aléatoire et l'application se bloque.
Comment puis-je savoir où est le problème?
L'application est un peu complexe à expliquer:
Il dispose de deux fenêtres, la première fenêtre est pour "home" voir qui est uniquement en mode portrait, et quand je clique pour aller à un autre point de vue, j'ai fermer la première fenêtre, j'ouvre une autre fenêtre et j'ajoute un point de vue avec le contenu de cette fenêtre. L'affichage du contenu de la charge de la même vue web avec une url différente.
L'app charges ok et je peux naviguer dans les différents points de vue et windows ok. Mais quand je navigue beaucoup, enfin j'ai un EXC_BAC_ACCESS (SIGSEGV) et KERN_INVALID_ADDRESS
Cela se produit uniquement sur l'appareil (sur simulateur il fonctionne ok) avec l'iPad os 5.1.1 et os 7.0.2.
C'est le journal où le fil se bloque:
Incident Identifier: 1A3E94A0-E6FC-4BFF-BB3B-7651D66664DE
CrashReporter Key: d4422d11c83ca9acf2212996b20dd1078f00f36c
Hardware Model: iPad3,3
Process: Appname [16747]
Path: /var/mobile/Applications/1BACB160-AED8-4F5F-A599-4F7F1F4A4DC4/Appname.app/Appname
Identifier: Appname
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-10-31 11:56:58.680 +0100
OS Version: iPhone OS 5.1.1 (9B206)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libicucore.A.dylib 0x37953fb2 utext_setNativeIndex + 122
1 libicucore.A.dylib 0x379542a6 icu::RuleBasedBreakIterator::following(int) + 246
2 WebKit 0x35f20b2c -[NSString(WebStringDrawing) __web_drawInRect:withFont:ellipsis:alignment:letterSpacing:lineSpacing:includeEmoji:truncationRect:measureOnly:renderedStringOut:drawUnderline:] + 2176
3 WebKit 0x35e99078 -[NSString(WebStringDrawing) __web_drawInRect:withFont:ellipsis:alignment:letterSpacing:lineSpacing:includeEmoji:truncationRect:measureOnly:renderedStringOut:] + 108
4 WebKit 0x35e98ffc -[NSString(WebStringDrawing) __web_drawInRect:withFont:ellipsis:alignment:letterSpacing:lineSpacing:includeEmoji:truncationRect:measureOnly:] + 100
5 WebKit 0x35e98f88 -[NSString(WebStringDrawing) _web_drawInRect:withFont:ellipsis:alignment:lineSpacing:includeEmoji:truncationRect:measureOnly:] + 100
6 WebKit 0x35e98f14 -[NSString(WebStringDrawing) _web_sizeInRect:withFont:ellipsis:lineSpacing:] + 80
7 UIKit 0x34fba65c -[NSString(UIStringDrawing) sizeWithFont:constrainedToSize:lineBreakMode:lineSpacing:] + 108
8 UIKit 0x3512ee0e -[NSString(UIStringDrawing) sizeWithFont:constrainedToSize:lineBreakMode:] + 46
9 Appname 0x0014528c -[TiUILabel sizeForFont:] (TiUILabel.m:57)
10 Appname 0x0014537a -[TiUILabel contentWidthForWidth:] (TiUILabel.m:69)
11 Appname 0x001449bc -[TiUILabelProxy contentWidthForWidth:] (TiUILabelProxy.m:17)
12 Appname 0x00116fb4 -[TiViewProxy autoWidthForSize:] (TiViewProxy.m:756)
13 Appname 0x00120dbc -[TiViewProxy computeChildSandbox:withBounds:] (TiViewProxy.m:2543)
14 Appname 0x0011fbb8 -[TiViewProxy measureChildren:] (TiViewProxy.m:2352)
15 Appname 0x00121e36 -[TiViewProxy layoutChildren:] (TiViewProxy.m:2818)
16 Appname 0x0011dd9a -[TiViewProxy refreshView:] (TiViewProxy.m:2061)
17 Appname 0x0011f25c -[TiViewProxy layoutChildrenIfNeeded] (TiViewProxy.m:2264)
18 Appname 0x001d5ba0 +[TiLayoutQueue layoutProxy:] (TiLayoutQueue.m:79)
19 Appname 0x001d59b0 performLayoutRefresh (TiLayoutQueue.m:46)
20 CoreFoundation 0x32a5fa2c __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 8
21 CoreFoundation 0x32a5f692 __CFRunLoopDoTimer + 358
22 CoreFoundation 0x32a5e268 __CFRunLoopRun + 1200
23 CoreFoundation 0x329e149e CFRunLoopRunSpecific + 294
24 CoreFoundation 0x329e1366 CFRunLoopRunInMode + 98
25 GraphicsServices 0x32b2e432 GSEventRunModal + 130
26 UIKit 0x34fc0cce UIApplicationMain + 1074
27 Appname 0x000b8c34 main (main.m:36)
28 Appname 0x000b8470 ___lldb_unnamed_function1$$Appname + 32
Thread 0 crashed with ARM Thread State:
r0: 0x00000000 r1: 0x00000000 r2: 0x00000000 r3: 0x00000000
r4: 0x0d65c6b0 r5: 0x0d65c690 r6: 0x00000000 r7: 0x2feabfac
r8: 0x00000003 r9: 0x2feabf6c r10: 0x00000003 r11: 0x08052950
ip: 0x00000000 sp: 0x2feabfa4 lr: 0x00000000 pc: 0x37953fb2
cpsr: 0x80000030
J'ai aussi eu le journal de d'autres fils et d'informations sur des Images Binaires. Si c'est utile, je peux le coller.
Comment puis-je savoir quelle est la cause du problème et où est le problème?
Merci beaucoup
Comment puis-je le faire? merci
GIYF: kevincupp.com/2011/05/12/symbolicating-ios-crash-logs.html
- Je mettre à jour la question avec la trace de la pile symbolicate
OriginalL'auteur A.Vila | 2013-10-23
Vous devez vous connecter pour publier un commentaire.
Vous obtenez EXC_BAC_ACCESS parce que vous tentez d'accéder à l'objet qui a été supprimé de la mémoire. Il ne se produit que sur l'appareil lorsque vous accédez à de nombreux windows parce que chaque fenêtre prend une partie de la mémoire et quand il n'y a plus d'espace pour les nouveaux windows iOS efface les vieux objets qui ont été supprimés par vous-même auparavant.
Vous pouvez reproduire ce problème sur simulateur en forçant la Mémoire d'Avertissement en appuyant sur ⇧ + ⌘ + M.
À résoudre votre problème, vous avez à stocker la variable pointant vers la fenêtre de l'objet auquel vous souhaitez rouvrir plus tard dans certaines régions du globe dictionnaire.
OriginalL'auteur daniula
Enfin, je pense que c'était un problème avec le composant webview. J'ai créé un site web de vue dans chaque vue (j'en ai besoin pour afficher des graphiques) et quand je retourne à la maison, j'ai essayé de le supprimer. Je pense que le problème est que vous ne pouvez pas supprimer complètement et il prend beaucoup de mémoire.
Enfin je l'ai résolu de la création d'une webview dans app.js et de l'utiliser dans tous les points de vue de modifier l'url et les dimensions.
OriginalL'auteur A.Vila