2014-01-16 5 views
0

2 탭이있는 탭바가 포함 된 iPad 응용 프로그램에 측면 패널보기 (측면 서랍과 같은)가 있습니다. 이보기는 ipad 보이는 화면을 넘어 우리가 왼쪽에서 당기면 보이게됩니다. 이것은 앱 실행시 항상 초기화됩니다. 주로 iPad 4 모델에서 iOS 7.0.3 및 7.0.4에서 무작위로 충돌합니다. 디버거가 장착되어 있고 재생 빈도가 릴리스 빌드에서 1 % 이하인 동안 디버그 모드로 재생할 수 없습니다.탭바에서 임의 충돌의 근본 원인을 찾을 수 없습니다.

iOS 문제는 아니지만 추측하거나 다른 사람이 직면하여 비슷한 문제를 해결할 수 있습니까?

Crash report: 

Hardware Model:  iPad3,4 
Code Type:   ARM (Native) 
OS Version:   iOS 7.0.4 (11B554a) 

Crash report: 
Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 
Triggered by Thread: 12 

Thread 0: 
0 libsystem_kernel.dylib   0x38d7ebb4 syscall_thread_switch + 8 
1 libsystem_platform.dylib  0x38df349c _os_lock_handoff_lock_slow + 48 
2 libsystem_malloc.dylib   0x38db90f8 szone_free_definite_size + 328 
3 libRIP.A.dylib     0x2e4ffb72 ripc_ReleaseClipState + 34 
4 libRIP.A.dylib     0x2e503438 ripc_EndLayer + 80 
5 CoreGraphics     0x2e1c25e8 CGContextEndTransparencyLayer + 36 
6 UIKit       0x309e4d2a -[UIImage(TabBarItemImages) _tabBarItemImageWithTintColor:selected:metrics:style:forScreenScale:] + 902 
7 UIKit       0x309e5070 -[UIImage(TabBarItemImages) _unselectedTabBarItemImageWithTintColor:metrics:style:forScreenScale:] + 36 
8 UIKit       0x309e4748 -[UITabBarItem(Static) _updateImageWithTintColor:isSelected:getImageOffset:] + 552 
9 UIKit       0x309e414c -[UITabBarItem(Static) _createViewForTabBar:showingBadge:withTint:idiom:] + 956 
10 UIKit       0x309e3d82 -[UITabBarItem(Static) _createViewForTabBar:showingBadge:idiom:] + 34 
11 UIKit       0x309e0028 -[UITabBarItem(Static) _updateViewForIdiom:positionItems:] + 156 
12 UIKit       0x309e74ca -[UITabBar(Static) _configureItems:] + 402 
13 UIKit       0x309e6b7e -[UITabBar(Static) _positionTabBarButtons:ignoringItem:] + 1270 
14 UIKit       0x309e3b38 -[UITabBar setItems:animated:] + 1352 
15 UIKit       0x309e3522 -[UITabBarController _rebuildTabBarItemsAnimated:] + 798 
16 UIKit       0x309e7a74 -[UITabBarController _setSelectedViewController:] + 72 
17 UIKit       0x308cdcf2 +[UIView(Animation) performWithoutAnimation:] + 70 
18 UIKit       0x309eb470 -[UITabBarController _selectDefaultViewControllerIfNecessaryWithAppearanceTransitions:] + 216 
19 UIKit       0x309ea8e6 -[UITabBarController viewWillAppear:] + 130 
20 UIKit       0x308d66fa -[UIViewController _setViewAppearState:isAnimating:] + 342 
21 CoreFoundation     0x2e080800 __53-[__NSArrayI enumerateObjectsWithOptions:usingBlock:]_block_invoke + 48 
22 CoreFoundation     0x2e07a21a -[__NSArrayI enumerateObjectsWithOptions:usingBlock:] + 218 
23 UIKit       0x308d6876 -[UIViewController _setViewAppearState:isAnimating:] + 722 
24 UIKit       0x30a4ccfa -[UINavigationController _startCustomTransition:] + 842 
25 UIKit       0x3096aa12 -[UINavigationController _startDeferredTransitionIfNeeded:] + 414 
26 UIKit       0x3096a81c -[UINavigationController __viewWillLayoutSubviews] + 40 
27 UIKit       0x3096a7b4 -[UILayoutContainerView layoutSubviews] + 180 
28 UIKit       0x308bc34e -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 342 
29 QuartzCore      0x3054293e -[CALayer layoutSublayers] + 138 
30 QuartzCore      0x3053e162 CA::Layer::layout_if_needed(CA::Transaction*) + 346 
31 QuartzCore      0x3053dff4 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 12 
32 QuartzCore      0x3053da08 CA::Context::commit_transaction(CA::Transaction*) + 224 
33 QuartzCore      0x3053d81a CA::Transaction::commit() + 310 
34 QuartzCore      0x30537548 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 52 
35 CoreFoundation     0x2e102f66 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 18 
36 CoreFoundation     0x2e1008f2 __CFRunLoopDoObservers + 282 
37 CoreFoundation     0x2e100c3e __CFRunLoopRun + 734 
38 CoreFoundation     0x2e06b46c CFRunLoopRunSpecific + 520 
39 CoreFoundation     0x2e06b24e CFRunLoopRunInMode + 102 
40 GraphicsServices    0x32d722e6 GSEventRunModal + 134 
41 UIKit       0x30920840 UIApplicationMain + 1132 
42 MyApp      0x0006b5f2 0x64000 + 30194 
43 libdyld.dylib     0x38cdaab4 start + 0 


Thread 12 Crashed: 
0 libsystem_kernel.dylib   0x38d911fc __pthread_kill + 8 
1 libsystem_pthread.dylib   0x38df8a4e pthread_kill + 54 
2 libsystem_c.dylib    0x38d42082 __abort + 74 
3 libsystem_c.dylib    0x38d42034 abort + 84 
4 libsystem_malloc.dylib   0x38dbf758 szone_error + 312 
5 libsystem_malloc.dylib   0x38dbf9d4 free_list_checksum_botch + 24 
6 libsystem_malloc.dylib   0x38dba1a4 tiny_free_list_remove_ptr + 76 
7 libsystem_malloc.dylib   0x38db9770 szone_free_definite_size + 1984 
8 libsystem_blocks.dylib   0x38cf7ac2 _Block_release + 214 
9 libdispatch.dylib    0x38ccae76 _dispatch_queue_drain + 370 
10 libdispatch.dylib    0x38cc7f8e _dispatch_queue_invoke + 38 
11 libdispatch.dylib    0x38ccb742 _dispatch_root_queue_drain + 74 
12 libdispatch.dylib    0x38ccb9c0 _dispatch_worker_thread2 + 52 
13 libsystem_pthread.dylib   0x38df5dfc _pthread_wqthread + 296 
14 libsystem_pthread.dylib   0x38df5cc0 start_wqthread + 4 

유사한 경우에 또 다른 임의의 충돌 :

Thread 0 Crashed: 
0 CoreFoundation      0x311e9728 -[__NSDictionaryM objectForKey:] + 100 
1 UIKit        0x33a3e855 -[UILabel _setFont:] + 209 
2 UIKit        0x33b5a411 -[UITabBarButton initWithImage:selectedImage:label:withInsets:] + 293 
3 UIKit        0x33b59223 -[UITabBarItem(Static) _createViewForTabBar:showingBadge:withTint:idiom:] + 1171 
4 UIKit        0x33b58d87 -[UITabBarItem(Static) _createViewForTabBar:showingBadge:idiom:] + 39 
5 UIKit        0x33b5502d -[UITabBarItem(Static) _updateViewForIdiom:positionItems:] + 161 
6 UIKit        0x33b5c4cf -[UITabBar(Static) _configureItems:] + 407 
7 UIKit        0x33b5bb83 -[UITabBar(Static) _positionTabBarButtons:ignoringItem:] + 1275 
8 UIKit        0x33b58b3d -[UITabBar setItems:animated:] + 1357 
9 UIKit        0x33b58527 -[UITabBarController _rebuildTabBarItemsAnimated:] + 803 
10 UIKit        0x33b5ca79 -[UITabBarController _setSelectedViewController:] + 77 
11 UIKit        0x33a42cf5 +[UIView(Animation) performWithoutAnimation:] + 73 
12 UIKit        0x33b60475 -[UITabBarController _selectDefaultViewControllerIfNecessaryWithAppearanceTransitions:] + 221 
13 UIKit        0x33b5f8eb -[UITabBarController viewWillAppear:] + 135 
14 UIKit        0x33a4b6ff -[UIViewController _setViewAppearState:isAnimating:] + 347 
15 CoreFoundation      0x311f5803 __53-[__NSArrayI enumerateObjectsWithOptions:usingBlock:]_block_invoke + 51 
16 CoreFoundation      0x311ef21d -[__NSArrayI enumerateObjectsWithOptions:usingBlock:] + 221 
17 UIKit        0x33a4b87b -[UIViewController _setViewAppearState:isAnimating:] + 727 
18 UIKit        0x33bc1cff -[UINavigationController _startCustomTransition:] + 847 
19 UIKit        0x33adfa17 -[UINavigationController _startDeferredTransitionIfNeeded:] + 419 
20 UIKit        0x33adf821 -[UINavigationController __viewWillLayoutSubviews] + 45 
21 UIKit        0x33adf7b9 -[UILayoutContainerView layoutSubviews] + 185 
22 UIKit        0x33a31353 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 347 
23 QuartzCore       0x336b7943 -[CALayer layoutSublayers] + 143 
24 QuartzCore       0x336b3167 CA::Layer::layout_if_needed(CA::Transaction*) + 351 
25 QuartzCore       0x336b2ff9 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 17 
26 QuartzCore       0x336b2a0d CA::Context::commit_transaction(CA::Transaction*) + 229 
27 QuartzCore       0x336b281f CA::Transaction::commit() + 315 
28 QuartzCore       0x336ac54d CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 57 
29 CoreFoundation      0x31277f69 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 21 
30 CoreFoundation      0x312758f7 __CFRunLoopDoObservers + 287 
31 CoreFoundation      0x31275c43 __CFRunLoopRun + 739 
32 CoreFoundation      0x311e0471 CFRunLoopRunSpecific + 525 
33 CoreFoundation      0x311e0253 CFRunLoopRunInMode + 107 
34 GraphicsServices     0x35ee12eb GSEventRunModal + 139 
35 UIKit        0x33a95845 UIApplicationMain + 1137 
36 SofTestM       0x000545f7 0x4d000 + 30199 

두 번째 충돌이 나는이 무작위로 충돌로 인해 메모리 누수에있을 느낄

UITabBar-->UITabBarButton->UILabel (of UITabBarButton) _setFont: 
+0

코드를 GCD 또는 블록으로 작성 했습니까? 그렇다면 해당 코드를 표시 하시겠습니까? – Mani

+0

스레드 12에서 실행되는 코드를 우리와 공유 할 수 있습니까? 모양에서 블록을 해제하려고하는데 어떤 이유로 실패합니다. – Andrew

답변

1

에서 글꼴 설정시입니다 당신 신청서. 내가 틀렸다면 용서해주십시오. 로그에 CoreGraphics를 사용하는 것으로 나타났습니다. ARC를 사용하는 경우에도 Core Graphics를 릴리스하면 100 % 메모리가 아닌 것처럼 약간 까다 롭습니다. 출시되는 데는 시간이 걸릴 수 있습니다. 그래서 루프를 사용하여 코어 그래픽 객체를 사용한다고 가정하면 ipad 메모리가 경계를 벗어날 것입니다.

관련 문제