Open Kudo opened 2 years ago
@Kudo thanks for the report and suggestion. This does seem like a DetoxSync issue! Could you perhaps provide more details regarding the use case where this happens? Which navigation stack (and which navigation project) and what animation is in effect, among other things.
cc @asafkorem
hi @d4vidi, this issue happens from detox testing with the code where we create a UIViewPropertyAnimator
and stop it in destructor. you can search the animator
property in the code above.
thanks for looking into this. let me know if you need any other information.
Facing the same issue with react-native-video
Exception was thrown:
NSInvalidArgumentException
-[NSNull __detox_sync_untrackAnimation]: unrecognized selector sent to instance 0x1bbb347d8
(
0 CoreFoundation 0x0000000180437324 __exceptionPreprocess + 160
1 libobjc.A.dylib 0x0000000180051274 objc_exception_throw + 56
2 CoreFoundation 0x0000000180445e3c +[NSObject(NSObject) instanceMethodSignatureForSelector:] + 0
3 CoreFoundation 0x000000018043b224 ___forwarding___ + 1308
4 CoreFoundation 0x000000018043d50c _CF_forwarding_prep_0 + 92
5 DetoxSync 0x0000000103a452dc -[_DTXCAAnimationDelegateHelper __detox_sync_animationDidStop:finished:] + 76
6 UIKitCore 0x000000011803a7b4 __63-[UIViewPropertyAnimator finalizeStoppedAnimationWithPosition:]_block_invoke_4 + 276
7 UIKitCore 0x000000011803a600 -[UIViewPropertyAnimator finalizeStoppedAnimationWithPosition:] + 644
8 UIKitCore 0x00000001180366f8 -[UIViewPropertyAnimator _runCompletions:finished:] + 28
9 AVKit 0x0000000103b96de4 -[AVMobileChromelessControlsViewController _animateSliderToTintState:duration:completionHandler:] + 112
10 AVKit 0x0000000103b1e834 __70-[AVObservationController startObserving:keyPaths:observationHandler:]_block_invoke + 52
11 AVKit 0x0000000103b1e934 __105-[AVObservationController startObserving:keyPaths:includeInitialValue:includeChanges:observationHandler:]_block_invoke + 212
12 AVKit 0x0000000103b1f2dc -[AVProxyKVOObserver _handleValueChangeForKeyPath:ofObject:oldValue:newValue:context:] + 136
13 AVKit 0x0000000103b1f20c -[AVProxyKVOObserver observeValueForKeyPath:ofObject:change:context:] + 192
14 Foundation 0x0000000180b26b18 -[NSKeyValueObservance observeValueForKeyPath:ofObject:change:context:] + 320
15 Foundation 0x0000000180b2ef1c NSKeyValueNotifyObserver + 248
16 Foundation 0x0000000180b31e98 NSKeyValueDidChange + 352
17 Foundation 0x0000000180b2e4ac NSKeyValueDidChangeWithPerThreadPendingNotifications + 144
18 Foundation 0x0000000180b26adc -[NSKeyValueObservance observeValueForKeyPath:ofObject:change:context:] + 260
19 Foundation 0x0000000180b2ef1c NSKeyValueNotifyObserver + 248
20 Foundation 0x0000000180b31e98 NSKeyValueDidChange + 352
21 Foundation 0x0000000180b2e4ac NSKeyValueDidChangeWithPerThreadPendingNotifications + 144
22 AVFCore 0x00000001a7346a50 __avplayer_fpNotificationCallback_block_invoke + 1392
23 DetoxSync 0x0000000103a40434 ____detox_sync_dispatch_wrapper_block_invoke + 44
24 libdispatch.dylib 0x0000000180132ee4 _dispatch_call_block_and_release + 24
25 libdispatch.dylib 0x0000000180134708 _dispatch_client_callout + 16
26 libdispatch.dylib 0x0000000180143fd8 _dispatch_main_queue_drain + 1220
27 libdispatch.dylib 0x0000000180143b04 _dispatch_main_queue_callback_4CF + 40
28 CoreFoundation 0x000000018039a784 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
29 CoreFoundation 0x0000000180394de4 __CFRunLoopRun + 1912
30 CoreFoundation 0x0000000180394254 CFRunLoopRunSpecific + 584
31 GraphicsServices 0x0000000188eb7c9c GSEventRunModal + 160
32 UIKitCore 0x0000000118a2eff0 -[UIApplication _run] + 868
33 DetoxSync 0x0000000103a468dc __detox_sync_UIApplication_run + 376
34 UIKitCore 0x0000000118a32f3c UIApplicationMain + 124
35 Aumio 0x0000000100f370dc main + 80
36 dyld 0x00000001028a9514 start_sim + 20
37 ??? 0x0000000102961f28 0x0 + 4338360104
38 ??? 0x5f18000000000000 0x0 + 6852226833044209664
)
Did someone find a solution ? facing the same issue as @MortadhaFadhlaoui
hi there!
we came across a crash issue from detox and in the call https://github.com/wix/DetoxSync/blob/962b297bf77f4c98decac40a2daa7b90394abe54/DetoxSync/DetoxSync/Spies/CAAnimation%2BDTXSpy.m#L30
this function is called after
[UIViewPropertyAnimator stopAnimation:]
but ios passingNSNull
as the(CAAnimation *)anim
parameter. does it make sense to check if the anim is NSNull like this?the crash stacktrace is like this: