-
Notifications
You must be signed in to change notification settings - Fork 7.6k
Certain JS files cause Tern (and therefore Brackets) to crash #3827
Comments
Also, a bug in Tern was created here: ternjs/tern#142 by @eztierney |
@jrowny is it a full crash at the native level? Like the OS force-quits the whole Brackets process? |
I've reproduced, and the Brackets process doesn't die - it turns into a blank window, and becomes totally unresponsive, I can't even quit, so I have to kill the process from activity monitor. |
Yikes. Marking high priority and nominating for Sprint 25 -- at least until we have more info on how easily hit this is (lots of projects use Angular). |
Marijn has posted a fix for tern - I will check it out and hopefully get this fixed today. It might be worth looking into if there is anyway to get chrome to behave better, when running out of memory. Wouldn't be ideal, but if we could keep brackets up and running even without hinting it would be better than crashing. |
Confirmed that this is fixed by marijns fix - memory usage is more reasonable again, and the hints come up in a reasonable amount of time, even with a minified angular.js file. I also tested with the other frameworks in todomvc, and they all work now (agilityjs, angularjs, backbone, canjs, closure, dojo, emberjs, jquery, knockback, knockoutjs, maria, spine, YUI). Will have a pull request shortly. |
Updated to a version of tern that fixes the bug. Take out the excludes of minified libraries, as they all work now that the bug is fixed. Stil exclude require and jquery files since we have json defs files for those that have better type information. Fixes Issue adobe#3827
fixed |
verified, not saw crashes, so closed it. |
Setup a project with these 3 files: https://gist.github.com/jrowny/31af730a02b2d2dfddeb
You might need to restart brackets for this to go bonkers. The angular.js file appears to crash Tern/brackets. Both minified and unminified. This may be due to a webworker running out of memory according to @eztierney. Code hinting does not work and triggers the crash. It can take up to 30 seconds to a minute before the crash happens.
The text was updated successfully, but these errors were encountered: