Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-28148] iOS: app crashes when updating tableview

GitHub Issuen/a
TypeBug
PriorityCritical
StatusClosed
ResolutionFixed
Resolution Date2020-10-07T17:41:23.000+0000
Affected Version/sn/a
Fix Version/sRelease 9.3.0, Release 9.2.1
ComponentsiOS
Labelsn/a
ReporterJosh Longton
AssigneeVijay Singh
Created2020-09-22T12:23:11.000+0000
Updated2020-11-03T14:38:43.000+0000

Description

The customer is experiencing a crash when updating tableview on 9.1.0.GA, the crash does not happen on 9.0.3.GA *Testcase*; {noformat} var tableData = []; var win = Ti.UI.createWindow({ backgroundColor: 'white' }); var table = Ti.UI.createTableView({ objName: 'table' }); for (var i = 0; i <= 20; i++) { var row = Ti.UI.createTableViewRow({ title: 'click me' }); var view = Ti.UI.createView({ layout: 'vertical', height: Ti.UI.SIZE, touchEnabled: false, width: "50%", left: 0 }); row.add(view) tableData.push(row); } table.setData(tableData); table.addEventListener('click', function (e) { if (e.source && e.source.objName !== 'table') { e.source.add(Ti.UI.createLabel({ text: 'REQUIRED', left: '60%', color: 'blue', horizontalWrap: true, width: "40%", height: Ti.UI.SIZE })); } }); win.add(table); win.open(); {noformat} *Actual*; {noformat} [ERROR] Script Error { [ERROR] column = 17; [ERROR] line = 25; [ERROR] message = "-[TiUITableViewCell updateClipping]: unrecognized selector sent to instance 0x7ffd41312850"; [ERROR] nativeStack = "3 UIKitCore 0x00007fff493a1aec -[UIResponder doesNotRecognizeSelector:] + 302\n4 CoreFoundation 0x00007fff23e4286c ___forwarding___ + 1436\n5 CoreFoundation 0x00007fff23e44b58 _CF_forwarding_prep_0 + 120\n6 TitaniumKit0x0000000109c95f4e -[TiViewProxy add:] + 1507\n7 TitaniumKit0x0000000109c95b08 -[TiViewProxy add:] + 413\n8 CoreFoundation 0x00007fff23e44dec __invoking___ + 140\n9 CoreFoundation 0x00007fff23e41fd1 -[NSInvocation invoke] + 321\n10 TitaniumKit0x0000000109cb8c9b -[KrollMethod call:] + 1385\n11 TitaniumKit0x0000000109cb7e87 __KrollCallAsFunction_block_invoke + 30\n12 TitaniumKit0x0000000109cb7ca1 KrollCallAsFunction + 425\n13 JavaScriptCore 0x00007fff26cc0073 _ZN3JSC16JSCallbackObjectINS_16JSNonFinalObjectEE4callEPNS_14JSGlobalObjectEPNS_9CallFrameE + 627\n14 JavaScriptCore 0x00007fff2719380f _ZN3JSC5LLInt9setUpCallEPNS_9CallFrameENS_22CodeSpecializationKindENS_7JSValueEPNS_17LLIntCallLinkInfoE + 959\n15 JavaScriptCore 0x00007fff26c7d58f llint_entry + 93330\n16 JavaScriptCore 0x00007fff26c6674f vmEntryToJavaScript + 200\n17 JavaScriptCore 0x00007fff2709d525 _ZN3JSC11Interpreter11executeCallEPNS_14JSGlobalObjectEPNS_8JSObjectENS_8CallTypeERKNS_8CallDataENS_7JSValueERKNS_7ArgListE + 549\n18 JavaScriptCore 0x00007fff272d77ea _ZN3JSC12profiledCallEPNS_14JSGlobalObjectENS_15ProfilingReasonENS_7JSValueENS_8CallTypeERKNS_8CallDataES3_RKNS_7ArgListE + 170\n19 JavaScriptCore 0x00007fff26cce5ac JSObjectCallAsFunction + 620\n20 TitaniumKit0x0000000109c94b95 TiBindingEventProcess + 686\n21 TitaniumKit0x0000000109cb6062 -[KrollContext invoke:] + 109\n22 TitaniumKit0x0000000109cb60d5 -[KrollContext enqueue:] + 93"; [ERROR] sourceURL = "file:///Users/axwaysu/Library/Developer/CoreSimulator/Devices/29BC7A6C-446A-4784-9B9A-27C6FC7310E3/data/Containers/Bundle/Application/F441AA81-63F8-4114-8DBE-24A7D927BE8B/support.app/app.js"; [ERROR] stack = "[native code]\nfile:///Users/axwaysu/Library/Developer/CoreSimulator/Devices/29BC7A6C-446A-4784-9B9A-27C6FC7310E3/data/Containers/Bundle/Application/F441AA81-63F8-4114-8DBE-24A7D927BE8B/support.app/app.js:25:17"; [ERROR] type = Error; [ERROR] } {noformat} *Expected*; No crash and REQUIRED is displayed.

Comments

  1. Josh Longton 2020-09-22

    [~amukherjee]/[~spulipakkam] can this be scheduled for the customer?
  2. Hans Knöchel 2020-09-22

    Maybe it helps: Instead of setting the value on "e.source", set it to the actual row (which can be received by using e.row or the indices provided by the event).
  3. Vijay Singh 2020-09-23

    PR - https://github.com/appcelerator/titanium_mobile/pull/12128
  4. Christopher Williams 2020-09-24

    Looking at diffs between 9.0.3 and 9.1.0, this change related to TIMOB-27935 looks suspicious: https://github.com/appcelerator/titanium_mobile/commit/b15d1840c9be3cbf7cc74b10381e3656846f87b8
  5. Vijay Singh 2020-09-28

    Reopened TIMOB-27935 which is causing this regression.
  6. Samir Mohammed 2020-10-02

    FR Passed, waiting on Jenkins build.
  7. Sohail Saddique 2020-10-06

    This bug is no longer present if TIMOB-27935 is reverted (which I believe it is now). Ticket closed.
  8. Abir Mukherjee 2020-10-07

    Reopening to change the resolution to "Fixed"

JSON Source