2014-11-13 4 views
6

जब मैं अपनी प्रोजेक्ट खोलता हूं और ग्रहण इसे बनाने का प्रयास करता हूं, तो मुझे यह त्रुटि मिलती है: "वर्कस्पेस बिल्डिंग" के दौरान एक आंतरिक त्रुटि आई। java.lang.StackOverflowError।java.lang.StackOverflow त्रुटि जब सेन्चा/एक्स्टजेस 5 प्रोजेक्ट

यह अभी भी इमारत (मुझे लगता है) खत्म करता है, और मैं आगे बढ़ सकता हूं। लेकिन मुझे एक "आंतरिक त्रुटि" पॉपअप मिल रहा है जिसमें कहा गया है कि एक स्टैक ओवरफ़्लो हुआ है और यह अनुशंसा की जाती है कि मैं वर्कबेंच से बाहर निकलें। मैं सिर्फ पॉपअप को अनदेखा करता हूं।

यहाँ मेरी .log उत्पादन होता है:

!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.la[email protected]6436afd6} vs {org.eclipse.debug.internal.ui.la[email protected]42523e00} 

मैं इस समस्या से बचने के लिए क्या करना चाहिए?

उत्तर

2

JstMixedType कई प्रकारों को जमा करने और उनके नामों को जोड़ता प्रतीत होता है। आपके मामले में यह स्वयं (या अपने चारों ओर एक प्रॉक्सी, बिल्कुल बोली जाती है) शामिल है। ऐसा न हो कि। यह वीजेईटी कोर में एक बग प्रतीत होता है और reported होना चाहिए।

संभवतः आप अपने कॉन्फ़िगरेशन/कोड को अनुकूलित करके बग के आसपास काम कर सकते हैं। क्या आपके पास कोई मिश्रित प्रकार है जिसमें स्वयं शामिल है? क्या इसका इरादा है? (यह शायद है) यदि नहीं, तो उन्हें बदलें।

0

StackOverflowError साथ कैसे निपटने के लिए:

सरल समाधान ध्यान से स्टैक ट्रेस का निरीक्षण किया और लाइन नंबर के दोहराए जाने वाले पैटर्न का पता लगाने के लिए है। ये पंक्ति संख्या कोड को बार-बार कॉल करने का संकेत देती हैं। एक बार जब आप इन पंक्तियों का पता लगा लेते हैं, तो आपको सावधानीपूर्वक अपने कोड का निरीक्षण करना चाहिए और समझना चाहिए कि रिकर्सन कभी समाप्त क्यों नहीं होता है।


आप सत्यापित कर दिया है कि प्रत्यावर्तन सही ढंग से लागू किया जाता है, आप आमंत्रण की एक बड़ी संख्या अनुमति देने के लिए ढेर के आकार में वृद्धि कर सकते हैं। जावा वर्चुअल मशीन (JVM) के आधार पर स्थापित, डिफ़ॉल्ट थ्रेड स्टैक आकार 512 केबी या 1 एमबी के बराबर हो सकता है। आप -Xss ध्वज का उपयोग कर थ्रेड स्टैक आकार को बढ़ा सकते हैं। यह ध्वज परियोजना के कॉन्फ़िगरेशन के माध्यम से या कमांड लाइन के माध्यम से निर्दिष्ट किया जा सकता है। -Xss तर्क का प्रारूप है:

-Xss<size>[g|G|m|M|k|K] 

वैसे ऐसा लगता है एक ग्रहण बग (इस ref पढ़ें) जो नवीनतम संस्करण में तय किया गया है।

संबंधित मुद्दे