Comments (7)
It's very hard to help you, I had never this problem -(
The basic idea is that synchFiles is synchronized to avoid sending several time the same files to tern server. synchFiles is called every time for each feature (completion, validation, hover, hyprlink)
If you have every time this problem, could you investiaget it. Thank's!
from angularjs-eclipse.
No, I didn't reproduced this deadlock on the next run (I have had to kill my eclipse when it was deadlocked and restarted it again). But probably it could be eventually reproduced. So, it's better to investigate on this issue... I'll try to do it if I'll have a time and the deadlock will be reproduced.
from angularjs-eclipse.
I suppose, that the actual reason was the printing out the whole text of Tern request into the console... I have such a broken line in my console: the text is written as a single line of about 1,4Mb of characters. I've dumped that line into a file and that file cannot be opened by gedit (notepad is the analogue of that editor in windows):
$ ls -alp ~/text
-rw-rw-r--. 1 me me 1440507 Mar 5 02:25 /home/me/text
IMHO, having such lines in Eclipse's console could be a HUGE problem for Eclipse. So, I'd propose to trim the response string that is logged into a Console somehow if this deadlock problem returns.
from angularjs-eclipse.
You are right, tern console should be improved. I had do that quicly (copy/paste from http://ant.apache.org/ivy/ivyde/) because I need that when I developped the tern angular plugin.
It should be very cool if you can provide a patch with your idea about triming otherwise I will do that when I will have time.
from angularjs-eclipse.
Looks like I'm a victim of this issue: https://bugs.eclipse.org/bugs/show_bug.cgi?id=421303 - Deadlock in IOConsoleOutputStream.
IOConsoleOutputStream.streamAppended() waits on an object that is never being notified.
In addition to the deadlock, I've got the following exception in my Error Log:
!ENTRY tern.eclipse.ide.core 4 0 2014-03-05 19:06:48.425
!MESSAGE Cannot start node process.
!ENTRY org.eclipse.angularjs.ui 4 0 2014-03-05 19:06:49.462
!MESSAGE Error while tern validator.
!STACK 0
tern.TernException: tern.server.nodejs.process.NodejsProcessException: Cannot start node process.
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:293)
at tern.eclipse.ide.core.IDETernProject.request(IDETernProject.java:640)
at tern.eclipse.ide.core.IDETernProject.request(IDETernProject.java:634)
at org.eclipse.angularjs.internal.ui.validation.HTMLAngularContentValidator.find(HTMLAngularContentValidator.java:112)
at org.eclipse.angularjs.internal.ui.validation.HTMLAngularContentValidator.doValidate(HTMLAngularContentValidator.java:61)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:144)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:126)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:110)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.validate(ReconcileStepForValidator.java:381)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.reconcileModel(ReconcileStepForValidator.java:259)
at org.eclipse.jface.text.reconciler.AbstractReconcileStep.reconcile(AbstractReconcileStep.java:95)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorStrategy.reconcile(ValidatorStrategy.java:269)
at org.eclipse.wst.sse.ui.internal.reconcile.DocumentRegionProcessor.process(DocumentRegionProcessor.java:321)
at org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor.process(StructuredRegionProcessor.java:258)
at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:691)
Caused by: tern.server.nodejs.process.NodejsProcessException: Cannot start node process.
at tern.server.nodejs.process.NodejsProcess.start(NodejsProcess.java:318)
at tern.server.nodejs.NodejsTernServer.getBaseURL(NodejsTernServer.java:181)
at tern.server.nodejs.NodejsTernServer.makeRequest(NodejsTernServer.java:154)
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:285)
... 14 more
No changes were made comparing with my yesterday's configuration and the test project. All is the same, but Node.js wasn't able to be started.
from angularjs-eclipse.
Stacktrace for today's deadlock: http://ur1.ca/grefu
What's done in my fix: I've just added a Job (Non-UI) that adds a message to the TernConsole without being blocked on UI-thread. So, from any thread we're just sending our text message to the Console, and it puts our message into its document on UI-thread, but our thread doesn't waits for that and doesn't care when actually its message will be delivered to the Console's document.
The console itself uses UI-Job to flush its buffer into the Console Document. The buffer isn't flushed immediately, it's flushed when it's size exceeds 16000 characters. This is why all seemed to work for me until the huge "files" document arrived to be sent to console. If I was waiting for content assist to appear at the moment of such a flushing - the Console's UI-Job was blocked by Content Assist (sitting in UI Thread) which was blocked in its turn by the Validation. That's it.
After my fix all looks working for me.
from angularjs-eclipse.
Patch of Victor fixes the deadlock problem.
from angularjs-eclipse.
Related Issues (20)
- Run AS->protractor throws error client file cannot be empty. HOT 1
- Phonecat in AngularJS-Eclipse, and 'bower' HOT 2
- Why in my eclipse Node modules throwing error when i am installing protractor locally ?
- Missing documentation on how to expand HTML validation HOT 2
- Error when creating Angular2 project HOT 2
- hmmm...installed from marketplace but nothing changed... HOT 1
- Error when run test case
- Angular2 IDE Plugin Issue HOT 6
- Angular2 Eclipse HOT 1
- Problem with source hover popup and Dark theme
- Cannot find node install path node-native HOT 3
- Could Not find the required bundle org.eclipse.wst.html.core;bundle-version="1.2.0" HOT 1
- Can we Install Protractor in Elcipse
- Incorrect scope in Angular
- ng command not recognized in eclipse preference HOT 1
- Code completion does not work for Angular directives
- Unknown directive parameter for directive ng-md-icon
- Troubles installing any version of angularjs 1.3 or 1.2
- Using user-provided arguments in Protractor run configuration
- Unable to install the plugin in eclipse-oxygen javascript version
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from angularjs-eclipse.