When I open my project and Eclipse attempts to build it, I get this error: An internal error occurred during: "Building workspace". java.lang.StackOverflowError.
It still finishes building (I think), and I can proceed on. But I get an "Internal Error" popup saying that a stack overflow has occurred and that it's recommended that I exit the workbench. I just ignore the popup.
Here is my .log output:
!SESSION 2014-11-13 09:22:21.634 -----------------------------------------------
eclipse.buildId=4.4.0.I20140606-1215
java.version=1.7.0_51
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product -data C:\Workspaces\pvmui-ws3
!ENTRY org.eclipse.egit.ui 2 0 2014-11-13 09:22:31.052
!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
this system level configuration. The Git installation location can be configured on the
Team > Git > Configuration preference page's 'System Settings' tab.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
!ENTRY org.eclipse.egit.ui 2 0 2014-11-13 09:22:31.057
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\XXXXXX'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
!ENTRY org.eclipse.core.jobs 4 2 2014-11-13 09:24:25.196
!MESSAGE An internal error occurred during: "Building workspace".
!STACK 0
java.lang.StackOverflowError
at org.eclipse.vjet.dsf.jst.declaration.JstProxyType.getName(JstProxyType.java:105)
at org.eclipse.vjet.dsf.jst.declaration.JstMixedType.getName(JstMixedType.java:75)
**THESE TWO LINES REPEAT ABOUT 1023 TIMES**
!ENTRY org.eclipse.vjet.eclipse.core 4 0 2014-11-13 09:24:26.431
!MESSAGE There is no jst2dltk translator for node: org.eclipse.vjet.dsf.jst.term.ObjLiteral
!ENTRY org.eclipse.vjet.eclipse.core 4 0 2014-11-13 09:24:26.510
!MESSAGE There is no jst2dltk translator for node: org.eclipse.vjet.dsf.jst.term.ObjLiteral
!ENTRY org.eclipse.ui 4 4 2014-11-13 09:24:27.036
!MESSAGE Conflicting handlers for org.eclipse.vjet.eclipse.debug.ui.launchShortcut.run: {org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension$LaunchCommandHandler@6436afd6} vs {org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension$LaunchCommandHandler@42523e00}
What should I do to avoid this problem?
Increase Thread Stack Size (-Xss) Increasing the stack size can be useful, for example, when the program involves calling a large number of methods or using lots of local variables. This will set the thread's stack size to 4 mb which should prevent the JVM from throwing a java. lang. StackOverflowError .
Solution. The simplest solution is to carefully inspect the stack trace and detect the repeating pattern of line numbers. These line numbers indicate the code that is being recursively called. Once you detect these lines, look for the terminating condition (base condition) for the recursive calls.
The error java. lang. StackOverflowError is thrown to indicate that the application's stack was exhausted, due to deep recursion i.e your program/script recurses too deeply.
JstMixedType seems to accumulate multiple types and concatenates their names. In your case it contains itself (or a proxy around itself, exactly spoken). This should not happen. This seems to be a bug in the VJET core and should be reported.
Possibly you can work around the bug by adapting your configuration/code. Do you have any mixed types which contain themselves? Is this intended? (it probably is) If no, change them.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With