{ "id": "170015", "key": "TIMOB-25391", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "20238", "description": "", "name": "Release 7.5.0", "archived": false, "released": true, "releaseDate": "2018-11-15" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2018-08-24T17:30:06.000+0000", "created": "2017-10-13T23:06:39.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "TableView", "ios" ], "versions": [], "issuelinks": [ { "id": "56037", "type": { "id": "10122", "name": "Gantt: start-finish", "inward": "is triggered by", "outward": "is triggering" }, "inwardIssue": { "id": "165329", "key": "TIMOB-24320", "fields": { "summary": "iOS: Removing a TableView with headerView may cause the app to crash", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2018-11-01T01:53:27.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "I'm using Titanium SDK 6.2.2.GA with Xcode 9 and iOS 11.\r\n\r\nI'm testing the app with the new SDK and Xcode and I noticed that my app started crashing a lot. After some debugging I was able to see that the crash was happening when I close a Window that has a TableView with data binding.\r\n\r\nI ran the app using Instruments with the Zombie profile and the crash is happening because is finding a zombie in the \r\n{code:Objc}\r\nTiUITableView dealloc\r\n{code}\r\n on this line:\r\n\r\n{code:Objc}\r\n[headerViewProxy setProxyObserver:nil];\r\n{code}\r\n\r\n\r\nI'm also getting crashes on this line:\r\n{code:Objc}\r\n[footerViewProxy setProxyObserver:nil];\r\n{code}\r\n\r\nMy app crashes at least 1 of 3 times when closing windows that have TableViews.\r\n\r\n\r\n", "attachment": [], "flagged": false, "summary": "iOS: TiUITable crashes app with a Zombie", "creator": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "subtasks": [], "reporter": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "environment": null, "closedSprints": [ { "id": 1058, "state": "closed", "name": "2018 Sprint 16 SDK", "startDate": "2018-07-29T22:26:06.486Z", "endDate": "2018-08-12T22:26:00.000Z", "completeDate": "2018-08-13T17:38:16.757Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "429103", "author": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hello, your description is not clear \"Instruments with the Zombie profile and the crash is happening because is finding a zombie in the\"??!!. Send us a sample project that regenerates the issue. Thanks.", "updateAuthor": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2017-10-14T20:20:33.000+0000", "updated": "2017-10-14T20:20:33.000+0000" }, { "id": "429105", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "This sounds like a possible regression from [this commit|https://github.com/appcelerator/titanium_mobile/commit/ce57ad9044368066260b879fd7657ba6279f9768#diff-2284f41c2b88680b145a949a6972d02e] but it's since 6.1.0 already, so I am wondering why this occurs on 6.2.2 only for you. Moving over.\r\n\r\nPlease also provide a minimal test-case that reproduces the issue, if possible!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-10-15T08:28:00.000+0000", "updated": "2017-10-15T08:28:33.000+0000" }, { "id": "429108", "author": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "body": "I'll isolate the controller in my app that's triggering this behavior and I'll post it.\r\n\r\nHans, I see the ticket you are referencing, and indeed it looks like the same behavior, and it crashes with the same logs, which makes me wonder why it would be ignoring the if statement:\r\n\r\n{code}\r\nif (headerViewProxy != nil) {\r\n{code}\r\n\r\n", "updateAuthor": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "created": "2017-10-15T14:00:49.000+0000", "updated": "2017-10-15T14:00:49.000+0000" }, { "id": "429109", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "That's what I am wondering as well. I think it's not nil, but the memory has already been given away at that point, which would also explain the zombie-state. I'll investigate it further once the test-case is ready, thank you for catching this!\r\n\r\n*EDIT*: I am unable to reproduce it with a simple table inside a window that is closed. It has a footer-view and some rows, but the error isn't triggered. Can you try the following (by replacing it in your SDK):\r\n{code:objc}\r\nif (headerViewProxy != nil) {\r\n [headerViewProxy setProxyObserver:nil];\r\n [[self proxy] forgetProxy:headerViewProxy];\r\n RELEASE_TO_NIL(headerViewProxy);\r\n}\r\n \r\nif (footerViewProxy != nil) {\r\n [footerViewProxy setProxyObserver:nil];\r\n [[self proxy] forgetProxy:footerViewProxy];\r\n RELEASE_TO_NIL(footerViewProxy);\r\n}\r\n{code}", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-10-15T14:23:23.000+0000", "updated": "2017-10-15T14:49:45.000+0000" }, { "id": "429110", "author": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "body": "Hans, I did the patch with the code you gave me, and though it didn't fix the issue, it did move the error to a different place, but its still crashing.\r\n\r\nI was able to create a test app that correctly replicates the issue:\r\nhttp://baboonmedia.com/titanium/DebugApp.zip\r\n\r\nHow to test:\r\n1. Build the app\r\n2. Click on the \"Message Center\" button to open a window with a TableView and binding. A list of rows should load\r\n3. Close the window\r\n4. Repeat 2 and 3 until the app crashes (usually within 3-5 window opens, though I've seen it happen after 20 attempts)\r\n\r\nI have the app crashing on an iPhone 6 Plus with iOS 11.0.3, and on the Simulator using an iPhone 8 with Xcode 9.\r\n\r\n", "updateAuthor": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "created": "2017-10-15T18:15:59.000+0000", "updated": "2017-10-15T18:15:59.000+0000" }, { "id": "429195", "author": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "body": "Any updates on this? Have you been able to reproduce with my test app?", "updateAuthor": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "created": "2017-10-17T17:21:25.000+0000", "updated": "2017-10-17T17:21:25.000+0000" }, { "id": "429294", "author": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "body": "I tested the app with the new 6.3.0.RC and the issue still persists.\r\n\r\nThis is a big breaking issue for my apps, because it happens really often where the app becomes unusable, hopefully we can get more feedback to try and come up with a solution.\r\n", "updateAuthor": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "created": "2017-10-19T16:36:45.000+0000", "updated": "2017-10-19T16:36:45.000+0000" }, { "id": "429426", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hey Uriel, we didn't forget your issue! I tried it out with 35+ attempts in 6.2.2 and it does not break. I have main-thread enabled, not sure if that changes something. Will try more attempts. Please also note that (at least in your example), you do not initialize the infinite-loading properly, see this warning:\r\n{code}\r\n[nl.fokkezb.infiniteScroll] Do not forget to call init() passing a TableView or ListView\r\n{code}\r\nPlease attach your full trace log of the crash as well, thx!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-10-23T12:37:02.000+0000", "updated": "2017-10-23T12:43:54.000+0000" }, { "id": "429519", "author": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "body": "Hi Hans,\r\n\r\nSorry for the late response.\r\n\r\nToday I started debugging and as it happened with you I wasn't able to make the app crash. The code hasn't changed and we are using the same SDK, so it doesn't make sense for it to stop crashing suddenly. Since I started debugging this issue I had a gut feeling that we might be encountering a \"rush\" issue, maybe if we closed the window at the same time as the data binding tried to load the views it will then crash.\r\n\r\nWhat I did to test this is:\r\n\r\n1. I added a couple of lines so I don't have to be clicking buttons like a mad man :D Please edit the following files:\r\n\r\n*index.js*\r\nAdd the following interval:\r\n{code:javascript}\r\nsetInterval(function(){\r\n\tdoClick();\r\n}, 4000);\r\n{code}\r\n\r\n*tableWindow.js*\r\nOn line 100 append the date to the request params:\r\n{code:javascript}\r\n&date=' + new Date();\r\n{code}\r\n\r\nOn the open() function add a timeout to automatically close the window:\r\n{code:javascript}\r\n\tsetTimeout(function(){\r\n\t\t$.tableWindow.close();\r\n\t}, 100);\r\n{code}\r\n\r\nWith these changes now the app will automatically open and close the message window.\r\n\r\n2. Once I did this, the app was able to open/close the window without any issues for dozens and dozens of times. So, what I did is that I enabled the Network Link Conditioner, so that the data loads slower:\r\nhttps://www.natashatherobot.com/simulate-bad-network-ios-simulator/\r\n\r\nI used the \"Very Bad Network Profile\".\r\n\r\nAnd done, the app crashes very often. My current theory is that right now our server is responding very quick, so the data loads and the tableviews are created before we even have a chance to close the window. When we setup a slow connection, we increase the possibility of this rush case to come in.\r\n\r\nHere is the output I get from lldb:\r\n{code}\r\n* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x10)\r\n frame #0: 0x0000000185ae4430 libobjc.A.dylib`objc_msgSend + 16\r\n * frame #1: 0x00000001004f7334 DebugApp`-[TiUITableView dealloc](self=0x000000010162d920, _cmd=\"dealloc\") at TiUITableView.m:346\r\n frame #2: 0x0000000185aee138 libobjc.A.dylib`(anonymous namespace)::AutoreleasePoolPage::pop(void*) + 836\r\n frame #3: 0x0000000186482050 CoreFoundation`_CFAutoreleasePoolPop + 28\r\n frame #4: 0x000000018fc2f7f4 UIKit`_prepareForCAFlush + 132\r\n frame #5: 0x000000018fc501a8 UIKit`_beforeCACommitHandler + 20\r\n frame #6: 0x00000001865638b8 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32\r\n frame #7: 0x0000000186561270 CoreFoundation`__CFRunLoopDoObservers + 412\r\n frame #8: 0x000000018656182c CoreFoundation`__CFRunLoopRun + 1292\r\n frame #9: 0x00000001864822d8 CoreFoundation`CFRunLoopRunSpecific + 436\r\n frame #10: 0x0000000188313f84 GraphicsServices`GSEventRunModal + 100\r\n frame #11: 0x000000018fa2f880 UIKit`UIApplicationMain + 208\r\n frame #12: 0x000000010049047c DebugApp`main(argc=1, argv=0x000000016f977888) at main.m:30\r\n frame #13: 0x0000000185fa656c libdyld.dylib`start + 4\r\n{code}\r\n\r\nLet me know if you are able to make the app crash now.\r\n\r\nPS: The infiniteScroll is initialized on the script, that warning shows regardless.", "updateAuthor": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "created": "2017-10-24T20:28:53.000+0000", "updated": "2017-10-24T20:29:54.000+0000" }, { "id": "429599", "author": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "body": "I don't know if this is related to the same issue. I have another app that started crashing with the latest SDK as well *6.2.2.GA*.\r\n\r\nThe crash happens when I open a window with a TableView, close it, and then open a different window with another TableView. The crash happens constantly, and only when I open and close windows with different tableviews. Here is the lldb log:\r\n\r\n{code}\r\n* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x20)\r\n frame #0: 0x0000000185aed7f4 libobjc.A.dylib`objc_object::release() + 16\r\n frame #1: 0x00000001865f9e94 CoreFoundation`cow_cleanup + 168\r\n frame #2: 0x000000018648b934 CoreFoundation`-[__NSDictionaryM dealloc] + 68\r\n * frame #3: 0x00000001003820e8 SAVY Lot`-[TiProxy _destroy](self=0x000000014e9e2a00, _cmd=\"_destroy\") at TiProxy.m:428\r\n frame #4: 0x0000000100310ce0 SAVY Lot`-[TiViewProxy _destroy](self=0x000000014e9e2a00, _cmd=\"_destroy\") at TiViewProxy.m:1604\r\n frame #5: 0x00000001003824dc SAVY Lot`-[TiProxy dealloc](self=0x000000014e9e2a00, _cmd=\"dealloc\") at TiProxy.m:459\r\n frame #6: 0x0000000100310624 SAVY Lot`-[TiViewProxy dealloc](self=0x000000014e9e2a00, _cmd=\"dealloc\") at TiViewProxy.m:1518\r\n frame #7: 0x0000000100340cd0 SAVY Lot`-[TiUITableViewProxy dealloc](self=0x000000014e9e2a00, _cmd=\"dealloc\") at TiUITableViewProxy.m:60\r\n frame #8: 0x0000000186543108 CoreFoundation`cow_cleanup + 112\r\n frame #9: 0x00000001865ea344 CoreFoundation`_cow_release + 212\r\n frame #10: 0x000000018648a50c CoreFoundation`-[__NSArrayM dealloc] + 52\r\n frame #11: 0x0000000100310c74 SAVY Lot`-[TiViewProxy _destroy](self=0x000000014e078c00, _cmd=\"_destroy\") at TiViewProxy.m:1602\r\n frame #12: 0x00000001004809c0 SAVY Lot`-[TiWindowProxy _destroy](self=0x000000014e078c00, _cmd=\"_destroy\") at TiWindowProxy.m:49\r\n frame #13: 0x00000001003235d8 SAVY Lot`-[TiUIWindowProxy _destroy](self=0x000000014e078c00, _cmd=\"_destroy\") at TiUIWindowProxy.m:132\r\n frame #14: 0x00000001003824dc SAVY Lot`-[TiProxy dealloc](self=0x000000014e078c00, _cmd=\"dealloc\") at TiProxy.m:459\r\n frame #15: 0x0000000100310624 SAVY Lot`-[TiViewProxy dealloc](self=0x000000014e078c00, _cmd=\"dealloc\") at TiViewProxy.m:1518\r\n frame #16: 0x000000010048086c SAVY Lot`-[TiWindowProxy dealloc](self=0x000000014e078c00, _cmd=\"dealloc\") at TiWindowProxy.m:45\r\n frame #17: 0x0000000100323bc4 SAVY Lot`-[TiUIWindowProxy dealloc](self=0x000000014e078c00, _cmd=\"dealloc\") at TiUIWindowProxy.m:159\r\n frame #18: 0x00000001002f8c1c SAVY Lot`-[KrollObject dealloc](self=0x00000001c42989c0, _cmd=\"dealloc\") at KrollObject.m:507\r\n frame #19: 0x00000001002f7290 SAVY Lot`KrollFinalizer(ref=0x00000001045ff030) at KrollObject.m:132\r\n frame #20: 0x00000001005b9e44 SAVY Lot`TI::JSCallbackObjectData::finalize(TI::Handle, void*) + 60\r\n frame #21: 0x0000000100757860 SAVY Lot`TI::WeakBlock::sweep() + 112\r\n frame #22: 0x00000001007596c0 SAVY Lot`TI::WeakSet::sweep() + 32\r\n frame #23: 0x000000010066b07c SAVY Lot`TI::MarkedBlock::sweep(TI::MarkedBlock::SweepMode) + 28\r\n frame #24: 0x000000010056acf4 SAVY Lot`TI::IncrementalSweeper::doSweep(double) + 140\r\n frame #25: 0x000000010056992c SAVY Lot`TI::HeapTimer::timerDidFire(__CFRunLoopTimer*, void*) + 188\r\n frame #26: 0x000000018656499c CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28\r\n frame #27: 0x00000001865646c0 CoreFoundation`__CFRunLoopDoTimer + 864\r\n frame #28: 0x0000000186563ec0 CoreFoundation`__CFRunLoopDoTimers + 248\r\n frame #29: 0x0000000186561aa8 CoreFoundation`__CFRunLoopRun + 1928\r\n frame #30: 0x00000001864822d8 CoreFoundation`CFRunLoopRunSpecific + 436\r\n frame #31: 0x0000000188313f84 GraphicsServices`GSEventRunModal + 100\r\n frame #32: 0x000000018fa2f880 UIKit`UIApplicationMain + 208\r\n frame #33: 0x00000001002da978 SAVY Lot`main(argc=1, argv=0x000000016fb2b888) at main.m:30\r\n frame #34: 0x0000000185fa656c libdyld.dylib`start + 4\r\n{code}\r\n\r\nI don't know if I should open a new ticket about, but since it seems to be happening with dealloc as well on TableViews, I'm thinking it might be related.", "updateAuthor": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "created": "2017-10-25T21:33:27.000+0000", "updated": "2017-10-25T21:33:27.000+0000" }, { "id": "429784", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Ok, let's get this started. First of all: The above is the same issue. Then: Can you try to revert [this PR|https://github.com/appcelerator/titanium_mobile/pull/8758/files] locally and see if it still crashes? Finally: Did you see crashes without data-binding? I'd like to know if that one caused it or a previous one. In the mean-time, I'll try to get an actual crash reproduced.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-10-29T11:00:58.000+0000", "updated": "2017-10-29T11:03:09.000+0000" }, { "id": "429849", "author": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "body": "Ok, if I remove the following lines:\r\n{code}\r\n\tif (headerViewProxy != nil) {\r\n\t\t[headerViewProxy setProxyObserver:nil];\r\n\t\t[[self proxy] forgetProxy:headerViewProxy];\r\n\t\theaderViewProxy = nil;\r\n\t}\r\n \r\n\tif (footerViewProxy != nil) {\r\n\t\t[footerViewProxy setProxyObserver:nil];\r\n\t\t[[self proxy] forgetProxy:footerViewProxy];\r\n\t\tfooterViewProxy = nil;\r\n\t}\r\n{code}\r\n\r\nThe bug doesn't appear, I tested by opening and closing the window 100 times without a crash. If I add the lines back, I get a crash within the first 10 opens.\r\n\r\nNext I'm doing the test without the data binding.", "updateAuthor": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "created": "2017-10-30T17:56:24.000+0000", "updated": "2017-10-30T17:56:24.000+0000" }, { "id": "429851", "author": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "body": "Ok, so I can't reproduce the bug on a Table without data binding.\r\n\r\nAnd I expected this, more coming with the fact that to be able to reproduce the bug consistently I needed not only to have data binding, but to also have poor connection so that the binding could still continue while trying to destroy the Window.\r\n\r\nWhat do you think?", "updateAuthor": { "name": "ulizama", "key": "ulizama", "displayName": "Uriel Lizama", "active": true, "timeZone": "America/Mexico_City" }, "created": "2017-10-30T18:25:15.000+0000", "updated": "2017-10-30T18:25:15.000+0000" }, { "id": "430162", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Yes, that is correct. It might be a race-condition happening because the requests still pends and completes when the window is already closed. In that case, the requests need to ensure to be cancelled when the window is closed. I think that will resolve all issues, can you confirm that? Moving out of 7.0.0.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-11-06T16:31:18.000+0000", "updated": "2017-11-06T16:31:18.000+0000" }, { "id": "432421", "author": { "name": "cthomas", "key": "cthomas", "displayName": "Christy Thomas", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I am having this same problem after moving to Appcelerator 7.0.0 and Xcode 9.2.\r\nHow do I accomplish this: \"requests need to ensure to be cancelled when the window is closed\"", "updateAuthor": { "name": "cthomas", "key": "cthomas", "displayName": "Christy Thomas", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-12-19T21:59:55.000+0000", "updated": "2017-12-19T21:59:55.000+0000" }, { "id": "432474", "author": { "name": "cthomas", "key": "cthomas", "displayName": "Christy Thomas", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I am only seeing this problem in the simulator. Is that the case for you as well?\r\n\r\nBelow is the crash log and the crash in Xcode is showing EXC_BAD_ACCESS on this line in TiUITableView.m:\r\n\r\n[headerViewProxy setProxyObserver:nil];\r\n\r\n{code}\r\nException Type: EXC_BAD_ACCESS (SIGSEGV)\r\nException Codes: KERN_INVALID_ADDRESS at 0x0000000000000018\r\nException Note: EXC_CORPSE_NOTIFY\r\n\r\nTermination Signal: Segmentation fault: 11\r\nTermination Reason: Namespace SIGNAL, Code 0xb\r\nTerminating Process: exc handler [0]\r\n\r\nVM Regions Near 0x18:\r\n--> \r\n__TEXT 0000000108903000-0000000108e9c000 [ 5732K] r-x/rwx SM=COW /Users/USER/Library/Developer/CoreSimulator/Devices/EBB6A469-8625-4491-B1D5-45709ECE6889/data/Containers/Bundle/Application/BFA4D0BF-35E4-4C19-BEE9-B16686F1EE27/EndlessAisle.app/EndlessAisle\r\n\r\nApplication Specific Information:\r\nobjc_msgSend() selector name: setProxyObserver:\r\nCoreSimulator 494.33 - Device: iPad Pro (9.7 inch) - Runtime: iOS 10.3 (14E8301) - DeviceType: iPad Pro (9.7-inch)\r\n\r\nThread 0 Crashed:: Dispatch queue: com.apple.main-thread\r\n0 libobjc.A.dylib 0x000000010fdedacb objc_msgSend + 11\r\n1 com.demandware.EndlessAisleOA 0x00000001089a38b1 -[TiUITableView dealloc] + 337 (TiUITableView.m:331)\r\n2 libobjc.A.dylib 0x000000010fdec2fa (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 866\r\n3 com.apple.CoreFoundation 0x00000001107f0e96 _CFAutoreleasePoolPop + 22\r\n4 com.apple.UIKit 0x000000010b80f5dc _prepareForCAFlush + 602\r\n5 com.apple.UIKit 0x000000010b84146b _beforeCACommitHandler + 15\r\n6 com.apple.CoreFoundation 0x0000000110847717 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23\r\n7 com.apple.CoreFoundation 0x0000000110847687 __CFRunLoopDoObservers + 391\r\n8 com.apple.CoreFoundation 0x000000011082c720 __CFRunLoopRun + 1200\r\n9 com.apple.CoreFoundation 0x000000011082c016 CFRunLoopRunSpecific + 406\r\n10 com.apple.GraphicsServices 0x0000000114770a24 GSEventRunModal + 62\r\n11 com.apple.UIKit 0x000000010b816134 UIApplicationMain + 159\r\n12 com.demandware.EndlessAisleOA 0x0000000108905ea4 main + 100 (main.m:30)\r\n13 libdyld.dylib 0x0000000111a6665d start + 1\r\n{code}\r\n\r\n", "updateAuthor": { "name": "cthomas", "key": "cthomas", "displayName": "Christy Thomas", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-12-21T14:06:31.000+0000", "updated": "2017-12-21T14:06:31.000+0000" }, { "id": "432636", "author": { "name": "cthomas", "key": "cthomas", "displayName": "Christy Thomas", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This is a critical issue for us to upgrade to Appcelerator 7.0 and Xcode 9.", "updateAuthor": { "name": "cthomas", "key": "cthomas", "displayName": "Christy Thomas", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-01-02T15:46:37.000+0000", "updated": "2018-01-02T15:46:37.000+0000" }, { "id": "439431", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/10199\r\nTest-Case: See TIMOB-24320 for details, since we didn't really have any isolated one here.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-07-24T05:07:51.000+0000", "updated": "2018-07-24T05:07:51.000+0000" }, { "id": "440892", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "*Closing ticket.* Verified fix with SDK version: {{7.4.0.v20180820034952}}. No crashes seen with the test case provided by [~hknoechel]. \r\n\r\n*Test Environment*\r\n{code:java}\r\nAPPC Studio: 5.1.0.201808080937\r\nAPPC CLI: 7.0.5\r\niphone 6 simulator (11.2)\r\nipad pro 9.7 inch (11.2) \r\nOperating System Name: Mac OS High Sierra\r\nOperating System Version: 10.13\r\nNode.js Version: 8.9.1\r\nXcode 9.2\r\n{code}\r\n", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-08-20T14:13:15.000+0000", "updated": "2018-08-20T14:13:15.000+0000" }, { "id": "443152", "author": { "name": "mr.jatinjoshi.mca@gmail.com", "key": "mr.jatinjoshi.mca@gmail.com", "displayName": "JATIN JOSHI", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I am seeing this problem in Xcode 10.1 and TI SDK 7.4.1 and testing it on iPhone 6 (v12.1)\r\n\r\n", "updateAuthor": { "name": "mr.jatinjoshi.mca@gmail.com", "key": "mr.jatinjoshi.mca@gmail.com", "displayName": "JATIN JOSHI", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-11-01T00:49:50.000+0000", "updated": "2018-11-01T00:49:50.000+0000" }, { "id": "443153", "author": { "name": "mr.jatinjoshi.mca@gmail.com", "key": "mr.jatinjoshi.mca@gmail.com", "displayName": "JATIN JOSHI", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This is in TiUITableView.m\r\n\r\n if (footerViewProxy != nil) {\r\n [footerViewProxy setProxyObserver:nil];\r\n [[self proxy] forgetProxy:footerViewProxy];\r\n footerViewProxy = nil;\r\n }\r\n\r\nGetting error: Thread 1: EXC_BAD_ACCESS (code=1, address=0x10)", "updateAuthor": { "name": "mr.jatinjoshi.mca@gmail.com", "key": "mr.jatinjoshi.mca@gmail.com", "displayName": "JATIN JOSHI", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-11-01T00:51:05.000+0000", "updated": "2018-11-01T00:51:05.000+0000" }, { "id": "443154", "author": { "name": "mr.jatinjoshi.mca@gmail.com", "key": "mr.jatinjoshi.mca@gmail.com", "displayName": "JATIN JOSHI", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I am seeing this problem in Xcode 10.1 and TI SDK 7.4.1 and testing it on iPhone 6 (v12.1)\n\nThis is in TiUITableView.m\n\nif (footerViewProxy != nil)\n\n{ [footerViewProxy setProxyObserver:nil]; [[self proxy] forgetProxy:footerViewProxy]; footerViewProxy = nil; }\nGetting error: Thread 1: EXC_BAD_ACCESS (code=1, address=0x10)", "updateAuthor": { "name": "mr.jatinjoshi.mca@gmail.com", "key": "mr.jatinjoshi.mca@gmail.com", "displayName": "JATIN JOSHI", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-11-01T00:53:03.000+0000", "updated": "2018-11-01T00:53:03.000+0000" }, { "id": "443161", "author": { "name": "mr.jatinjoshi.mca@gmail.com", "key": "mr.jatinjoshi.mca@gmail.com", "displayName": "JATIN JOSHI", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I commented the following lines as suggested by \"Uriel Lizama\", in my local copy on my machine and my app worked without any crash. \r\n\r\nTiUITableView.m file:\r\n\r\n /*\r\n if (headerViewProxy != nil) {\r\n [headerViewProxy setProxyObserver:nil];\r\n [[self proxy] forgetProxy:headerViewProxy];\r\n headerViewProxy = nil;\r\n }\r\n\r\n if (footerViewProxy != nil) {\r\n [footerViewProxy setProxyObserver:nil];\r\n [[self proxy] forgetProxy:footerViewProxy];\r\n footerViewProxy = nil;\r\n }\r\n*/", "updateAuthor": { "name": "mr.jatinjoshi.mca@gmail.com", "key": "mr.jatinjoshi.mca@gmail.com", "displayName": "JATIN JOSHI", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-11-01T01:53:27.000+0000", "updated": "2018-11-01T01:53:27.000+0000" } ], "maxResults": 23, "total": 23, "startAt": 0 } } }