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 51249 - Unexpected exception while browsing WAR file inside dist dir (NB hangs)
Summary: Unexpected exception while browsing WAR file inside dist dir (NB hangs)
Status: RESOLVED FIXED
Alias: None
Product: java
Classification: Unclassified
Component: Unsupported (show other bugs)
Version: 4.x
Hardware: PC Windows XP
: P3 blocker (vote)
Assignee: issues@java
URL:
Keywords: RANDOM
Depends on:
Blocks:
 
Reported: 2004-11-08 03:13 UTC by wqtnetbeans
Modified: 2004-11-11 07:53 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
"unexpected exception" while browsing WAR file built in "dist" (221.29 KB, text/plain)
2004-11-08 03:15 UTC, wqtnetbeans
Details
ex dump (87.71 KB, text/plain)
2004-11-10 00:25 UTC, wqtnetbeans
Details

Note You need to log in before you can comment on or make changes to this bug.
Description wqtnetbeans 2004-11-08 03:13:28 UTC
Version: nb4.0 qbuild 20041102

I was browsing the contents of a WAR file built
inside the "dist" folder. And the "unexpected
exception" window popped up causing NB to hang.
(Had to shut down by killing the NB execution
process.)

Will attach message.log
Comment 1 wqtnetbeans 2004-11-08 03:15:26 UTC
Created attachment 18779 [details]
"unexpected exception" while browsing WAR file built in "dist"
Comment 2 David Konecny 2004-11-08 10:49:03 UTC
When IDE hangs press CTRL+Break in console (console is shown only when
you start IDE with nb.exe instead of netbeans.exe) to get threads
dump. Without threads dump it is hard to help. In the log there is lot
of exceptions. The one which is closest to browsing WAR is just
INFORMATIONAL and says that file cannot be read for some reason, e.g.
was deleted in the meantime, etc., there can be many reasons for that,
but it is not cause of IDE hang.

Please, try to reproduce and attach thread dumps otherwise we cannot
resolve this problem. Thanks.
Comment 3 wqtnetbeans 2004-11-09 01:30:21 UTC
I reproduced the error and following is the exception dumped using
"ctrl + break" in the console. 

Plus this time on top of the "unexpected exception" window, the
"Scanning project classpaths" window also shows up. The the IDE hangs
as before.

Thanks!

------------------
        at java.lang.Object.wait(Native Method)
        - waiting on <0x109e95c0> (a java.util.TaskQueue)
        at java.util.TimerThread.mainLoop(Timer.java:429)
        - locked <0x109e95c0> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:382)

"CLI Requests Server" daemon prio=5 tid=0x009c3c70 nid=0x924 runnable
[2e8f000..
2e8fd8c]
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
        - locked <0x109e96e8> (a java.net.PlainSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:448)
        at java.net.ServerSocket.accept(ServerSocket.java:419)
        at org.netbeans.CLIHandler$Server.run(CLIHandler.java:744)

"Signal Dispatcher" daemon prio=10 tid=0x0003e498 nid=0x90c waiting on
condition
 [0..0]

"Finalizer" daemon prio=9 tid=0x00940760 nid=0x904 in Object.wait()
[2b4f000..2b
4fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x12b9a7d8> (a org.openide.util.Mutex$QueueCell)
        at java.lang.Object.wait(Object.java:429)
        at org.openide.util.Mutex$QueueCell.sleep(Mutex.java:1263)
        - locked <0x12b9a7d8> (a org.openide.util.Mutex$QueueCell)
        at org.openide.util.Mutex.enter(Mutex.java:554)
        at org.openide.util.Mutex.writeEnter(Mutex.java:454)
        at org.openide.util.Mutex.access$100(Mutex.java:72)
        at
org.openide.util.Mutex$Privileged.enterWriteAccess(Mutex.java:1312)
        at
org.openide.nodes.Children.finalizedChildrenArray(Children.java:594)
        at org.openide.nodes.ChildrenArray.finalize(ChildrenArray.java:42)
        at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
        at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
        at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)

"Reference Handler" daemon prio=10 tid=0x0093f3e0 nid=0x900 in
Object.wait() [2b
0f000..2b0fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x109e95d0> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:429)
        at
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
        - locked <0x109e95d0> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=5 tid=0x0097b6f8 nid=0x8fc runnable

"VM Periodic Task Thread" prio=10 tid=0x0097cc90 nid=0x914 waiting on
condition

"Suspend Checker Thread" prio=10 tid=0x009427e8 nid=0x908 runnable
[org.netbeans.javacore] INFORMATIONAL *********** Exception occurred
***********
* at 7:28 PM on Nov 8, 2004
[catch]java.lang.Exception: rollback!!!
        at
org.netbeans.modules.javacore.ExclusiveMutex.leave(ExclusiveMutex.jav
a:302)
        at
org.netbeans.mdr.NBMDRepositoryImpl.endTrans(NBMDRepositoryImpl.java:
248)
        at
org.netbeans.modules.javacore.JMManager.resolveCPRoot(JMManager.java:
1038)
        at
org.netbeans.modules.javacore.JMManager.resolveJavaExtent(JMManager.j
ava:414)
        at
org.netbeans.modules.javacore.JMManager.getResource(JMManager.java:50
7)
        at
org.netbeans.modules.javacore.JMManager.getResource(JMManager.java:46
7)
        at
org.netbeans.modules.javacore.JMManager.getResource(JMManager.java:44
2)
        at
org.netbeans.modules.clazz.SourceElementImpl.initializeData(SourceEle
mentImpl.java:101)
        at
org.netbeans.modules.clazz.SourceElementImpl.attachedToElement(Source
ElementImpl.java:91)
        at org.openide.src.Element.<init>(Element.java:54)
        at org.openide.src.SourceElement.<init>(SourceElement.java:49)
        at
org.netbeans.modules.clazz.ClassDataObject.getSource(ClassDataObject.
java:174)
        at
org.netbeans.modules.clazz.ClassDataNode.initialize(ClassDataNode.jav
a:96)
        at
org.netbeans.modules.clazz.ClassDataNode.<init>(ClassDataNode.java:76
)
        at
org.netbeans.modules.clazz.ClassDataNode.<init>(ClassDataNode.java:71
)
        at
org.netbeans.modules.clazz.CompiledDataNode.<init>(CompiledDataNode.j
ava:57)
        at
org.netbeans.modules.clazz.CompiledDataObject.createNodeDelegate(Comp
iledDataObject.java:107)
        at org.openide.loaders.DataObject$1.run(DataObject.java:249)
        at org.openide.util.Mutex.readAccess(Mutex.java:243)
        at
org.openide.loaders.DataObject.getNodeDelegate(DataObject.java:245)
        at
org.openide.loaders.DataObject.getClonedNodeDelegate(DataObject.java:
270)
        at
org.openide.loaders.FolderChildren.createNodes(FolderChildren.java:14
3)
        at org.openide.nodes.Children$Keys$KE.nodes(Children.java:2028)
        at
org.openide.nodes.ChildrenArray.nodesFor(ChildrenArray.java:112)
        at org.openide.nodes.Children$Info.nodes(Children.java:1125)
        at org.openide.nodes.Children.updateAdd(Children.java:933)
        at org.openide.nodes.Children.setEntries(Children.java:720)
        at org.openide.nodes.Children$5.run(Children.java:1919)
        at org.openide.util.Mutex.postRequest(Mutex.java:979)
        at org.openide.util.Mutex.postWriteRequest(Mutex.java:430)
        at org.openide.nodes.Children$Keys.applyKeys(Children.java:1927)
        at org.openide.nodes.Children$Keys.setKeys(Children.java:1886)
        at
org.openide.loaders.FolderChildren.access$500(FolderChildren.java:33)

        at
org.openide.loaders.FolderChildren$ChildrenRefreshRunnable.run(Folder
Children.java:251)
        at org.openide.util.Task.run(Task.java:136)
        at
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:330)

        at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java
:686)
*********** Exception occurred ************ at 7:28 PM on Nov 8, 2004
java.lang.NullPointerException
        at
org.netbeans.mdr.handlers.MDRClassLoader.resolveInterface(MDRClassLoa
der.java:98)
        at
org.netbeans.mdr.handlers.BaseObjectHandler.resolveClass(BaseObjectHa
ndler.java:147)
        at
org.netbeans.mdr.NBMDRepositoryImpl.getHandler(NBMDRepositoryImpl.jav
a:596)
        at
org.netbeans.mdr.NBMDRepositoryImpl.getExtent(NBMDRepositoryImpl.java
:314)
        at
org.netbeans.modules.javacore.JMManager.resolveCPRoot(JMManager.java:
946)
        at
org.netbeans.modules.javacore.JMManager.resolveJavaExtent(JMManager.j
ava:414)
[catch] at
org.netbeans.modules.javacore.JMManager.getResource(JMManager.java:50
7)
        at
org.netbeans.modules.javacore.JMManager.getResource(JMManager.java:46
7)
        at
org.netbeans.modules.javacore.JMManager.getResource(JMManager.java:44
2)
        at
org.netbeans.modules.clazz.SourceElementImpl.initializeData(SourceEle
mentImpl.java:101)
        at
org.netbeans.modules.clazz.SourceElementImpl.attachedToElement(Source
ElementImpl.java:91)
        at org.openide.src.Element.<init>(Element.java:54)
        at org.openide.src.SourceElement.<init>(SourceElement.java:49)
        at
org.netbeans.modules.clazz.ClassDataObject.getSource(ClassDataObject.
java:174)
        at
org.netbeans.modules.clazz.ClassDataNode.initialize(ClassDataNode.jav
a:96)
        at
org.netbeans.modules.clazz.ClassDataNode.<init>(ClassDataNode.java:76
)
        at
org.netbeans.modules.clazz.ClassDataNode.<init>(ClassDataNode.java:71
)
        at
org.netbeans.modules.clazz.CompiledDataNode.<init>(CompiledDataNode.j
ava:57)
        at
org.netbeans.modules.clazz.CompiledDataObject.createNodeDelegate(Comp
iledDataObject.java:107)
        at org.openide.loaders.DataObject$1.run(DataObject.java:249)
        at org.openide.util.Mutex.readAccess(Mutex.java:243)
        at
org.openide.loaders.DataObject.getNodeDelegate(DataObject.java:245)
        at
org.openide.loaders.DataObject.getClonedNodeDelegate(DataObject.java:
270)
        at
org.openide.loaders.FolderChildren.createNodes(FolderChildren.java:14
3)
        at org.openide.nodes.Children$Keys$KE.nodes(Children.java:2028)
        at
org.openide.nodes.ChildrenArray.nodesFor(ChildrenArray.java:112)
        at org.openide.nodes.Children$Info.nodes(Children.java:1125)
        at org.openide.nodes.Children.updateAdd(Children.java:933)
        at org.openide.nodes.Children.setEntries(Children.java:720)
        at org.openide.nodes.Children$5.run(Children.java:1919)
        at org.openide.util.Mutex.postRequest(Mutex.java:979)
        at org.openide.util.Mutex.postWriteRequest(Mutex.java:430)
        at org.openide.nodes.Children$Keys.applyKeys(Children.java:1927)
        at org.openide.nodes.Children$Keys.setKeys(Children.java:1886)
        at
org.openide.loaders.FolderChildren.access$500(FolderChildren.java:33)

        at
org.openide.loaders.FolderChildren$ChildrenRefreshRunnable.run(Folder
Children.java:251)
        at org.openide.util.Task.run(Task.java:136)
        at
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:330)

        at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java
:686)
[org.netbeans.javacore] INFORMATIONAL *********** Exception occurred
***********
* at 7:29 PM on Nov 8, 2004
[catch]java.lang.Exception: rollback!!!
        at
org.netbeans.modules.javacore.ExclusiveMutex.leave(ExclusiveMutex.jav
a:302)
        at
org.netbeans.mdr.NBMDRepositoryImpl.endTrans(NBMDRepositoryImpl.java:
248)
        at
org.netbeans.modules.javacore.JMManager.resolveCPRoot(JMManager.java:
1038)
        at
org.netbeans.modules.javacore.JMManager.resolveJavaExtent(JMManager.j
ava:414)
        at
org.netbeans.modules.javacore.JMManager.getResource(JMManager.java:50
7)
        at
org.netbeans.modules.javacore.JMManager.getResource(JMManager.java:46
7)
        at
org.netbeans.modules.javacore.JMManager.getResource(JMManager.java:44
2)
        at
org.netbeans.modules.clazz.SourceElementImpl.initializeData(SourceEle
mentImpl.java:101)
        at
org.netbeans.modules.clazz.SourceElementImpl.attachedToElement(Source
ElementImpl.java:91)
        at org.openide.src.Element.<init>(Element.java:54)
        at org.openide.src.SourceElement.<init>(SourceElement.java:49)
        at
org.netbeans.modules.clazz.ClassDataObject.getSource(ClassDataObject.
java:174)
        at
org.netbeans.modules.clazz.ClassDataNode.initialize(ClassDataNode.jav
a:96)
        at
org.netbeans.modules.clazz.ClassDataNode.<init>(ClassDataNode.java:76
)
        at
org.netbeans.modules.clazz.ClassDataNode.<init>(ClassDataNode.java:71
)
        at
org.netbeans.modules.clazz.CompiledDataNode.<init>(CompiledDataNode.j
ava:57)
        at
org.netbeans.modules.clazz.CompiledDataObject.createNodeDelegate(Comp
iledDataObject.java:107)
        at org.openide.loaders.DataObject$1.run(DataObject.java:249)
        at org.openide.util.Mutex.readAccess(Mutex.java:243)
        at
org.openide.loaders.DataObject.getNodeDelegate(DataObject.java:245)
        at
org.openide.loaders.DataObject.getClonedNodeDelegate(DataObject.java:
270)
        at
org.openide.loaders.FolderChildren.createNodes(FolderChildren.java:14
3)
        at org.openide.nodes.Children$Keys$KE.nodes(Children.java:2028)
        at
org.openide.nodes.ChildrenArray.nodesFor(ChildrenArray.java:112)
        at org.openide.nodes.Children$Info.nodes(Children.java:1125)
        at org.openide.nodes.Children.updateAdd(Children.java:933)
        at org.openide.nodes.Children.setEntries(Children.java:720)
        at org.openide.nodes.Children$5.run(Children.java:1919)
        at org.openide.util.Mutex.postRequest(Mutex.java:979)
        at org.openide.util.Mutex.postWriteRequest(Mutex.java:430)
        at org.openide.nodes.Children$Keys.applyKeys(Children.java:1927)
        at org.openide.nodes.Children$Keys.setKeys(Children.java:1886)
        at
org.openide.loaders.FolderChildren.access$500(FolderChildren.java:33)

        at
org.openide.loaders.FolderChildren$ChildrenRefreshRunnable.run(Folder
Children.java:251)
        at org.openide.util.Task.run(Task.java:136)
        at
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:330)

        at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java
:686)
*********** Exception occurred ************ at 7:29 PM on Nov 8, 2004
java.lang.NullPointerException
        at
org.netbeans.mdr.handlers.MDRClassLoader.resolveInterface(MDRClassLoa
der.java:98)
        at
org.netbeans.mdr.handlers.BaseObjectHandler.resolveClass(BaseObjectHa
ndler.java:147)
        at
org.netbeans.mdr.NBMDRepositoryImpl.getHandler(NBMDRepositoryImpl.jav
a:596)
        at
org.netbeans.mdr.NBMDRepositoryImpl.getExtent(NBMDRepositoryImpl.java
:314)
        at
org.netbeans.modules.javacore.JMManager.resolveCPRoot(JMManager.java:
946)
        at
org.netbeans.modules.javacore.JMManager.resolveJavaExtent(JMManager.j
ava:414)
[catch] at
org.netbeans.modules.javacore.JMManager.getResource(JMManager.java:50
7)
        at
org.netbeans.modules.javacore.JMManager.getResource(JMManager.java:46
7)
        at
org.netbeans.modules.javacore.JMManager.getResource(JMManager.java:44
2)
        at
org.netbeans.modules.clazz.SourceElementImpl.initializeData(SourceEle
mentImpl.java:101)
        at
org.netbeans.modules.clazz.SourceElementImpl.attachedToElement(Source
ElementImpl.java:91)
        at org.openide.src.Element.<init>(Element.java:54)
        at org.openide.src.SourceElement.<init>(SourceElement.java:49)
        at
org.netbeans.modules.clazz.ClassDataObject.getSource(ClassDataObject.
java:174)
        at
org.netbeans.modules.clazz.ClassDataNode.initialize(ClassDataNode.jav
a:96)
        at
org.netbeans.modules.clazz.ClassDataNode.<init>(ClassDataNode.java:76
)
        at
org.netbeans.modules.clazz.ClassDataNode.<init>(ClassDataNode.java:71
)
        at
org.netbeans.modules.clazz.CompiledDataNode.<init>(CompiledDataNode.j
ava:57)
        at
org.netbeans.modules.clazz.CompiledDataObject.createNodeDelegate(Comp
iledDataObject.java:107)
        at org.openide.loaders.DataObject$1.run(DataObject.java:249)
        at org.openide.util.Mutex.readAccess(Mutex.java:243)
        at
org.openide.loaders.DataObject.getNodeDelegate(DataObject.java:245)
        at
org.openide.loaders.DataObject.getClonedNodeDelegate(DataObject.java:
270)
        at
org.openide.loaders.FolderChildren.createNodes(FolderChildren.java:14
3)
        at org.openide.nodes.Children$Keys$KE.nodes(Children.java:2028)
        at
org.openide.nodes.ChildrenArray.nodesFor(ChildrenArray.java:112)
        at org.openide.nodes.Children$Info.nodes(Children.java:1125)
        at org.openide.nodes.Children.updateAdd(Children.java:933)
        at org.openide.nodes.Children.setEntries(Children.java:720)
        at org.openide.nodes.Children$5.run(Children.java:1919)
        at org.openide.util.Mutex.postRequest(Mutex.java:979)
        at org.openide.util.Mutex.postWriteRequest(Mutex.java:430)
        at org.openide.nodes.Children$Keys.applyKeys(Children.java:1927)
        at org.openide.nodes.Children$Keys.setKeys(Children.java:1886)
        at
org.openide.loaders.FolderChildren.access$500(FolderChildren.java:33)

        at
org.openide.loaders.FolderChildren$ChildrenRefreshRunnable.run(Folder
Children.java:251)
        at org.openide.util.Task.run(Task.java:136)
        at
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:330)

        at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java
:686)
Comment 4 David Konecny 2004-11-09 09:23:40 UTC
Thank you. Unfortunately the thread dump is not complete - the most
important thread like AWT one is missing in the listing. Could you
please try it once again if possible and press CTRL+BREAK couple of
times - 3x or 4x. When IDE is really deadlocked the threads should be
always the same. Also, please, rather then pasting into description
attach it as file - it is easier to read. Thanks!

Anyway, the NPE which you attached is from MDR so I'm passing there
for evaluation.
Comment 5 wqtnetbeans 2004-11-10 00:25:17 UTC
Created attachment 18809 [details]
ex dump
Comment 6 wqtnetbeans 2004-11-10 00:26:48 UTC
Hi, sorry about the incomplete ex dump. I did "ctrl + break" 4 times
this time, and put the file as an attachment. Let me know if it's
still problematic.

Thanks,
Qingtian

Comment 7 David Konecny 2004-11-10 10:24:00 UTC
Thank you! This time is everything OK. From your replies it looks that
you are able to reproduce the problem pretty easy - I'm increasing
priority to get this issue evaluated ASAP.
Comment 8 Martin Matula 2004-11-10 12:27:44 UTC
I am unable to reproduce this. Since this seems to be random and rare
and most likely it is already fixed, I am setting priority back to P3.
It seems that the bug is caused by a storage insonsistency, that was
caused by issue 50842 which is fixed now.
Could you please remove $nbuser/var/cache/mdrstorage dir and verify
that this works in the latest dev build?
Comment 9 wqtnetbeans 2004-11-11 00:49:18 UTC
Hi, I removed $nbuser/var/cache/mdrstorage dir with the 11-07 daily
build. And the problem went away!

Only that the first time I browsed into a dir under
WEB-INF/classes/com of the dist WAR that contains .java files, the
"scan classpaths" windows popped up for a while. Guess it's normal?

Thanks.
Comment 10 Martin Matula 2004-11-11 07:53:26 UTC
Yes the scanning dialog is OK.