- This topic has 3 replies, 2 voices, and was last updated 6 years, 10 months ago by Brian Fernandes.
-
AuthorPosts
-
Fedor LosevParticipantSometimes on compilation eclipse pops up “The node process has crashed” with underlying exception out of memory, after that nothing works (and due to auto-format on save I can’t even save the file). Eclipse itself has plenty of free memory.
!ENTRY org.eclipse.e4.ui.workbench 4 0 2017-12-14 04:47:42.754 !MESSAGE !STACK 0 java.lang.IllegalStateException: The node process has crashed. Last 50 lines of error console output: at Interface.<anonymous> (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\bridge\main.js:62:19) at emitOne (events.js:96:13) at Interface.emit (events.js:188:7) at Interface._onLine (readline.js:230:10) at Interface.<anonymous> (readline.js:367:12) at Array.forEach (native) at Interface._normalWrite (readline.js:366:11) at Socket.ondata (readline.js:98:10) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at readableAddChunk (_stream_readable.js:176:18) at Socket.Readable.push (_stream_readable.js:134:10) at Pipe.onread (net.js:547:20) TypeError: Cannot read property 'text' of undefined at ClassMetadataWalker.visitClassDeclaration (C:\dv\src\xxx\src\projects\frontend-angular\studio\studio-web\node_modules\codelyzer\useLifeCycleInterfaceRule.js:57:34) at ClassMetadataWalker.SyntaxWalker.visitNode (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\node_modules\tslint\lib\language\walker\syntaxWalker.js:315:22) at C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\node_modules\tslint\lib\language\walker\syntaxWalker.js:536:63 at visitEachNode (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\typescript\2.3.4\node_modules\typescript\lib\typescript.js:14785:30) at Object.forEachChild (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\typescript\2.3.4\node_modules\typescript\lib\typescript.js:14959:24) at ClassMetadataWalker.SyntaxWalker.walkChildren (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\node_modules\tslint\lib\language\walker\syntaxWalker.js:536:12) at ClassMetadataWalker.SyntaxWalker.visitSourceFile (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\node_modules\tslint\lib\language\walker\syntaxWalker.js:229:14) at ClassMetadataWalker.SyntaxWalker.visitNode (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\node_modules\tslint\lib\language\walker\syntaxWalker.js:483:22) at ClassMetadataWalker.SyntaxWalker.walk (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\node_modules\tslint\lib\language\walker\syntaxWalker.js:25:14) at Rule.AbstractRule.applyWithWalker (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\node_modules\tslint\lib\language\rule\abstractRule.js:32:16) at Rule.apply (C:\dv\src\xxx\src\projects\frontend-angular\studio\studio-web\node_modules\codelyzer\useLifeCycleInterfaceRule.js:23:21) at Linter.applyRule (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\node_modules\tslint\lib\linter.js:180:29) at C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\node_modules\tslint\lib\linter.js:122:85 at Object.flatMap (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\node_modules\tslint\lib\utils.js:152:29) at Linter.getAllFailures (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\node_modules\tslint\lib\linter.js:122:32) at Linter.lint (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\node_modules\tslint\lib\linter.js:76:33) at TSLint5.lint (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\bridge\tslint\tslint5.js:14:16) at C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\bridge\tslint\tslintEndpoint.js:115:42 at Set.forEach (native) at TSLintEndpoint.validate (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\bridge\tslint\tslintEndpoint.js:101:23) at LanguageEndpoint.performValidation (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\bridge\language\languageEndpoint.js:605:43) at Main.processRequest (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\bridge\main.js:91:33) at Interface.<anonymous> (C:\dv\tools\eclipse-neon-angular4\plugins\com.genuitec.eclipse.typescript_2.5.3.201711281859\bin\bridge\main.js:62:19) at emitOne (events.js:96:13) at Interface.emit (events.js:188:7) at Interface._onLine (readline.js:230:10) at Interface.<anonymous> (readline.js:367:12) at Array.forEach (native) at Interface._normalWrite (readline.js:366:11) at Socket.ondata (readline.js:98:10) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at readableAddChunk (_stream_readable.js:176:18) at Socket.Readable.push (_stream_readable.js:134:10) at Pipe.onread (net.js:547:20) FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory at com.genuitec.eclipse.typescript.services.internal.Bridge.processRequest(Bridge.java:225) at com.genuitec.eclipse.typescript.services.internal.Bridge.call(Bridge.java:140) at com.genuitec.eclipse.typescript.services.internal.Bridge.call(Bridge.java:127) at com.genuitec.eclipse.typescript.services.language.LanguageEndpoint.setFileOpen(LanguageEndpoint.java:295) at com.genuitec.eclipse.typescript.text.FileLanguageService.dispose(FileLanguageService.java:229) at com.genuitec.eclipse.typescript.text.FileLanguageService.release(FileLanguageService.java:221) at com.genuitec.eclipse.typescript.text.TypeScriptEditor.dispose(TypeScriptEditor.java:118) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.invalidate(CompatibilityPart.java:237) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.destroy(CompatibilityPart.java:403) at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:966) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:931) at org.eclipse.e4.core.internal.di.InjectorImpl.uninject(InjectorImpl.java:212) at org.eclipse.e4.core.internal.di.Requestor.uninject(Requestor.java:170) at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:84) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:111) at org.eclipse.e4.core.internal.contexts.EclipseContext.removeListenersTo(EclipseContext.java:471) at org.eclipse.e4.core.contexts.ContextInjectionFactory.uninject(ContextInjectionFactory.java:144) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:927) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:846) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$3.run(PartRenderingEngine.java:841) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:825) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:873) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:846) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$3.run(PartRenderingEngine.java:841) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:825) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:880) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:846) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$3.run(PartRenderingEngine.java:841) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:825) at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.disposeWidget(ElementReferenceRenderer.java:112) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:918) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:846) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$3.run(PartRenderingEngine.java:841) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:825) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:880) ......
Brian FernandesModeratorFedor,
As part of the investigation into the issue here: https://www.genuitec.com/forums/topic/ci9-prelease-sporadic-ui-problem we are looking at what needs to be done to prevent this from happening. Either reduce memory consumption, or use a different version of node, or some other technique entirely.
Unlike the the serving issue, this is an OOM error from the internal version of Node that we use to support TS and Angular development (providing the right content assist, validation, etc.) And being able to add more memory to this process is another item already on our road map (being the most straightforward solution in some cases). We’ll keep you posted.
Fedor LosevParticipantThanks, actually I think it is set to my global node (in Typescript -> Node.js runtime)
Not sure what “use some other technique entirely” means, I don’t see how other node version or technique will change the node memory arguments (well, may be replacing node by exe that invokes another node, that sounds too much). Is there any simple way to increase default node memory?
Adding compiler node memory setting to Webclipse definitely should help there, right?
Regarding other issue, as I wrote, it doesn’t seem related to memory and even it is node process issue UI actions should not block on that forever.
- This reply was modified 6 years, 11 months ago by Fedor Losev.
Brian FernandesModeratorFedor,
To close this topic, just wanted to add that we are looking into that can be done on the memory management front, related to the suggestions you have made in the other thread.
-
AuthorPosts