Titanium JIRA Archive
Appcelerator Community (AC)

[AC-6703] iOS - Empty WebView causes app to crash

GitHub Issuen/a
TypeBug
Priorityn/a
StatusClosed
ResolutionNeeds more info
Resolution Date2021-10-14T15:22:05.000+0000
Affected Version/sn/a
Fix Version/sn/a
Componentsn/a
Labelsn/a
ReporterBrian GarcĂ­a
AssigneeAbir Mukherjee
Created2021-05-27T08:34:36.000+0000
Updated2021-10-14T15:22:05.000+0000

Description

Just setting an empty WebView in a window and then closing it, after some seconds the following crash is reported.
Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000370825dd7d98
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [58266]

VM Regions Near 0x370825dd7d98:
    CG raster data              160418000-16057d000    [ 1428K] r--/r-- SM=PRV  
--> 
    JS JIT generated code    5d98ccc00000-5d98ccc01000 [    4K] ---/rwx SM=NUL  

Application Specific Information:
objc_msgSend() selector name: hash
CoreSimulator 732.18.6 - Device: iPhone 12 Pro Max (C0A49FD2-F871-4554-86E9-31EA20D9EFF4) - Runtime: iOS 14.4 (18D46) - DeviceType: iPhone 12 Pro Max

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib               	0x000000011367078b objc_msgSend + 11
1   com.apple.CoreFoundation      	0x0000000113b0e842 CFBasicHashRemoveValue + 194
2   com.apple.CoreFoundation      	0x00000001139fee80 CFDictionaryRemoveValue + 160
3   xxxxxxxxxxxxxxxxxxxxxxx      	0x000000010c85b9b8 -[TiUIWebViewProxy _destroy] + 104 (TiUIWebViewProxy.m:110)
4   com.appcelerator.TitaniumKit  	0x00000001135c9d61 -[TiProxy dealloc] + 25
5   com.appcelerator.TitaniumKit  	0x00000001135aba7f -[TiViewProxy dealloc] + 119
6   xxxxxxxxxxxxxxxxxxxxxxx     	0x000000010c85b415 -[TiUIWebViewProxy dealloc] + 181 (TiUIWebViewProxy.m:50)
7   libobjc.A.dylib               	0x000000011368c834 objc_object::sidetable_release(bool, bool) + 174
8   com.appcelerator.TitaniumKit  	0x000000011358a6bd -[KrollObject dealloc] + 50
9   libobjc.A.dylib               	0x000000011368c834 objc_object::sidetable_release(bool, bool) + 174
10  com.appcelerator.TitaniumKit  	0x00000001135897ce KrollFinalizer + 289
11  com.apple.JavaScriptCore      	0x000000010d17b567 JSC::JSCallbackObject<JSC::JSNonFinalObject>::destroy(JSC::JSCell*) + 119

Comments

  1. Joshua Quick 2021-06-02

    [~bgarcia], can you tell us what you mean by "empty" please? What do we need to do below to reproduce it? Because simply never setting the "url" or "html" property and closing the window doesn't crash it for me.
       let navigationWindow = null;
       const parentWindow = Ti.UI.createWindow({ title: "Parent Window" });
       const openButton = Ti.UI.createButton({ title: "Open WebView Window" });
       openButton.addEventListener("click", () => {
       	const childWindow = Ti.UI.createWindow({ title: "Child WebView" });
       	const webView = Ti.UI.createWebView({
       //		html: "",
       	});
       	childWindow.add(webView);
       	navigationWindow.openWindow(childWindow, { animated: true });
       });
       parentWindow.add(openButton);
       navigationWindow = Ti.UI.createNavigationWindow({
       	window: parentWindow,
       });
       navigationWindow.open();
       

JSON Source