dbankier / JAST

JAST is a boilerplate with a mash of tools for rapid Alloy development
91 stars 15 forks source link

Build process hangs after update #15

Closed shodanuk closed 9 years ago

shodanuk commented 9 years ago

The build process is hanging for me after a file is changed. I get the following output

OK
>> File "src/controllers/index.js" changed.

Running "babel:dist" (babel) task

Running "watch:javascripts" (watch) task
Completed in 0.280s at Mon Jun 01 2015 17:43:02 GMT+0100 (BST) - Waiting...

... and then nothing. This is happening every time for me. I have to ctrl+c restart the build every time.

Environment:

Ti SDK 4.0.0.v20150512005012 Ti CLI 3.4.2 Alloy 1.6.0 TiShadow 2.8.2 Building for iOS 8.3 Xcode 6.3.2 Node 0.10.38 Mac OSX 10.10.3

I should mention that I'm having a lot of trouble with TiShadow in general and not sure why because it all used to work fine.

shodanuk commented 9 years ago

Update: this affects both building or iOS and Android.

shodanuk commented 9 years ago

I've had a closer look at this and I'm starting to think one of JAST's dependencies could be choking on a deprecation warning from Moment.js during the Alloy compile. I've tried to hunt down the source of the warning but I don't think it's explicitly coming from my code.

The compile & build still complete but then the build process hang as described above on subsequent changes.

edit Nope, not that...

I've pasted full console output here:

http://pastebin.com/bvS5wjtk

shodanuk commented 9 years ago

Ok, finally tracked this down. Unfortunately, for reasons that still aren't clear, console output that gave away the root cause wasn't being output properly. Creating a new project and repeatedly copying over batches of files and rebuilding did eventually expose the following error being spat out by Alloy:

[ERROR] EMFILE, too many open files '/Users/terrymorgan/Documents/Titanium_Studio_Workspace/testingTiShadow/Resources/iphone/alloy/widgets/nl.fokkezb.loading/styles/view.js'
File   : /Users/terrymorgan/Documents/Titanium_Studio_Workspace/testingTiShadow/Resources/iphone/alloy/widgets/nl.fokkezb.loading/styles/view.js
Line   : undefined
Column : undefined

After a bit of Googling, I found my way to this post on Stack Overflow:

http://stackoverflow.com/questions/19981065/nodejs-error-emfile-too-many-open-files-on-mac-os

Keen Learner's answer did the job and fixed the issue for me.