Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-18152] iOS: Window with url:file throws "Maximum call stack size exceeded" error on open

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2014-12-10T22:21:37.000+0000
Affected Version/sRelease 3.5.0
Fix Version/sRelease 3.5.0, Release 4.0.0
ComponentsiOS
Labelsfile, ios, qe-3.5.0, regression, stack, window
ReporterEric Wieber
AssigneeVishal Duggal
Created2014-12-08T21:21:02.000+0000
Updated2014-12-11T22:24:02.000+0000

Description

When opening a window with a file as the url, I occasionally see a "Maximum call stack size exceeded." error. *Steps to reproduce*: 1. Download, Build, and open included project (proj 1) 2. Click on Test 2 3. Click on open win2 4. Click on open win3 5. Click on Close Windows 6. Repeat steps 2-5 until error occurs (sometimes on first try, other times it takes a while) *Expected Results*: Windows are able to open without error. *Notes*: I am attaching two projects that encounter this error. If the windows do not use a file for the URL, I do not encounter this issue. I also have not been able to encounter this with Titanium SDK 3.4.1.GA. Download projects here: Proj 1: https://www.dropbox.com/s/50wyyyc5cs30elc/animations%20test.zip?dl=0 Proj 2: https://www.dropbox.com/s/sn2oax930mpx9lo/Null%20Test.zip?dl=0

Attachments

FileDateSize
IMG_0016.PNG2014-12-08T21:21:02.000+0000132428

Comments

  1. Ingo Muschenetz 2014-12-08

    [~ewieber] is this a regression?
  2. Eric Wieber 2014-12-08

    [~ingo], looks like it, as I cannot encounter it with 3.4.1.GA. Updating ticket.
  3. Vishal Duggal 2014-12-10

    Pull pending master - https://github.com/appcelerator/titanium_mobile/pull/6464 3_5_X - https://github.com/appcelerator/titanium_mobile/pull/6465
  4. Eric Wieber 2014-12-11

    Verified fixed using: Titanium SDK 3.5.0.v20141211093314 Studio 3.4.1.201410281743 Xcode 6.1.1 On: iPad mini, iOS 8.1 iPhone 6, iOS 8.2b2 iPhone 4S Sim, iOS 8.1
  5. Eric Wieber 2014-12-11

    Test code used:
       var win = Ti.UI.createWindow({});
       var win2;
       
       var btn1 = Ti.UI.createButton({
       	top : 40,
       	left : 0,
       	width : 200,
       	height : 50,
       	title : 'open win2'
       });
       btn1.addEventListener('click', function() {
       	win2 = Ti.UI.createWindow({
       		left : 0,
       		top : 200,
       		width : '100%',
       		height : '50%',
       		backgroundColor : 'purple',
       		url : 'win2.js'
       	});
       	win2.open();
       });
       
       var btn2 = Ti.UI.createButton({
       	top : 40,
       	left : 250,
       	width : 200,
       	height : 50,
       	title : 'close win2'
       });
       btn2.addEventListener('click', function() {
       	win2.close();
       });
       
       win.add(btn1);
       win.add(btn2);
       win.open();
       

JSON Source