Exception Type: SIGSEGV
Exception Codes: SEGV_ACCERR at 0x16904ee488
Crashed Thread: 0
Thread 0 Crashed:
0 CoreGraphics 0x00000001ed830ddc CGColorGetAlpha + 12
1 QuartzCore 0x00000001f0086bf4 -[CALayer _renderBorderInContext:] + 144
2 QuartzCore 0x00000001f0088b5c -[CALayer renderInContext:] + 1396
3 QuartzCore 0x00000001f0086ea4 -[CALayer _renderSublayersInContext:] + 368
4 QuartzCore 0x00000001f0088b48 -[CALayer renderInContext:] + 1376
5 QuartzCore 0x00000001f0086ea4 -[CALayer _renderSublayersInContext:] + 368
6 QuartzCore 0x00000001f0088b48 -[CALayer renderInContext:] + 1376
7 QuartzCore 0x00000001f0086ea4 -[CALayer _renderSublayersInContext:] + 368
8 QuartzCore 0x00000001f0088b48 -[CALayer renderInContext:] + 1376
9 QuartzCore 0x00000001f0086ea4 -[CALayer _renderSublayersInContext:] + 368
10 QuartzCore 0x00000001f0088b48 -[CALayer renderInContext:] + 1376
11 QuartzCore 0x00000001f0086ea4 -[CALayer _renderSublayersInContext:] + 368
12 QuartzCore 0x00000001f0088b48 -[CALayer renderInContext:] + 1376
13 QuartzCore 0x00000001f0086ea4 -[CALayer _renderSublayersInContext:] + 368
14 QuartzCore 0x00000001f0088b48 -[CALayer renderInContext:] + 1376
15 QuartzCore 0x00000001f0086ea4 -[CALayer _renderSublayersInContext:] + 368
16 QuartzCore 0x00000001f0088b48 -[CALayer renderInContext:] + 1376
17 QuartzCore 0x00000001f0086ea4 -[CALayer _renderSublayersInContext:] + 368
18 QuartzCore 0x00000001f0088b48 -[CALayer renderInContext:] + 1376
19 QuartzCore 0x00000001f0086ea4 -[CALayer _renderSublayersInContext:] + 368
20 QuartzCore 0x00000001f0088b48 -[CALayer renderInContext:] + 1376
21 QuartzCore 0x00000001f0086ea4 -[CALayer _renderSublayersInContext:] + 368
22 QuartzCore 0x00000001f0088b48 -[CALayer renderInContext:] + 1376
23 DynamicBlurView 0x00000001060da560 DynamicBlurView.BlurLayer.render(in: __C.CGContextRef, for: __C.CALayer) -> () (BlurLayer.swift:94)
24 DynamicBlurView 0x00000001060df684 DynamicBlurView.DynamicBlurView.(snapshotImage in _2044C6510BFEB36C5566C936E3D26E26)(for: __C.CALayer, conversion: Swift.Bool) -> __C.UIImage? (DynamicBlurView.swift:142)
25 DynamicBlurView 0x00000001060dffd8 function signature specialization <Arg[0] = Dead> of DynamicBlurView.DynamicBlurView.display(__C.CALayer) -> () (DynamicBlurView.swift:156)
26 DynamicBlurView 0x00000001060df7b4 @objc DynamicBlurView.DynamicBlurView.display(__C.CALayer) -> () (:0)
27 DynamicBlurView 0x00000001060df934 DynamicBlurView.DynamicBlurView.refresh() -> () (DynamicBlurView.swift:180)
28 PopupDialog 0x000000010ae77240 PopupDialog.PresentationController.containerViewWillLayoutSubviews() -> () (PresentationController.swift:58)
29 PopupDialog 0x000000010ae77288 merged @objc PopupDialog.PresentationController.presentationTransitionWillBegin() -> () + 24
30 UIKitCore 0x0000000219386fe4 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1116
31 libobjc.A.dylib 0x00000001eacab454 -[NSObject performSelector:withObject:] + 64
32 QuartzCore 0x00000001f0083db4 -[CALayer layoutSublayers] + 184
33 QuartzCore 0x00000001f00840a0 CA::Layer::layout_if_needed(CA::Transaction*) + 332
34 QuartzCore 0x00000001f0083f1c -[CALayer layoutIfNeeded] + 228
35 QuartzCore 0x00000001f0088690 -[CALayer renderInContext:] + 168
36 DynamicBlurView 0x00000001060da560 DynamicBlurView.BlurLayer.render(in: __C.CGContextRef, for: __C.CALayer) -> () (BlurLayer.swift:94)
37 DynamicBlurView 0x00000001060df684 DynamicBlurView.DynamicBlurView.(snapshotImage in _2044C6510BFEB36C5566C936E3D26E26)(for: __C.CALayer, conversion: Swift.Bool) -> __C.UIImage? (DynamicBlurView.swift:142)
38 DynamicBlurView 0x00000001060de828 DynamicBlurView.DynamicBlurView.didMoveToWindow() -> () (DynamicBlurView.swift:86)
39 DynamicBlurView 0x00000001060de944 merged @objc DynamicBlurView.DynamicBlurView.didMoveToWindow() -> () + 24
40 UIKitCore 0x000000021937e288 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 1604
41 UIKitCore 0x000000021937dedc -[UIView(Internal) _didMoveFromWindow:toWindow:] + 664
42 UIKitCore 0x00000002193712ac __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 156
43 Foundation 0x00000001ec437634 -[NSISEngine withBehaviors:performModifications:] + 112
44 UIKitCore 0x000000021937118c -[UIView(Hierarchy) _postMovedFromSuperview:] + 816
45 UIKitCore 0x0000000219380d20 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1740
46 PopupDialog 0x000000010ae76d74 PopupDialog.PresentationController.presentationTransitionWillBegin() -> () (PresentationController.swift:40)
47 PopupDialog 0x000000010ae77288 merged @objc PopupDialog.PresentationController.presentationTransitionWillBegin() -> () + 24
48 UIKitCore 0x000000021882dc8c __71-[UIPresentationController _initViewHierarchyForPresentationSuperview:]_block_invoke + 2224
49 UIKitCore 0x000000021882b6e0 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 468
50 UIKitCore 0x000000021890fa64 __40+[UIViewController _scheduleTransition:]_block_invoke + 24
51 UIKitCore 0x0000000218edd1fc _runAfterCACommitDeferredBlocks + 300
52 UIKitCore 0x0000000218ecb3bc _cleanUpAfterCAFlushAndRunDeferredBlocks + 352
53 UIKitCore 0x0000000218ef9a3c _afterCACommitHandler + 116
54 CoreFoundation 0x00000001eba3a0e8 CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 32
55 CoreFoundation 0x00000001eba34be0 __CFRunLoopDoObservers + 412
56 CoreFoundation 0x00000001eba35140 __CFRunLoopRun + 1208
57 CoreFoundation 0x00000001eba34964 CFRunLoopRunSpecific + 448
58 GraphicsServices 0x00000001edc75d8c GSEventRunModal + 104
59 UIKitCore 0x0000000218ed1758 UIApplicationMain + 212
60 VW-R-CLUB Member APP 0x000000010292ffdc main (AppDelegate.swift:20)
61 libdyld.dylib 0x00000001eb4f0fd8 start + 0
crash report:
func render(in context: CGContext, for layer: CALayer) {
let layers = hideOverlappingLayers(layer.sublayers)
layer.render(in: context) <------------------------------ here
layers.forEach {
$0.isHidden = false
}
}
private func snapshotImage(for layer: CALayer, conversion: Bool) -> UIImage? {
let rect = blurLayerRect(to: layer, conversion: conversion)
guard let context = CGContext.imageContext(with: quality, rect: rect, opaque: isOpaque) else {
return nil
}
blurLayer.render(in: context, for: layer) <------------------------------ here
defer {
UIGraphicsEndImageContext()
}
return UIGraphicsGetImageFromCurrentImageContext()
}
extension DynamicBlurView {
open override func display(_ layer: CALayer) {
let blurRadius = blurLayer.presentationRadius
let isFixes = isDeepRendering && staticImage != nil
if let view = renderingTarget, let image = staticImage ?? snapshotImage(for: view.layer, conversion: !isFixes) { <------------------------------ here <Arg[0] = Dead> of DynamicBlurView.DynamicBlurView.display(__C.CALayer) -> () (DynamicBlurView.swift:156)
draw(image, blurRadius: blurRadius, fixes: isFixes, baseLayer: view.layer)
}
}
}
extension DynamicBlurView {
/// Remove cache of blur image then get it again.
open func refresh() {
blurLayer.refresh()
staticImage = nil
blurRatio = 1
display(layer) <------------------------------ here
}
Hope you can help me to fix it.
The crash only happens sometimes.