I got following crash log from Apple.
I thought that this crash occurs during animation. I have tried to solve it by adding following lines but it is not affected.
[UIView setAnimationsEnabled:NO ]
Log:
Thread : Crashed: WebThread
0 libsystem_kernel.dylib 0x338fbdf0 __pthread_kill + 8
1 libsystem_pthread.dylib 0x3397acc7 pthread_kill + 62
2 libsystem_c.dylib 0x33897909 abort + 76
3 libsystem_malloc.dylib 0x33925331 szone_size + 394
4 libobjc.A.dylib 0x33288621 object_dispose + 20
5 UIKit 0x2828cd8f -[UIViewAnimationState dealloc] + 174
6 libobjc.A.dylib 0x33299d5f objc_object::sidetable_release(bool) + 166
7 UIKit 0x2828ae15 +[UIViewAnimationState popAnimationState] + 340
8 MediaPlayer 0x264a6d07 -[MPVolumeSlider _layoutForAvailableRoutes] + 1322
9 MediaPlayer 0x264a592d -[MPVolumeSlider layoutSubviews] + 60
10 UIKit 0x28255fd3 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 546
11 QuartzCore 0x27c69d29 -[CALayer layoutSublayers] + 128
12 QuartzCore 0x27c6555d CA::Layer::layout_if_needed(CA::Transaction*) + 360
13 UIKit 0x28268bb3 -[UIView(Hierarchy) layoutBelowIfNeeded] + 138
14 UIKit 0x2826e053 -[UISlider setValue:animated:] + 178
15 MediaPlayer 0x264a5ffb -[MPVolumeSlider volumeController:volumeValueDidChange:] + 78
16 MediaPlayer 0x265249c5 -[MPVolumeController updateVolumeValue] + 252
17 MediaPlayer 0x264a5a3b -[MPVolumeSlider didMoveToSuperview] + 126
18 UIKit 0x28254e71 -[UIView(Hierarchy) _postMovedFromSuperview:] + 428
19 UIKit 0x2825f6db -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1498
20 UIKit 0x2825f0fb -[UIView(Hierarchy) addSubview:] + 30
21 MediaPlayer 0x264a8841 -[MPVolumeView _createSubviews] + 236
22 MediaPlayer 0x264a748d -[MPVolumeView _initWithStyle:] + 212
23 MediaPlayer 0x264a7521 -[MPVolumeView initWithFrame:style:] + 80
24 MediaPlayer 0x264a74cb -[MPVolumeView initWithFrame:] + 38
25 UIKit 0x282760c9 -[UIView init] + 44
26 WebCore 0x313b6675 -[WebMediaSessionHelper allocateVolumeView] + 264
27 WebCore 0x313b6927 -[WebMediaSessionHelper initWithCallback:] + 394
28 WebCore 0x313b5a51 WebCore::MediaSessionManageriOS::MediaSessionManageriOS() + 172
29 WebCore 0x313b593d WebCore::MediaSessionManager::sharedManager() + 124
30 WebCore 0x313b4b8d WebCore::MediaSession::MediaSession(WebCore::MediaSessionClient&) + 32
31 WebCore 0x31044b65 WebCore::HTMLMediaSession::create(WebCore::MediaSessionClient&) + 20
32 WebCore 0x31033487 WebCore::HTMLMediaElement::HTMLMediaElement(WebCore::QualifiedName const&, WebCore::Document&, bool) + 1046
33 WebCore 0x3105c60b WebCore::HTMLVideoElement::create(WebCore::QualifiedName const&, WebCore::Document&, bool) + 38
34 WebCore 0x310265d5 WebCore::videoConstructor(WebCore::QualifiedName const&, WebCore::Document&, WebCore::HTMLFormElement*, bool) + 56
35 WebCore 0x31025d29 WebCore::HTMLElementFactory::createElement(WebCore::QualifiedName const&, WebCore::Document&, WebCore::HTMLFormElement*, bool) + 232
36 WebCore 0x30c2df9d WebCore::HTMLDocument::createElement(WTF::AtomicString const&, int&) + 88
37 WebCore 0x30c2dedf WebCore::jsDocumentPrototypeFunctionCreateElement(JSC::ExecState*) + 242
38 JavaScriptCore 0x2606e133 llint_entry + 21314
39 JavaScriptCore 0x2606dcd9 llint_entry + 20200
40 JavaScriptCore 0x2606dcd9 llint_entry + 20200
41 JavaScriptCore 0x2606dd27 llint_entry + 20278
42 JavaScriptCore 0x2606dd27 llint_entry + 20278
43 JavaScriptCore 0x2606dd27 llint_entry + 20278
44 JavaScriptCore 0x2606dd27 llint_entry + 20278
45 JavaScriptCore 0x2606dd27 llint_entry + 20278
46 JavaScriptCore 0x2606de2d llint_entry + 20540
47 JavaScriptCore 0x2606de2d llint_entry + 20540
48 JavaScriptCore 0x26068bdf callToJavaScript + 334
49 JavaScriptCore 0x25ff83b5 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 36
50 JavaScriptCore 0x25e2e753 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*) + 5738
51 JavaScriptCore 0x25e2cf9b JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, JSC::JSValue*) + 358
52 WebCore 0x314e9b29 WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&, WebCore::DOMWrapperWorld&) + 196
53 WebCore 0x30c48e7b WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&) + 26
54 WebCore 0x30c48e1f WebCore::ScriptElement::executeScript(WebCore::ScriptSourceCode const&) + 234
55 WebCore 0x30c2ee53 WebCore::ScriptElement::prepareScript(WTF::TextPosition const&, WebCore::ScriptElement::LegacyTypeSupport) + 754
56 WebCore 0x30cc88b3 WebCore::HTMLScriptRunner::runScript(WebCore::Element*, WTF::TextPosition const&) + 202
57 WebCore 0x30cc87a3 WebCore::HTMLScriptRunner::execute(WTF::PassRefPtr<WebCore::Element>, WTF::TextPosition const&) + 34
58 WebCore 0x30cc8735 WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder() + 52
59 WebCore 0x30c7094f WebCore::HTMLDocumentParser::canTakeNextToken(WebCore::HTMLDocumentParser::SynchronousMode, WebCore::PumpSession&) + 50
60 WebCore 0x30c6fedd WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode) + 344
61 WebCore 0x30cd0f3f WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution() + 78
62 WebCore 0x30ccf9f1 non-virtual thunk to WebCore::HTMLDocumentParser::notifyFinished(WebCore::CachedResource*) + 72
63 WebCore 0x30ccca8b WebCore::CachedResource::checkNotify() + 58
64 WebCore 0x30ccc895 WebCore::SubresourceLoader::didFinishLoading(double) + 128
65 CFNetwork 0x2462fc8f ___ZN27URLConnectionClient_Classic26_delegate_didFinishLoadingEU13block_pointerFvvE_block_invoke + 78
66 CFNetwork 0x246cd365 ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 60
67 CFNetwork 0x24620985 RunloopBlockContext::_invoke_block(void const*, void*) + 60
68 CoreFoundation 0x24aebc6d CFArrayApplyFunction + 36
69 CFNetwork 0x2462083f RunloopBlockContext::perform() + 182
70 CFNetwork 0x24620705 MultiplexerSource::perform() + 216
71 CFNetwork 0x24620599 MultiplexerSource::_perform(void*) + 48
72 CoreFoundation 0x24ba1faf __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
73 CoreFoundation 0x24ba1451 __CFRunLoopDoSources0 + 364
74 CoreFoundation 0x24b9fa25 __CFRunLoopRun + 772
75 CoreFoundation 0x24aec201 CFRunLoopRunSpecific + 476
76 CoreFoundation 0x24aec013 CFRunLoopRunInMode + 106
77 WebCore 0x30c8c063 RunWebThread(void*) + 418
78 libsystem_pthread.dylib 0x33979e23 _pthread_body + 138
79 libsystem_pthread.dylib 0x33979d97 _pthread_start + 118
80 libsystem_pthread.dylib 0x33977b20 thread_start + 8
Related
Recently I'm getting a lot of crashes on Crashlytics with title :
QuartzCore
CA::AttrList::set(unsigned int, _CAValueType, void const*)
This crash is caused i think by Google Admob SDK, And only on iOS 8.4.1. i did a little research to find out whats causing that and to find a solution for it, I've found a report in Admob Docs : https://groups.google.com/forum/#!category-topic/google-admob-ads-sdk/Qnfr17UHJ6Q , which have similar crash report.
They said that i have to turn off UIView Animation For GADBannerView : [GADBannerView setAnimationsEnabled:NO]; , But thats not a solution at all because Google Banner View doesn't subclass UIViewAnimation thus its gonna turn off all the animation inside the app including push, tableview animation ..etc
I don't know if somebody did face this crash before and what was the cause of that, And note that I'm not using WebView At all in my application.
And crash thread details is here:
#0
Crashed: WebThread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x000000007fe10153
Raw
0 libobjc.A.dylib
objc_msgSend + 21
1 QuartzCore
CA::AttrList::set(unsigned int, _CAValueType, void const*) + 412
2
QuartzCore
CAAnimation_setter(CAAnimation*, unsigned int, _CAValueType, void const*) + 162
3 QuartzCore
-[CAAnimation setDelegate:] + 18
4 UIKit
-[UIViewAnimationState setAnimationAttributes:correctZeroDuration:skipDelegateAssignment:customCurve:] + 742
5 UIKit
-[UIViewAnimationState animationForLayer:forKey:forView:] + 648
6 UIKit
-[UIViewAnimationState actionForLayer:forKey:forView:] + 40
7 UIKit
+[UIView(Animation) _defaultUIViewActionForLayer:forKey:] + 88
8 UIKit
-[UIView(CALayerDelegate) actionForLayer:forKey:] + 116
9 QuartzCore
-[CALayer actionForKey:] + 146
10 QuartzCore
actionForKey(CALayer*, CA::Transaction*, NSString*) + 56
11 QuartzCore
CA::Layer::begin_change(CA::Transaction*, unsigned int, objc_object*&) + 130
12 QuartzCore
CA::Layer::set_position(CA::Vec2<double> const&, bool) + 348
13 QuartzCore
-[CALayer setPosition:] + 54
14 QuartzCore
-[CALayer setFrame:] + 574
15 UIKit
-[UIView(Geometry) setFrame:] + 264
16 UIKit
-[UIImageView _setViewGeometry:forMetric:] + 170
17 UIKit
-[UIImageView setFrame:] + 38
18 UIKit
-[UISlider _layoutSubviewsForBoundsChange:] + 1082
19 UIKit
-[UISlider _sliderAnimationDidStop:finished:context:] + 74
20 UIKit
-[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 184
21 UIKit
+[UIViewAnimationState popAnimationState] + 320
22 UIKit
-[UISlider setValue:animated:] + 796
23 MediaPlayer
-[MPVolumeSlider volumeController:volumeValueDidChange:] + 78
24 MediaPlayer
-[MPVolumeController updateVolumeValue] + 252
25 MediaPlayer
-[MPVolumeSlider didMoveToSuperview] + 126
26 UIKit
-[UIView(Hierarchy) _postMovedFromSuperview:] + 428
27 UIKit
-[UIView(Internal) _addSubview:positioned:relativeTo:] + 1498
28 UIKit
-[UIView(Hierarchy) addSubview:] + 30
29 MediaPlayer
-[MPVolumeView _createSubviews] + 236
30 MediaPlayer
-[MPVolumeView _initWithStyle:] + 212
31 MediaPlayer
-[MPVolumeView initWithFrame:style:] + 80
32 MediaPlayer
-[MPVolumeView initWithFrame:] + 38
33 UIKit
-[UIView init] + 44
34 WebCore
-[WebMediaSessionHelper allocateVolumeView] + 264
35 WebCore
-[WebMediaSessionHelper initWithCallback:] + 394
36 WebCore
WebCore::MediaSessionManageriOS::MediaSessionManageriOS() + 172
37 WebCore
WebCore::MediaSessionManager::sharedManager() + 124
38 WebCore
WebCore::MediaSession::MediaSession(WebCore::MediaSessionClient&) + 32
39 WebCore
WebCore::HTMLMediaSession::create(WebCore::MediaSessionClient&) + 20
40 WebCore
WebCore::HTMLMediaElement::HTMLMediaElement(WebCore::QualifiedName const&, WebCore::Document&, bool) + 1046
41 WebCore
WebCore::HTMLAudioElement::create(WebCore::QualifiedName const&, WebCore::Document&, bool) + 36
42 WebCore
WebCore::audioConstructor(WebCore::QualifiedName const&, WebCore::Document&, WebCore::HTMLFormElement*, bool) + 56
43 WebCore
WebCore::HTMLElementFactory::createElement(WebCore::QualifiedName const&, WebCore::Document&, WebCore::HTMLFormElement*, bool) + 232
44 WebCore
WebCore::HTMLDocument::createElement(WTF::AtomicString const&, int&) + 88
45 WebCore
WebCore::jsDocumentPrototypeFunctionCreateElement(JSC::ExecState*) + 242
46 JavaScriptCore
llint_entry + 21314
47 JavaScriptCore
llint_entry + 20278
48 JavaScriptCore
llint_entry + 20278
49 JavaScriptCore
llint_entry + 20278
50 JavaScriptCore
callToJavaScript + 334
51 JavaScriptCore
JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 36
52 JavaScriptCore
JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 350
53 JavaScriptCore
JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 62
54 JavaScriptCore
JSC::boundFunctionCall(JSC::ExecState*) + 342
55 JavaScriptCore
callToNativeFunction + 318
56 JavaScriptCore
JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 418
57 JavaScriptCore
JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, JSC::JSValue*) + 64
58 WebCore
WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) + 520
59 WebCore
WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector<WebCore::RegisteredEventListener, 1ul, WTF::CrashOnOverflow>&) + 650
60 WebCore
WebCore::EventTarget::fireEventListeners(WebCore::Event*) + 162
61 WebCore
WebCore::EventContext::handleLocalEvents(WebCore::Event&) const + 60
62 WebCore
WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WTF::PassRefPtr<WebCore::Event>) + 692
63 WebCore
WebCore::Node::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) + 20
64 WebCore
WebCore::Document::finishedParsing() + 92
65 WebCore
WebCore::HTMLDocumentParser::prepareToStopParsing() + 118
66 WebCore
non-virtual thunk to WebCore::HTMLDocumentParser::notifyFinished(WebCore::CachedResource*) + 72
67 WebCore
WebCore::CachedResource::checkNotify() + 58
68 WebCore
WebCore::SubresourceLoader::didFinishLoading(double) + 128
69 CFNetwork
___ZN27URLConnectionClient_Classic26_delegate_didFinishLoadingEU13block_pointerFvvE_block_invoke + 78
70 CFNetwork
___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 60
71 CFNetwork
RunloopBlockContext::_invoke_block(void const*, void*) + 60
72 CoreFoundation
CFArrayApplyFunction + 36
73 CFNetwork
RunloopBlockContext::perform() + 182
74 CFNetwork
MultiplexerSource::perform() + 216
75 CFNetwork
MultiplexerSource::_perform(void*) + 48
76 CoreFoundation
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
77 CoreFoundation
__CFRunLoopDoSources0 + 218
78 CoreFoundation
__CFRunLoopRun + 772
79 CoreFoundation
CFRunLoopRunSpecific + 476
80 CoreFoundation
CFRunLoopRunInMode + 106
81 WebCore
RunWebThread(void*) + 418
82 libsystem_pthread.dylib
_pthread_body + 138
83 libsystem_pthread.dylib
_pthread_start + 118
84
libsystem_pthread.dylib
thread_start + 8
And Here is some of my code for Banner View :
func bannerViewDidLoadAd(banner: ADBannerView!) {
log.PrintMe("bannerViewDidLoadAd")
admobBannerView.hidden = true
UIView.animateWithDuration(0.5) { () -> Void in
adBannerView.alpha = 1 //iAd Banner
}
}
func bannerViewActionDidFinish(banner: ADBannerView!) {
log.PrintMe("bannerViewActionDidFinish")
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
log.PrintMe("didFailToReceiveAdWithError: \(error)")
UIView.animateWithDuration(0.5) { () -> Void in
adBannerView.alpha = 0 //iAd Banner
}
admobBannerView.hidden = false
}
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
return true
}
I have this crash log, but I don't understand how to find what causes an issue.
Thread : Crashed: WebThread
0 WebCore 954995104 WebCore::StyleResolver::loadPendingImages() + 1135
1 WebCore 955192507 WebCore::ResourceRequestBase::~ResourceRequestBase() + 106
2 WebCore 954966933 WebCore::StyleResolver::applyMatchedProperties(WebCore::StyleResolver::MatchResult const&, WebCore::Element const*) + 792
3 WebCore 955009301 WebCore::StyleResolver::styleForElement(WebCore::Element*, WebCore::RenderStyle*, WebCore::StyleSharingBehavior, WebCore::RuleMatchingBehavior, WebCore::RenderRegion*) + 952
4 WebCore 956072077 WebCore::Document::styleForElementIgnoringPendingStylesheets(WebCore::Element*) + 96
5 WebCore 956071899 WebCore::Element::computedStyle(WebCore::PseudoId) + 142
6 WebCore 956433467 WebCore::ComputedStyleExtractor::propertyValue(WebCore::CSSPropertyID, WebCore::EUpdateLayout) const + 466
7 WebCore 957126027 WebCore::CSSComputedStyleDeclaration::getPropertyValue(WebCore::CSSPropertyID) const + 42
8 WebCore 957125931 WebCore::CSSComputedStyleDeclaration::getPropertyValue(WTF::String const&) + 26
9 WebCore 957459107 WebCore::jsCSSStyleDeclarationPrototypeFunctionGetPropertyValue(JSC::ExecState*) + 258
10 JavaScriptCore 838902235 llint_native_call_trampoline + 64
11 JavaScriptCore 838939999 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 70
12 WebCore 955098071 WebCore::JSMainThreadExecState::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 146
13 WebCore 957106929 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) + 520
14 WebCore 956836797 WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector<WebCore::RegisteredEventListener, 1ul, WTF::CrashOnOverflow>&) + 484
15 WebCore 955783727 WebCore::EventTarget::fireEventListeners(WebCore::Event*) + 178
16 WebCore 955784069 WebCore::EventContext::handleLocalEvents(WebCore::Event*) const + 60
17 WebCore 955783067 WebCore::EventDispatcher::dispatch() + 546
18 WebCore 955782519 WebCore::EventDispatchMediator::dispatchEvent(WebCore::EventDispatcher*) const + 10
19 WebCore 955780731 WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WTF::PassRefPtr<WebCore::EventDispatchMediator>) + 154
20 WebCore 955780413 WebCore::Node::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) + 100
21 WebCore 955830855 WebCore::Document::finishedParsing() + 102
22 WebCore 955791991 WebCore::HTMLDocumentParser::prepareToStopParsing() + 122
23 WebCore 956118393 WebCore::HTMLDocumentParser::notifyFinished(WebCore::CachedResource*) + 68
24 WebCore 956102527 WebCore::CachedResource::checkNotify() + 42
25 WebCore 956102065 WebCore::SubresourceLoader::didFinishLoading(double) + 112
26 WebCore 956101909 WebCore::didFinishLoading(_CFURLConnection*, void const*) + 132
27 CFNetwork 818745231 ___ZN27URLConnectionClient_Classic26_delegate_didFinishLoadingEU13block_pointerFvvE_block_invoke + 74
28 CFNetwork 818740111 ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 54
29 CFNetwork 818942775 ___ZNK17CoreSchedulingSet13_performAsyncEPKcU13block_pointerFvvE_block_invoke + 18
30 CoreFoundation 821665441 CFArrayApplyFunction + 36
31 CFNetwork 818314757 RunloopBlockContext::perform() + 164
32 CFNetwork 818314453 MultiplexerSource::perform() + 220
33 CFNetwork 818314085 MultiplexerSource::_perform(void*) + 48
34 CoreFoundation 822288159 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
35 CoreFoundation 822285287 __CFRunLoopDoSources0 + 206
36 CoreFoundation 822279127 __CFRunLoopRun + 630
37 CoreFoundation 821666929 CFRunLoopRunSpecific + 524
38 CoreFoundation 821666387 CFRunLoopRunInMode + 106
39 WebCore 955674821 RunWebThread(void*) + 420
40 libsystem_pthread.dylib 1000184925 _pthread_body + 140
41 libsystem_pthread.dylib 1000184783 _pthread_start + 102
42 libsystem_pthread.dylib 1000176848 thread_start + 8
The callstack is below. I have been kinda stumped about this. The app crashes randomly with this callstack. The only clue I have is its always when the user is dealing with UIWebViews.
Could it be possibly because that I am not nilling out the webview delegates, or some video elements in the page that is being rendered? Has anyone seen something similar?
Thanks!
The UIWebView is a child of a view in a UIViewController.
The viewDidLoad is where the webView is initialized
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.webView.delegate = self;
self.webView.scalesPageToFit = YES;
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:self.startingUrl]]];
}
Thread : Crashed: WebThread
0 libobjc.A.dylib 0x0000000197487bd0 objc_msgSend + 16
1 UIKit 0x000000018a956ad8 -[UIViewAnimationState animationForLayer:forKey:forView:] + 720
2 UIKit 0x000000018a6c5df4 -[UIViewAnimationState actionForLayer:forKey:forView:] + 44
3 UIKit 0x000000018a689fec -[UIView(CALayerDelegate) actionForLayer:forKey:] + 140
4 QuartzCore 0x0000000189fd5378 -[CALayer actionForKey:] + 104
5 QuartzCore 0x0000000189fca92c actionForKey(CALayer*, CA::Transaction*, NSString*) + 100
6 QuartzCore 0x0000000189fca798 CA::Layer::begin_change(CA::Transaction*, unsigned int, objc_object*&) + 176
7 QuartzCore 0x0000000189fcd7f8 CA::Layer::setter(unsigned int, _CAValueType, void const*) + 160
8 QuartzCore 0x0000000189fd5304 -[CALayer setOpacity:] + 48
9 UIKit 0x000000018a689a40 -[UIView(Rendering) setAlpha:] + 112
10 MediaPlayer 0x0000000187f557b0 -[MPVolumeSlider _layoutForAvailableRoutes] + 1448
11 MediaPlayer 0x0000000187f5413c -[MPVolumeSlider layoutSubviews] + 80
12 UIKit 0x000000018a68d760 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 580
13 QuartzCore 0x0000000189fd5e1c -[CALayer layoutSublayers] + 152
14 QuartzCore 0x0000000189fd0884 CA::Layer::layout_if_needed(CA::Transaction*) + 320
15 UIKit 0x000000018a6a1f94 -[UIView(Hierarchy) layoutBelowIfNeeded] + 160
16 UIKit 0x000000018a6a7830 -[UISlider setValue:animated:] + 196
17 MediaPlayer 0x0000000187f5492c -[MPVolumeSlider volumeController:volumeValueDidChange:] + 92
18 MediaPlayer 0x0000000187fc7a00 -[MPVolumeController updateVolumeValue] + 260
19 MediaPlayer 0x0000000187f54284 -[MPVolumeSlider didMoveToSuperview] + 144
20 UIKit 0x000000018a68c2bc -[UIView(Hierarchy) _postMovedFromSuperview:] + 484
21 UIKit 0x000000018a6980b0 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1792
22 MediaPlayer 0x0000000187f57528 -[MPVolumeView _createSubviews] + 264
23 MediaPlayer 0x0000000187f55fa8 -[MPVolumeView _initWithStyle:] + 240
24 MediaPlayer 0x0000000187f56034 -[MPVolumeView initWithFrame:style:] + 88
25 WebCore 0x0000000194ebd51c -[WebMediaSessionHelper allocateVolumeView] + 192
26 WebCore 0x0000000194ebd7f8 -[WebMediaSessionHelper initWithCallback:] + 468
27 WebCore 0x0000000194ebcbf8 WebCore::MediaSessionManageriOS::MediaSessionManageriOS() + 96
28 WebCore 0x0000000194ebcb68 WebCore::MediaSessionManager::sharedManager() + 56
29 WebCore 0x0000000194ebb66c WebCore::MediaSession::MediaSession(WebCore::MediaSessionClient&) + 44
30 WebCore 0x00000001949fb33c WebCore::HTMLMediaSession::create(WebCore::MediaSessionClient&) + 36
31 WebCore 0x00000001949e3c34 WebCore::HTMLMediaElement::HTMLMediaElement(WebCore::QualifiedName const&, WebCore::Document&, bool) + 1100
32 WebCore 0x0000000194a1d024 WebCore::HTMLVideoElement::create(WebCore::QualifiedName const&, WebCore::Document&, bool) + 68
33 WebCore 0x00000001949d0664 WebCore::videoConstructor(WebCore::QualifiedName const&, WebCore::Document&, WebCore::HTMLFormElement*, bool) + 92
34 WebCore 0x00000001949cf554 WebCore::HTMLElementFactory::createElement(WebCore::QualifiedName const&, WebCore::Document&, WebCore::HTMLFormElement*, bool) + 336
35 WebCore 0x00000001944af29c WebCore::HTMLDocument::createElement(WTF::AtomicString const&, int&) + 112
36 WebCore 0x00000001944af198 WebCore::jsDocumentPrototypeFunctionCreateElement(JSC::ExecState*) + 364
37 JavaScriptCore 0x00000001874a2fb0 llint_entry + 26160
38 JavaScriptCore 0x00000001874a2b0c llint_entry + 24972
39 JavaScriptCore 0x00000001874a29dc llint_entry + 24668
40 JavaScriptCore 0x000000018749c764 callToJavaScript + 308
41 JavaScriptCore 0x000000018740aac8 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 48
42 JavaScriptCore 0x00000001871568d0 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*) + 7652
43 JavaScriptCore 0x000000018715497c JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, JSC::JSValue*) + 476
44 WebCore 0x00000001950496b0 WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&, WebCore::DOMWrapperWorld&) + 284
45 WebCore 0x00000001944d27c0 WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&) + 52
46 WebCore 0x00000001944d2728 WebCore::ScriptElement::executeScript(WebCore::ScriptSourceCode const&) + 332
47 WebCore 0x000000019465639c WebCore::ScriptElement::execute(WebCore::CachedScript*) + 184
48 WebCore 0x000000019504f6e4 WebCore::ScriptRunner::timerFired(WebCore::Timer<WebCore::ScriptRunner>&) + 492
49 WebCore 0x00000001944a5560 WebCore::ThreadTimers::sharedTimerFiredInternal() + 148
50 WebCore 0x00000001944a54a4 WebCore::timerFired(__CFRunLoopTimer*, void*) + 36
51 CoreFoundation 0x0000000185c0812c __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
52 CoreFoundation 0x0000000185c07ddc __CFRunLoopDoTimer + 888
53 CoreFoundation 0x0000000185c05828 __CFRunLoopRun + 1372
54 CoreFoundation 0x0000000185b312d4 CFRunLoopRunSpecific + 396
55 WebCore 0x000000019452c894 RunWebThread(void*) + 468
56 libsystem_pthread.dylib 0x0000000197ca7dc8 _pthread_body + 164
57 libsystem_pthread.dylib 0x0000000197ca7d24 _pthread_body
UIWebView load html contains audio or vedio label, will random crash. This is WebKit's bug when allocateVolumeView. Now i has fixed this bug.
see my answer
This is an error I get in crashlytics:
Thread : Crashed: WebThread
0 libobjc.A.dylib 0x344e4f46 objc_msgSend + 5
1 UIKit 0x295ebe51 +[UIViewAnimationState popAnimationState] + 320
2 MediaPlayer 0x278278bb -[MPVolumeSlider _layoutForAvailableRoutes] + 1410
3 MediaPlayer 0x27826505 -[MPVolumeSlider layoutSubviews] + 60
4 UIKit 0x295b7023 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 546
5 QuartzCore 0x28fd7d99 -[CALayer layoutSublayers] + 128
6 QuartzCore 0x28fd35cd CA::Layer::layout_if_needed(CA::Transaction*) + 360
7 UIKit 0x295c9c03 -[UIView(Hierarchy) layoutBelowIfNeeded] + 138
8 UIKit 0x295cf0a3 -[UISlider setValue:animated:] + 178
9 MediaPlayer 0x27826bfb -[MPVolumeSlider volumeController:volumeValueDidChange:] + 78
10 MediaPlayer 0x2788a995 -[MPVolumeController updateVolumeValue] + 252
11 MediaPlayer 0x27826613 -[MPVolumeSlider didMoveToSuperview] + 126
12 UIKit 0x295b5ec1 -[UIView(Hierarchy) _postMovedFromSuperview:] + 428
13 UIKit 0x295c072b -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1498
14 UIKit 0x295c014b -[UIView(Hierarchy) addSubview:] + 30
15 MediaPlayer 0x278293e9 -[MPVolumeView _createSubviews] + 236
16 MediaPlayer 0x27828035 -[MPVolumeView _initWithStyle:] + 212
17 MediaPlayer 0x278280c9 -[MPVolumeView initWithFrame:style:] + 80
18 MediaPlayer 0x27828073 -[MPVolumeView initWithFrame:] + 38
19 UIKit 0x295d7119 -[UIView init] + 44
20 WebCore 0x32568435 -[WebMediaSessionHelper allocateVolumeView] + 264
21 WebCore 0x325686e7 -[WebMediaSessionHelper initWithCallback:] + 394
22 WebCore 0x32567811 WebCore::MediaSessionManageriOS::MediaSessionManageriOS() + 172
23 WebCore 0x325676fd WebCore::MediaSessionManager::sharedManager() + 124
24 WebCore 0x3256694d WebCore::MediaSession::MediaSession(WebCore::MediaSessionClient&) + 32
25 WebCore 0x321f6935 WebCore::HTMLMediaSession::create(WebCore::MediaSessionClient&) + 20
26 WebCore 0x321e5257 WebCore::HTMLMediaElement::HTMLMediaElement(WebCore::QualifiedName const&, WebCore::Document&, bool) + 1046
27 WebCore 0x3220e3db WebCore::HTMLVideoElement::create(WebCore::QualifiedName const&, WebCore::Document&, bool) + 38
28 WebCore 0x321d83a5 WebCore::videoConstructor(WebCore::QualifiedName const&, WebCore::Document&, WebCore::HTMLFormElement*, bool) + 56
29 WebCore 0x321d7af9 WebCore::HTMLElementFactory::createElement(WebCore::QualifiedName const&, WebCore::Document&, WebCore::HTMLFormElement*, bool) + 232
30 WebCore 0x31de00bd WebCore::HTMLDocument::createElement(WTF::AtomicString const&, int&) + 88
31 WebCore 0x31ddffff WebCore::jsDocumentPrototypeFunctionCreateElement(JSC::ExecState*) + 242
32 JavaScriptCore 0x273f6133 llint_entry + 21314
33 JavaScriptCore 0x273f5d27 llint_entry + 20278
34 JavaScriptCore 0x273f5d27 llint_entry + 20278
35 JavaScriptCore 0x273f5d27 llint_entry + 20278
36 JavaScriptCore 0x273f5d27 llint_entry + 20278
37 JavaScriptCore 0x273f0bdf callToJavaScript + 334
38 JavaScriptCore 0x273803b5 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 36
39 JavaScriptCore 0x271ccda7 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 350
40 JavaScriptCore 0x272c20dd JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, JSC::JSValue*) + 64
41 WebCore 0x31dd9d6d WebCore::ScheduledAction::executeFunctionInContext(JSC::JSGlobalObject*, JSC::JSValue, WebCore::ScriptExecutionContext*) + 368
42 WebCore 0x31dd9a53 WebCore::ScheduledAction::execute(WebCore::Document*) + 114
43 WebCore 0x31dd9475 WebCore::DOMTimer::fired() + 460
44 WebCore 0x31dd8f4d WebCore::ThreadTimers::sharedTimerFiredInternal() + 132
45 WebCore 0x31dd8ea9 WebCore::timerFired(__CFRunLoopTimer*, void*) + 24
46 CoreFoundation 0x25f2aedf __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 14
47 CoreFoundation 0x25f2aa5b __CFRunLoopDoTimer + 650
48 CoreFoundation 0x25f28cab __CFRunLoopRun + 1418
49 CoreFoundation 0x25e75201 CFRunLoopRunSpecific + 476
50 CoreFoundation 0x25e75013 CFRunLoopRunInMode + 106
51 WebCore 0x31e3e183 RunWebThread(void*) + 418
52 libsystem_pthread.dylib 0x34bace23 _pthread_body + 138
53 libsystem_pthread.dylib 0x34bacd97 _pthread_start + 118
Can anyone explain how do I start working on that crash?
I can't even see on what page it happened or what was the last action the user took...
I'm pretty sure it has to do something with a video i'm playing at the beginning of the app but I have no idea what's the issue that causes the crash...
It's a bug introduced in iOS 8 and fixed in iOS 9. Here's some more info: https://bugs.webkit.org/show_bug.cgi?id=138971
E.g. I have this trace.
Thread : Crashed: com.apple.main-thread
0 libsystem_kernel.dylib 0x32fe2df0 __pthread_kill + 8
1 libsystem_pthread.dylib 0x33062c97 pthread_kill + 62
2 libsystem_c.dylib 0x32f81939 abort + 76
3 libc++abi.dylib 0x3217fbbd __cxa_bad_cast
4 libc++abi.dylib 0x3219966f default_terminate_handler() + 266
5 libobjc.A.dylib 0x32973f11 _objc_terminate() + 192
or this
Thread : Crashed: com.apple.main-thread
0 CoreFoundation 0x2d60eab8 __CFBasicHashDeallocate + 48
1 CoreFoundation 0x2d52488f CFRelease + 462
2 QuartzCore 0x2fa8d635 CA::release_objects(X::List<void const*>*) + 16
3 QuartzCore 0x2fa8cec7 CA::Layer::~Layer() + 242
4 QuartzCore 0x2fa8e431 CA::release_root_if_unused(CA::Layer*, CA::Layer*, void*) + 48
5 QuartzCore 0x2fa8e3ad x_hash_table_remove_if + 68
6 QuartzCore 0x2fa89443 CA::Transaction::commit() + 142
7 UIKit 0x2fe0940b _afterCACommitHandler + 126
8 CoreFoundation 0x2d5bf255 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 20
9 CoreFoundation 0x2d5bcbf9 __CFRunLoopDoObservers + 284
10 CoreFoundation 0x2d5bcf3b __CFRunLoopRun + 730
11 CoreFoundation 0x2d527ebf CFRunLoopRunSpecific + 522
12 CoreFoundation 0x2d527ca3 CFRunLoopRunInMode + 106
13 GraphicsServices 0x3244e663 GSEventRunModal + 138
14 UIKit 0x2fe7414d UIApplicationMain + 1136
15 myapp 0x0009c6f3 main (main.m:6)
or this
Thread : Crashed: WebThread
0 libobjc.A.dylib 0x31ea0f46 objc_msgSend + 5
1 UIKit 0x272eeea1 +[UIViewAnimationState popAnimationState] + 320
2 MediaPlayer 0x2563056b -[MPVolumeSlider _layoutForAvailableRoutes] + 1410
3 MediaPlayer 0x2562f1b5 -[MPVolumeSlider layoutSubviews] + 60
4 UIKit 0x272ba7ff -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 514
5 QuartzCore 0x26ce0835 -[CALayer layoutSublayers] + 136
6 QuartzCore 0x26cdc20d CA::Layer::layout_if_needed(CA::Transaction*) + 360
7 UIKit 0x272ccf77 -[UIView(Hierarchy) layoutBelowIfNeeded] + 138
8 UIKit 0x272d2463 -[UISlider setValue:animated:] + 178
9 MediaPlayer 0x2562f8ab -[MPVolumeSlider volumeController:volumeValueDidChange:] + 78
10 MediaPlayer 0x2569391d -[MPVolumeController updateVolumeValue] + 252
11 MediaPlayer 0x2562f2c3 -[MPVolumeSlider didMoveToSuperview] + 126
12 UIKit 0x272b9721 -[UIView(Hierarchy) _postMovedFromSuperview:] + 428
13 UIKit 0x272c3bcf -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1462
14 UIKit 0x272c360f -[UIView(Hierarchy) addSubview:] + 30
15 MediaPlayer 0x25632099 -[MPVolumeView _createSubviews] + 236
16 MediaPlayer 0x25630ce5 -[MPVolumeView _initWithStyle:] + 212
17 MediaPlayer 0x25630d79 -[MPVolumeView initWithFrame:style:] + 80
18 MediaPlayer 0x25630d23 -[MPVolumeView initWithFrame:] + 38
19 UIKit 0x272da3a1 -[UIView init] + 44
20 WebCore 0x2fdcd1cf -[WebMediaSessionHelper initWithCallback:] + 178
21 WebCore 0x2fdcc611 WebCore::MediaSessionManageriOS::MediaSessionManageriOS() + 172
22 WebCore 0x2fdcc4fd WebCore::MediaSessionManager::sharedManager() + 124
23 WebCore 0x2fdcb785 WebCore::MediaSession::MediaSession(WebCore::MediaSessionClient&) + 32
24 WebCore 0x2fa5fe75 WebCore::HTMLMediaSession::create(WebCore::MediaSessionClient&) + 20
25 WebCore 0x2fa4e81f WebCore::HTMLMediaElement::HTMLMediaElement(WebCore::QualifiedName const&, WebCore::Document&, bool) + 1046
26 WebCore 0x2fa77917 WebCore::HTMLVideoElement::create(WebCore::QualifiedName const&, WebCore::Document&, bool) + 38
27 WebCore 0x2fa41b79 WebCore::videoConstructor(WebCore::QualifiedName const&, WebCore::Document&, WebCore::HTMLFormElement*, bool) + 56
28 WebCore 0x2fa412cd WebCore::HTMLElementFactory::createElement(WebCore::QualifiedName const&, WebCore::Document&, WebCore::HTMLFormElement*, bool) + 232
29 WebCore 0x2f64b53d WebCore::HTMLDocument::createElement(WTF::AtomicString const&, int&) + 88
30 WebCore 0x2f64b47f WebCore::jsDocumentPrototypeFunctionCreateElement(JSC::ExecState*) + 242
31 JavaScriptCore 0x2521d783 llint_entry + 21314
32 JavaScriptCore 0x2521d377 llint_entry + 20278
33 JavaScriptCore 0x2521d377 llint_entry + 20278
34 JavaScriptCore 0x2521d377 llint_entry + 20278
35 JavaScriptCore 0x2521822f callToJavaScript + 334
36 JavaScriptCore 0x251a7d09 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 36
37 JavaScriptCore 0x24fde3fb JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*) + 5738
38 JavaScriptCore 0x24fdcc43 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, JSC::JSValue*) + 358
39 WebCore 0x2fefd539 WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&, WebCore::DOMWrapperWorld&) + 196
40 WebCore 0x2f666173 WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&) + 26
41 WebCore 0x2f666117 WebCore::ScriptElement::executeScript(WebCore::ScriptSourceCode const&) + 234
42 WebCore 0x2f6ecb05 WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent(WebCore::PendingScript&) + 156
43 WebCore 0x2f6e8059 WebCore::HTMLScriptRunner::executeParsingBlockingScripts() + 244
44 WebCore 0x2f6e576d WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder() + 52
45 WebCore 0x2f68dd77 WebCore::HTMLDocumentParser::canTakeNextToken(WebCore::HTMLDocumentParser::SynchronousMode, WebCore::PumpSession&) + 50
46 WebCore 0x2f68d305 WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode) + 344
47 WebCore 0x2f6edf3f WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution() + 78
48 WebCore 0x2f672c1d WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets() + 44
49 WebCore 0x2f66ff7b WebCore::Document::didRemoveAllPendingStylesheet() + 66
50 WebCore 0x2f738151 WebCore::HTMLLinkElement::sheetLoaded() + 76
51 WebCore 0x2f66fe93 WebCore::StyleSheetContents::checkLoaded() + 130
52 WebCore 0x2fa4d415 WebCore::HTMLLinkElement::setCSSStyleSheet(WTF::String const&, WebCore::URL const&, WTF::String const&, WebCore::CachedCSSStyleSheet const*) + 508
53 WebCore 0x2f6ee08b WebCore::CachedCSSStyleSheet::checkNotify() + 246
54 WebCore 0x2f737a79 WebCore::CachedCSSStyleSheet::finishLoading(WebCore::ResourceBuffer*) + 192
55 WebCore 0x2f6e9893 WebCore::SubresourceLoader::didFinishLoading(double) + 78
56 CFNetwork 0x2380df5f ___ZN27URLConnectionClient_Classic26_delegate_didFinishLoadingEU13block_pointerFvvE_block_invoke + 78
57 CFNetwork 0x238aaff9 ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 60
58 CFNetwork 0x237fed8d RunloopBlockContext::_invoke_block(void const*, void*) + 60
59 CoreFoundation 0x23cb1e1d CFArrayApplyFunction + 36
60 CFNetwork 0x237fec47 RunloopBlockContext::perform() + 182
61 CFNetwork 0x237feb0d MultiplexerSource::perform() + 216
62 CFNetwork 0x237fe9a1 MultiplexerSource::_perform(void*) + 48
63 CoreFoundation 0x23d66fbf __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
64 CoreFoundation 0x23d663cf __CFRunLoopDoSources0 + 218
65 CoreFoundation 0x23d64a35 __CFRunLoopRun + 772
66 CoreFoundation 0x23cb23b1 CFRunLoopRunSpecific + 476
67 CoreFoundation 0x23cb21c3 CFRunLoopRunInMode + 106
68 WebCore 0x2f6a9483 RunWebThread(void*) + 418
69 libsystem_pthread.dylib 0x32567e23 _pthread_body + 138
70 libsystem_pthread.dylib 0x32567d97 _pthread_start + 118
How can I go about to solve these?
I'm also seeing the crashes described above in all of my apps (Hockeyapp reporting). I have no idea what I can do to resolve them, as they seem to be happening in iOS API's. They are only showing up on iOS8 devices...