This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 45844 - IDE gets into endless exception cycle
Summary: IDE gets into endless exception cycle
Status: CLOSED FIXED
Alias: None
Product: java
Classification: Unclassified
Component: Unsupported (show other bugs)
Version: 4.x
Hardware: PC Windows ME/2000
: P2 blocker (vote)
Assignee: issues@java
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-07-02 16:17 UTC by vtec
Modified: 2007-09-26 09:14 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
IDE error log for those 2 minutes that are enough to get IDE fail (71.86 KB, text/plain)
2004-07-15 17:51 UTC, vtec
Details

Note You need to log in before you can comment on or make changes to this bug.
Description vtec 2004-07-02 16:17:30 UTC
I have got a source file, the class inside has
several inner class definitions. I want to add
another inner class between those that are already
there so I start to type:

private static class JButtonItemDelegate {...

and the editor suddenly wants to search the MDR
for a non-existing class:
 "com.selima.payroll.swing.util.MnemonicGenerator.JButtonItemDelegate.JMenuItemDelegate"

The name is build from 
1. the outer class name
"com.selima.payroll.swing.util.MnemonicGenerrator

2. the name of inner clas I have started to work on
"JButtonItemDelegate"

3. the name of inner class that follows the
definition I am trying to add.

"JMenuItemDelegate

Result - endless cycle of exceptions - the IDE
have to be shutdown by CTRL-C or TaskManager.

java.lang.IllegalStateException: Class not found
in index:
com.selima.payroll.swing.util.MnemonicGenerator.JButtonItemDelegate.JMenuItemDelegate
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.createElement(MetadataElement.java:1057)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.initChildren(JavaClassImpl.java:534)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.initChildren(JavaClassImpl.java:516)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.initASTElements(JavaClassImpl.java:900)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.getInterfaceNames(JavaClassImpl.java:892)
	at
org.netbeans.jmi.javamodel.JavaClass$Impl.getInterfaceNames(Unknown
Source)
	at
org.netbeans.modules.java.bridge.ClassElementImpl$InterfacesListener.getTypeRefs(ClassElementImpl.java:1021)
	at
org.netbeans.modules.java.bridge.CallableImpl$ExceptionsListener.initElements(CallableImpl.java:587)
	at
org.netbeans.modules.java.bridge.ClassElementImpl$ClassListener.connect(ClassElementImpl.java:875)
	at
org.netbeans.modules.java.bridge.ClassElementImpl.connectListener(ClassElementImpl.java:98)
	at
org.netbeans.modules.java.bridge.ElementImpl.attachedToElement(ElementImpl.java:428)
	at org.openide.src.Element.<init>(Element.java:56)
	at
org.openide.src.MemberElement.<init>(MemberElement.java:36)
	at
org.openide.src.ClassElement.<init>(ClassElement.java:93)
	at
org.openide.src.ClassElement.<init>(ClassElement.java:76)
	at
org.netbeans.modules.java.bridge.DefaultWrapper.wrapClass(DefaultWrapper.java:36)
	at
org.netbeans.modules.java.bridge.DefaultLangModel.createInnerClass(DefaultLangModel.java:164)
	at
org.netbeans.modules.java.bridge.ClassesCollection.createElement(ClassesCollection.java:53)
	at
org.netbeans.modules.java.bridge.ObjectsCollection.cachedElement(ObjectsCollection.java:72)
	at
org.netbeans.modules.java.bridge.ObjectsCollection$FeaturesListener.cachedElement(ObjectsCollection.java:854)
	at
org.netbeans.modules.java.bridge.ObjectsCollection$FeaturesListener.doRemove(ObjectsCollection.java:780)
	at
org.netbeans.modules.java.bridge.ObjectsCollection$FeaturesListener.doChange(ObjectsCollection.java:629)
	at
org.netbeans.modules.java.bridge.ElementImpl$ElementListener.change(ElementImpl.java:1200)
[catch] at
org.netbeans.mdr.util.EventNotifier$EventsDelivery.run(EventNotifier.java:269)
	at java.lang.Thread.run(Thread.java:595)
java.lang.IllegalStateException: Class not found
in index:
com.selima.payroll.swing.util.MnemonicGenerator.JButtonItemDelegate.JMenuItemDelegate
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.createElement(MetadataElement.java:1057)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.initChildren(JavaClassImpl.java:534)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.initChildren(JavaClassImpl.java:516)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.initASTElements(JavaClassImpl.java:900)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.getInterfaceNames(JavaClassImpl.java:892)
	at
org.netbeans.jmi.javamodel.JavaClass$Impl.getInterfaceNames(Unknown
Source)
	at
org.netbeans.modules.java.bridge.ClassElementImpl$InterfacesListener.getTypeRefs(ClassElementImpl.java:1021)
	at
org.netbeans.modules.java.bridge.CallableImpl$ExceptionsListener.initElements(CallableImpl.java:587)
	at
org.netbeans.modules.java.bridge.ClassElementImpl$ClassListener.connect(ClassElementImpl.java:875)
	at
org.netbeans.modules.java.bridge.ClassElementImpl.connectListener(ClassElementImpl.java:98)
	at
org.netbeans.modules.java.bridge.ElementImpl.attachedToElement(ElementImpl.java:428)
	at org.openide.src.Element.<init>(Element.java:56)
	at
org.openide.src.MemberElement.<init>(MemberElement.java:36)
	at
org.openide.src.ClassElement.<init>(ClassElement.java:93)
	at
org.openide.src.ClassElement.<init>(ClassElement.java:76)
	at
org.netbeans.modules.java.bridge.DefaultWrapper.wrapClass(DefaultWrapper.java:36)
	at
org.netbeans.modules.java.bridge.DefaultLangModel.createInnerClass(DefaultLangModel.java:164)
	at
org.netbeans.modules.java.bridge.ClassesCollection.createElement(ClassesCollection.java:53)
	at
org.netbeans.modules.java.bridge.ObjectsCollection.cachedElement(ObjectsCollection.java:72)
	at
org.netbeans.modules.java.bridge.ObjectsCollection.getElements(ObjectsCollection.java:104)
	at
org.netbeans.modules.java.bridge.ClassesCollection.getClasses(ClassesCollection.java:72)
	at
org.netbeans.modules.java.bridge.ClassElementImpl.getClasses(ClassElementImpl.java:572)
	at
org.openide.src.ClassElement.getClasses(ClassElement.java:632)
	at
org.netbeans.modules.java.bridge.SourceElementImpl.addAllClasses(SourceElementImpl.java:149)
	at
org.netbeans.modules.java.bridge.SourceElementImpl.getAllClasses(SourceElementImpl.java:142)
	at
org.netbeans.modules.java.bridge.SrcElementImpl.getAllClasses(SrcElementImpl.java:178)
	at
org.openide.src.SourceElement.getAllClasses(SourceElement.java:242)
	at
org.openide.src.nodes.SourceChildren.addKeysOfType(SourceChildren.java:310)
	at
org.openide.src.nodes.SourceChildren.refreshAllKeys(SourceChildren.java:293)
	at
org.openide.src.nodes.SourceChildren.refreshKeys(SourceChildren.java:279)
	at
org.openide.src.nodes.SourceChildren.access$200(SourceChildren.java:48)
	at
org.openide.src.nodes.SourceChildren$1.run(SourceChildren.java:342)
	at
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at
java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
	at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
	at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
	at
java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
java.lang.Exception: Stack trace
	at java.lang.Thread.dumpStack(Thread.java:1149)
	at
org.netbeans.modules.javacore.ExclusiveMutex.leave(ExclusiveMutex.java:184)
	at
org.netbeans.mdr.handlers.BaseObjectHandler._unlock(BaseObjectHandler.java:208)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.initChildren(JavaClassImpl.java:596)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.initChildren(JavaClassImpl.java:516)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.initASTElements(JavaClassImpl.java:900)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.getInterfaceNames(JavaClassImpl.java:892)
	at
org.netbeans.jmi.javamodel.JavaClass$Impl.getInterfaceNames(Unknown
Source)
	at
org.netbeans.modules.java.bridge.ClassElementImpl$InterfacesListener.getTypeRefs(ClassElementImpl.java:1021)
	at
org.netbeans.modules.java.bridge.CallableImpl$ExceptionsListener.initElements(CallableImpl.java:587)
	at
org.netbeans.modules.java.bridge.ClassElementImpl$ClassListener.connect(ClassElementImpl.java:875)
	at
org.netbeans.modules.java.bridge.ClassElementImpl.connectListener(ClassElementImpl.java:98)
	at
org.netbeans.modules.java.bridge.ElementImpl.attachedToElement(ElementImpl.java:428)
	at org.openide.src.Element.<init>(Element.java:56)
	at
org.openide.src.MemberElement.<init>(MemberElement.java:36)
	at
org.openide.src.ClassElement.<init>(ClassElement.java:93)
	at
org.openide.src.ClassElement.<init>(ClassElement.java:76)
	at
org.netbeans.modules.java.bridge.DefaultWrapper.wrapClass(DefaultWrapper.java:36)
	at
org.netbeans.modules.java.bridge.DefaultLangModel.createInnerClass(DefaultLangModel.java:164)
	at
org.netbeans.modules.java.bridge.ClassesCollection.createElement(ClassesCollection.java:53)
	at
org.netbeans.modules.java.bridge.ObjectsCollection.cachedElement(ObjectsCollection.java:72)
	at
org.netbeans.modules.java.bridge.ObjectsCollection.getElements(ObjectsCollection.java:104)
	at
org.netbeans.modules.java.bridge.ClassesCollection.getClasses(ClassesCollection.java:72)
	at
org.netbeans.modules.java.bridge.ClassElementImpl.getClasses(ClassElementImpl.java:572)
	at
org.openide.src.ClassElement.getClasses(ClassElement.java:632)
	at
org.netbeans.modules.java.bridge.SourceElementImpl.addAllClasses(SourceElementImpl.java:149)
	at
org.netbeans.modules.java.bridge.SourceElementImpl.getAllClasses(SourceElementImpl.java:142)
	at
org.netbeans.modules.java.bridge.SrcElementImpl.getAllClasses(SrcElementImpl.java:178)
	at
org.openide.src.SourceElement.getAllClasses(SourceElement.java:242)
	at
org.openide.src.nodes.SourceChildren.addKeysOfType(SourceChildren.java:310)
	at
org.openide.src.nodes.SourceChildren.refreshAllKeys(SourceChildren.java:293)
	at
org.openide.src.nodes.SourceChildren.refreshKeys(SourceChildren.java:279)
	at
org.openide.src.nodes.SourceChildren.access$200(SourceChildren.java:48)
	at
org.openide.src.nodes.SourceChildren$1.run(SourceChildren.java:342)
	at
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at
java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
	at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
	at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
	at
java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Comment 1 Jan Lahoda 2004-07-02 18:13:56 UTC
Probably problem in java/javacore. BTW what is you build number?
Comment 2 Martin Matula 2004-07-14 14:35:56 UTC
This seems to be fixed. I am not able to reproduce it in the current
build anymore. Please reopen if it appears again and attach the new
stack trace. Thanks.
Comment 3 vtec 2004-07-15 17:51:40 UTC
Created attachment 16285 [details]
IDE error log for those 2 minutes that are enough to get IDE fail
Comment 4 Martin Matula 2004-07-15 18:42:38 UTC
Should be fixed by the recent commit of pflaska:

  Index: MDRParser.java
  ===================================================================
  RCS file:
/cvs/java/javacore/src/org/netbeans/modules/javacore/parser/MDRParser.java,v
  retrieving revision 1.28
  retrieving revision 1.29

There was a bug in the storage inconsistency recovery code.
Comment 5 Jiri Prox 2005-07-11 12:38:47 UTC
I can't reproduce it on 4.2 (200507061800) and there is more than one year
silence in this issue so i feel justified to mark it as verified.
Comment 6 Quality Engineering 2007-09-20 12:49:21 UTC
Reorganization of java component