Bug 210052 - Throw java.lang.StackOverflowError after I use Remote Java Application Mode to debug web app
Summary: Throw java.lang.StackOverflowError after I use Remote Java Application Mode t...
Status: VERIFIED DUPLICATE of bug 186410
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.4   Edit
Hardware: PC Windows 2000
: P3 major (vote)
Target Milestone: 3.3.2   Edit
Assignee: Frederic Fusier CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-11-15 22:01 EST by Pan Feng CLA
Modified: 2007-12-12 03:45 EST (History)
3 users (show)

See Also:


Attachments
Eclipse log file (258.56 KB, application/octet-stream)
2007-11-15 22:01 EST, Pan Feng CLA
no flags Details
Screenshot of error message (236.84 KB, image/jpeg)
2007-11-15 22:03 EST, Pan Feng CLA
no flags Details
log file after I install org.eclipse.jdt.core_3.3.2.z20071102-1627.jar (203.54 KB, application/octet-stream)
2007-11-28 22:06 EST, Pan Feng CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pan Feng CLA 2007-11-15 22:01:40 EST
Created attachment 83025 [details]
Eclipse log file

Build ID: I20070625-1500

Steps To Reproduce:
1.Download the source codes of Alfresco
2.Deploy it into Tomcat
3.Use Remote Java Application to debug web application
4. Press F6, debug step by step (set a breakpoint in LoginBean.login())
5. throw  StackOverflowError 
6. restart Eclipse, the error dialog still be display, even if I do nothing.


More information: (Screenshot and log file are in the attachment)
There are two error message in the log file.
1. 
!ENTRY org.eclipse.core.jobs 4 2 2007-11-16 10:33:59.320
!MESSAGE An internal error occurred during: "Override indicator installation job".
!STACK 0
java.lang.StackOverflowError
	at org.eclipse.jdt.internal.compiler.util.HashtableOfPackage.get(HashtableOfPackage.java:51)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getPackage0(LookupEnvironment.java:939)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getType(LookupEnvironment.java:994)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getResolvedType(LookupEnvironment.java:946)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getJavaLangObject(Scope.java:2010)
	at org.eclipse.jdt.core.dom.DefaultBindingResolver.resolveWellKnownType(DefaultBindingResolver.java:1635)
	at org.eclipse.jdt.core.dom.RecoveredTypeBinding.getSuperclass(RecoveredTypeBinding.java:244)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:444)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
  ......

2. After I restart Eclipse, press Ctrl+Shift+T for opening Open Type Dialog, input any class name.
ENTRY org.eclipse.jdt.debug 4 120 2007-11-15 17:13:25.752
!MESSAGE Internal error logged from JDI Debug: 
!STACK 0
com.sun.jdi.VMDisconnectedException: Got IOException from Virtual Machine
	at org.eclipse.jdi.internal.connect.PacketSendManager.sendPacket(PacketSendManager.java:80)
	at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:170)
	at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:192)
	at org.eclipse.jdi.internal.request.EventRequestImpl.disable(EventRequestImpl.java:199)
	at org.eclipse.jdi.internal.request.EventRequestManagerImpl.deleteEventRequest(EventRequestManagerImpl.java:376)
	at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.removeRequests(JavaBreakpoint.java:663)
	at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.removeFromTarget(JavaBreakpoint.java:616)
	at org.eclipse.jdt.internal.debug.core.breakpoints.JavaLineBreakpoint.removeFromTarget(JavaLineBreakpoint.java:177)
	at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.removeAllBreakpoints(JDIDebugTarget.java:1445)
	at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.cleanup(JDIDebugTarget.java:1403)
	at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.shutdown(JDIDebugTarget.java:1536)
	at org.eclipse.jdt.internal.debug.core.JDIDebugPlugin.stop(JDIDebugPlugin.java:272)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$3.run(BundleContextImpl.java:1040)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(BundleContextImpl.java:1036)
	at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(BundleHost.java:457)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.suspend(AbstractBundle.java:526)
	at org.eclipse.osgi.framework.internal.core.Framework.suspendBundle(Framework.java:1148)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.decFWSL(StartLevelManager.java:675)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:291)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.shutdown(StartLevelManager.java:261)
	at org.eclipse.osgi.framework.internal.core.SystemBundle.suspend(SystemBundle.java:188)
	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:622)
	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:525)
	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.shutdown(EclipseStarter.java:399)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:197)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
Comment 1 Pan Feng CLA 2007-11-15 22:03:38 EST
Created attachment 83026 [details]
Screenshot of error message
Comment 2 Pan Feng CLA 2007-11-15 23:26:05 EST
  I have restart Eclipse several times, but the error message windows still be displayed over and over when I do some basic operation. e.g. use Open Type dialog for finding Class in jar.

  At first I assume the issue may be caused by JDK. So I changed the JDK to jdk1.6.0_02, but the issue still existed.

The following is the meassage that I copied from log file:

!ENTRY org.eclipse.core.jobs 4 2 2007-11-16 12:18:51.191
!MESSAGE An internal error occurred during: "Decoration Calculation".
!STACK 0
java.lang.StackOverflowError
	at org.eclipse.jdt.internal.compiler.util.HashtableOfPackage.get(HashtableOfPackage.java:51)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getPackage0(LookupEnvironment.java:939)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getType(LookupEnvironment.java:994)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getResolvedType(LookupEnvironment.java:946)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getJavaLangObject(Scope.java:2010)
	at org.eclipse.jdt.core.dom.DefaultBindingResolver.resolveWellKnownType(DefaultBindingResolver.java:1635)
	at org.eclipse.jdt.core.dom.RecoveredTypeBinding.getSuperclass(RecoveredTypeBinding.java:244)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:444)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)
	at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:446)

.......
Comment 3 Philipe Mulet CLA 2007-11-21 13:07:26 EST
smells like bug 186410. Is this a dup ?
Comment 4 Frederic Fusier CLA 2007-11-21 13:55:25 EST
Indeed this is a duplicate as the stack trace is exactly the same.


*** This bug has been marked as a duplicate of bug 186410 ***
Comment 5 Pan Feng CLA 2007-11-22 00:04:15 EST
I am not sure that the issue is duplicate bug compared with 186410.
I encountered the bug when I debugged the Remote Application, you can see the screen shot. 
Then I restart Eclipse, but the error message dialog still pop up, that is very strange, because I didn't debug the application again, I just do some navigation operation.
The error message will be displayed again and again until I closed the project.
 
Comment 6 Frederic Fusier CLA 2007-11-22 02:41:36 EST
(In reply to comment #5)
> I am not sure that the issue is duplicate bug compared with 186410.
> I encountered the bug when I debugged the Remote Application, you can see the
> screen shot. 
> Then I restart Eclipse, but the error message dialog still pop up, that is very
> strange, because I didn't debug the application again, I just do some
> navigation operation.
> The error message will be displayed again and again until I closed the project.
> 
> 
With a stack trace *perfectly* the same than bug 186410, I have no real doubt about the fact that this is a duplicate...

However, to be 100% sure, the easiest way to verify that it's a real duplicate is to install the patch provided at: http://www.eclipse.org/jdt/core/r3.3/index.php#UPDATES

Stop all eclipse sessions, copy the 3.3.2 preview Jar file into the
<Eclipse install dir>/eclipse/plugins directory and restart eclipse.

If the Stack Overflow still happens then I was wrong and you have to reopen this bug, otherwise it was really a duplicate as the patch fixed it.
Comment 7 Pan Feng CLA 2007-11-27 04:37:21 EST
It seems that the bug was not resolved. The following is the detail info.

I download org.eclipse.jdt.core_3.3.2.z20071102-1627.jar from the URL that you provided for me. And copy the jar file into %ECLIPSE_HOME%\plugins directory.
Then I restart eclipse, remote debug for the alfresco project, I set a breakpoint into a method (e.g. LoginBean.login()), then I always press F6 for step by step debug, after a while, the StackOverflowError was be thrown.

So I think it maybe not a duplicate bug. Thanks! 

Comment 8 Pan Feng CLA 2007-11-27 04:46:34 EST
BTW, after I installed org.eclipse.jdt.core_3.3.2.z20071102-1627.jar, Open Type Dialog can not work correctly. It will throw NullPointerException when I input any class name into the text box.

The detail error message:
An internal error occurred during: "Items filtering".
java.lang.NullPointerException
Comment 9 Frederic Fusier CLA 2007-11-27 06:20:50 EST
(In reply to comment #7)
> It seems that the bug was not resolved. The following is the detail info.
> 
> I download org.eclipse.jdt.core_3.3.2.z20071102-1627.jar from the URL that you
> provided for me. And copy the jar file into %ECLIPSE_HOME%\plugins directory.
> Then I restart eclipse, remote debug for the alfresco project, I set a
> breakpoint into a method (e.g. LoginBean.login()), then I always press F6 for
> step by step debug, after a while, the StackOverflowError was be thrown.
> 
> So I think it maybe not a duplicate bug. Thanks! 
> 
Did you restart your eclipse session using -clean argument?
Comment 10 Pan Feng CLA 2007-11-28 03:59:58 EST
Yes, actual I used a shortcut icon for launching eclipse, which has a param "-clean".

BTW, I downloaded the latest eclipse 3.3.2 build, then I found it also will throw the exception.

Version: 3.3.2
Build id: M20071121-0800 
Comment 11 Frederic Fusier CLA 2007-11-28 06:49:22 EST
(In reply to comment #10)
> Yes, actual I used a shortcut icon for launching eclipse, which has a param
> "-clean".
> 
> BTW, I downloaded the latest eclipse 3.3.2 build, then I found it also will
> throw the exception.
> 
> Version: 3.3.2
> Build id: M20071121-0800 
> 
Could you provide the new stack trace you got after having installed this last maintenance build?
Comment 12 Pan Feng CLA 2007-11-28 22:06:20 EST
Created attachment 84034 [details]
log file after I install org.eclipse.jdt.core_3.3.2.z20071102-1627.jar
Comment 13 Frederic Fusier CLA 2007-11-29 03:55:10 EST
(In reply to comment #12)
> Created an attachment (id=84034) [details]
> log file after I install org.eclipse.jdt.core_3.3.2.z20071102-1627.jar
> 
I thought that the 3.3.2 preview Jar filed was up-to-date, but I verified and realized that it was not the case. I've now updated it, sorry for this waste of time.

However, it should have worked with last maintenance build M20071121-0800. Perhaps didn't you remove the org.eclipse.jdt.core_3.3.2.z20071102-1627.jar file after having installed this new build?

Comment 14 Pan Feng CLA 2007-11-30 00:37:45 EST
(In reply to comment #13)
> (In reply to comment #12)
> > Created an attachment (id=84034) [details] [details]
> > log file after I install org.eclipse.jdt.core_3.3.2.z20071102-1627.jar
> > 
> I thought that the 3.3.2 preview Jar filed was up-to-date, but I verified and
> realized that it was not the case. I've now updated it, sorry for this waste of
> time.
> 
> However, it should have worked with last maintenance build M20071121-0800.
> Perhaps didn't you remove the org.eclipse.jdt.core_3.3.2.z20071102-1627.jar
> file after having installed this new build?
> 

Thanks for your reply. 
I have two Eclipse app, one is Eclipse 3.3, the other is 20071121-0800
I just installed org.eclipse.jdt.core_3.3.2.z20071102-1627.jar into Eclipse 3.3. For maintenance build M20071121-0800, I didn't install it in. 
So I wonder why I still can reproduce the issue on M20071121-0800.
Comment 15 Frederic Fusier CLA 2007-11-30 01:29:31 EST
(In reply to comment #14)
> Thanks for your reply. 
> I have two Eclipse app, one is Eclipse 3.3, the other is 20071121-0800
> I just installed org.eclipse.jdt.core_3.3.2.z20071102-1627.jar into Eclipse
> 3.3. For maintenance build M20071121-0800, I didn't install it in. 
> So I wonder why I still can reproduce the issue on M20071121-0800.
> 
Does the stack trace you attached on comment 12 was produced with your 3.3+patch install or with the M20071121-0800 one? If this is with the former, then please reattach a trace of the exception you get with M20071121-0800 build.

Otherwise, if this is the latter, then I really do not understand as I have verified that this build contains the version including the fix... and your stack trace does not match it! In this case, can you go into the eclipse/plugins directory of your M20071127-0800 install and let me know if the name of the JDT/Core jar file is org.eclipse.jdt.core_3.3.1.v_785_R33x.jar?

Also, could you reinstall the patch (which now contains the fix) on top of your 3.3 and let me know if the exception still happen there? If so, then please reattach the exception stack trace.

Thanks
Comment 16 Pan Feng CLA 2007-12-06 02:27:54 EST
(In reply to comment #15)
> (In reply to comment #14)
> > Thanks for your reply. 
> > I have two Eclipse app, one is Eclipse 3.3, the other is 20071121-0800
> > I just installed org.eclipse.jdt.core_3.3.2.z20071102-1627.jar into Eclipse
> > 3.3. For maintenance build M20071121-0800, I didn't install it in. 
> > So I wonder why I still can reproduce the issue on M20071121-0800.
> > 
> Does the stack trace you attached on comment 12 was produced with your
> 3.3+patch install or with the M20071121-0800 one? If this is with the former,
> then please reattach a trace of the exception you get with M20071121-0800
> build.
> 
> Otherwise, if this is the latter, then I really do not understand as I have
> verified that this build contains the version including the fix... and your
> stack trace does not match it! In this case, can you go into the
> eclipse/plugins directory of your M20071127-0800 install and let me know if the
> name of the JDT/Core jar file is org.eclipse.jdt.core_3.3.1.v_785_R33x.jar?
> 
> Also, could you reinstall the patch (which now contains the fix) on top of your
> 3.3 and let me know if the exception still happen there? If so, then please
> reattach the exception stack trace.
> 
> Thanks
> 

Sorry, recently I am busy, so I can not reply in time.

Yes, the log file is produced from 3.3+patch install.
When I read the M20071121-0800 log file, I didn't find any  java.lang.StackOverflowError.  
So if I can reproduce the bug again, I will let you know. Otherwise, the bug should be fixed. Thanks!
Comment 17 Eric Jodet CLA 2007-12-12 03:45:16 EST
Verified for 3.4 M4 using build I20071211-0010