Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-28113] iOS: App crashes when animation a view

GitHub Issuen/a
TypeBug
PriorityCritical
StatusClosed
ResolutionFixed
Resolution Date2020-09-11T14:25:18.000+0000
Affected Version/sRelease 9.1.0
Fix Version/sRelease 9.2.0, Release 9.1.1
ComponentsiOS
LabelsengSchedule, regression
ReporterJosh Longton
AssigneeVijay Singh
Created2020-09-08T16:17:34.000+0000
Updated2020-09-11T14:25:18.000+0000

Description

The customer is experiencing a crash when animating a view. they have just upgraded their application from 9.0.3.GA to 9.1.0.GA, the crash is nor present on the earlier SDK. *Testcase*; {noformat} var win = Ti.UI.createWindow({ backgroundColor: "white", layout: "vertical" }); var flipBtn = Ti.UI.createButton({ top: 50, title: "Flip" }); var controlView = Ti.UI.createView({ }); var view1 = Ti.UI.createView({ elevation: 20, width: 200, height: 200, top: 100, backgroundColor: "red" }); controlView.add(view1); var view2 = Ti.UI.createView({ elevation: 20, width: 200, height: 200, top: 100, backgroundColor: "green" }); win.add(flipBtn); win.add(controlView); var isShowGreen = false; flipBtn.addEventListener('click', function () { if (isShowGreen) { isShowGreen = false; view1.show(); controlView.animate({ view: view1, transition: Ti.UI.iOS.AnimationStyle.FLIP_FROM_LEFT }); view2.hide(); } else { isShowGreen = true; view2.show(); controlView.animate({ view: view2, transition: Ti.UI.iOS.AnimationStyle.FLIP_FROM_LEFT }); view1.hide(); } }); win.open(); {noformat} *Expected*; Animation to happen successfully *Actual*; {noformat} [INFO] -[TiUIViewProxy propertyChanged:oldValue:newValue:proxy:]: unrecognized selector sent to instance 0x7fef51014a00 [DEBUG] ACA crash.report: { [DEBUG] "aca_version" = "2.0.2"; [DEBUG] message = "-[TiUIViewProxy propertyChanged:oldValue:newValue:proxy:]: unrecognized selector sent to instance 0x7fef51014a00"; [DEBUG] meta = { [DEBUG] handled = 0; [DEBUG] }; [DEBUG] stack = ( [DEBUG] "TitaniumKit 0x000000010c5efde3 -[TiProxy replaceValue:forKey:notification:] + 648\nTitaniumKit 0x000000010c5caadb -[TiViewProxy setValue:forUndefinedKey:] + 212\nFoundation 0x00000001095a4bd6 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 325\nTitaniumKit 0x000000010c5ef8c1 -[TiProxy setValuesForKeysWithDictionary:] + 1886\nTitaniumKit 0x000000010c5dd5e4 -[TiAnimation animationCompleted:finished:context:] + 365\nTitaniumKit 0x000000010c5df7c9 __23-[TiAnimation animate:]_block_invoke.380 + 107\nUIKit 0x0000000134fc4888 -[UIViewAnimationStateAccessibility animationDidStop:finished:] + 118\nQuartzCore 0x000000010b3d2adc _ZN2CA5Layer23run_animation_callbacksEPv + 306\nsupport 0x000000010713e445 main + 1173\nlibdyld.dylib 0x000000010ff361fd start + 1" [DEBUG] ); [DEBUG] } [INFO] APSAnalyticsStore: crash.report [DEBUG] APSAnalytics: Attempting to send 1 analytics event(s) [DEBUG] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[TiUIViewProxy propertyChanged:oldValue:newValue:proxy:]: unrecognized selector sent to instance 0x7fef51014a00' [DEBUG] *** First throw call stack: [DEBUG] ( [DEBUG] 0 CoreFoundation 0x000000010d247e6e __exceptionPreprocess + 350 [DEBUG] 1 libobjc.A.dylib 0x0000000109c3a9b2 objc_exception_throw + 48 [DEBUG] 2 CoreFoundation 0x000000010d268b94 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132 [DEBUG] 3 CoreFoundation 0x000000010d24c86c ___forwarding___ + 1436 [DEBUG] 4 CoreFoundation 0x000000010d24eb58 _CF_forwarding_prep_0 + 120 [DEBUG] 5 TitaniumKit 0x000000010c5efde3 -[TiProxy replaceValue:forKey:notification:] + 648 [DEBUG] 6 TitaniumKit 0x000000010c5caadb -[TiViewProxy setValue:forUndefinedKey:] + 212 [DEBUG] 7 Foundation 0x00000001095a4bd6 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 325 [DEBUG] 8 TitaniumKit 0x000000010c5ef8c1 -[TiProxy setValuesForKeysWithDictionary:] + 1886 [DEBUG] 9 TitaniumKit 0x000000010c5dd5e4 -[TiAnimation animationCompleted:finished:context:] + 365 [DEBUG] 10 TitaniumKit 0x000000010c5df7c9 __23-[TiAnimation animate:]_block_invoke.380 + 107 [DEBUG] 11 UIKitCore 0x000000011ecca938 -[UIViewAnimationBlockDelegate _didEndBlockAnimation:finished:context:] + 671 [DEBUG] 12 UIKitCore 0x000000011ec9b5c5 -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 220 [DEBUG] 13 UIKitCore 0x000000011ec9bbbc -[UIViewAnimationState animationDidStop:finished:] + 276 [DEBUG] 14 UIKit 0x0000000134fc4888 -[UIViewAnimationStateAccessibility animationDidStop:finished:] + 118 [DEBUG] 15 QuartzCore 0x000000010b3d2adc _ZN2CA5Layer23run_animation_callbacksEPv + 306 [DEBUG] 16 libdispatch.dylib 0x000000010feb18cb _dispatch_client_callout + 8 [DEBUG] 17 libdispatch.dylib 0x000000010febdcdb _dispatch_main_queue_callback_4CF + 1042 [DEBUG] 18 CoreFoundation 0x000000010d1ab869 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9 [DEBUG] 19 CoreFoundation 0x000000010d1a63b9 __CFRunLoopRun + 2041 [DEBUG] 20 CoreFoundation 0x000000010d1a58a4 CFRunLoopRunSpecific + 404 [DEBUG] 21 GraphicsServices 0x00000001128c1bbe GSEventRunModal + 139 [DEBUG] 22 UIKitCore 0x000000011e7cf964 UIApplicationMain + 1605 [DEBUG] 23 support 0x000000010713e445 main + 1173 [DEBUG] 24 libdyld.dylib 0x000000010ff361fd start + 1 [DEBUG] ) [DEBUG] libc++abi.dylib: terminating with uncaught exception of type NSException {noformat}

Comments

  1. Vijay Singh 2020-09-08

    This is regression from animation related PR https://github.com/appcelerator/titanium_mobile/pull/11666. Looking in this.
  2. Vijay Singh 2020-09-09

    PR - https://github.com/appcelerator/titanium_mobile/pull/12028
  3. Samir Mohammed 2020-09-10

    FR passed waiting for 9_1_X and 9_3_X ports.
  4. Christopher Williams 2020-09-10

    merged to master for 9.2.0 target. Backport PRs merged to 9_1_X and 9_3_X. If we do a 9.1.1 this would be included, but if not users can still install an sdk off the 9_1_X branch to get this fix: ti sdk install -b 9_1_X
  5. Samir Mohammed 2020-09-11

    *Closing ticket*. Fix verified in SDK version 9.2.0.v20200911051822, and 9.3.0.v20200911052140, 9.1.1.v20200910063052. *Test and other information can be found at:* https://github.com/appcelerator/titanium_mobile/pull/12028

JSON Source