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.
Release3.5 build : 200303182350 The exception is thrown irregularily, but quite often. Try to mount and unmount a web module several times. Exception : java.lang.IllegalStateException at org.netbeans.modules.web.context.WebContextObject.getClassesBase(WebContextObject.java:1065) at org.netbeans.modules.web.context.WebClassesObject.ensureRoot(WebClassesObject.java:50) at org.netbeans.modules.web.context.WebClassesObject.createNodeDelegate(WebClassesObject.java:70) at org.openide.loaders.DataObject$1.run(DataObject.java:242) at org.openide.util.Mutex.readAccess(Mutex.java:239) at org.openide.loaders.DataObject.getNodeDelegate(DataObject.java:238) at org.openide.loaders.DataFolder.getClonedNodeDelegate(DataFolder.java:414) at org.openide.loaders.FolderChildren.createNodes(FolderChildren.java:132) at org.openide.nodes.Children$Keys$KE.nodes(Children.java:1978) at org.openide.nodes.ChildrenArray.nodesFor(ChildrenArray.java:109) at org.openide.nodes.Children$Info.nodes(Children.java:1072) at org.openide.nodes.Children.updateAdd(Children.java:880) at org.openide.nodes.Children.setEntries(Children.java:667) at org.openide.nodes.Children$3.run(Children.java:1869) at org.openide.util.Mutex.postRequest(Mutex.java:875) at org.openide.util.Mutex.postWriteRequest(Mutex.java:375) at org.openide.nodes.Children$Keys.applyKeys(Children.java:1877) at org.openide.nodes.Children$Keys.setKeys(Children.java:1836) at org.openide.loaders.FolderChildren.access$501(FolderChildren.java:32) at org.openide.loaders.FolderChildren$ChildrenRefreshRunnable.run(FolderChildren.java:250) at org.openide.util.Task.run(Task.java:136) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:328) [catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:668) INFORMATIONAL *********** Exception occurred ************ at Thu Mar 20 16:27:50 CET 2003 java.io.FileNotFoundException: at org.openide.loaders.DataShadow.checkOriginal(DataShadow.java:411) at org.openide.loaders.DataShadow.deserialize(DataShadow.java:323) at org.netbeans.modules.web.context.WebAppObject.deserialize0(WebAppObject.java:92) [catch] at org.netbeans.modules.web.context.WebAppLoader.handleFindDataObject(WebAppLoader.java:48) at org.openide.loaders.DataLoader.findDataObject(DataLoader.java:233) at org.openide.loaders.DataLoaderPool.findDataObject(DataLoaderPool.java:360) at org.openide.loaders.DataLoaderPool.findDataObject(DataLoaderPool.java:320) at org.openide.loaders.DataObject.find(DataObject.java:447) at org.openide.loaders.FolderList.createObjects(FolderList.java:574) at org.openide.loaders.FolderList.getObjects(FolderList.java:467) at org.openide.loaders.FolderList.access$200(FolderList.java:50) at org.openide.loaders.FolderList$ListTask.run(FolderList.java:829) at org.openide.util.Task.run(Task.java:136) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:328) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:668)
BugTraq bug #4836055 describes steps for persistent reproducing of this bug.
Created attachment 9504 [details] rough patch for this bug and 31647
Reported exception is not the only problem. Sometimes the classes FS or some of libs or not unmounted. The reason is that though WebContextObject is invalidated during unmount operation (by setValid(false) call) it is created again from different places. 1) If it is recreated from DataShadow.updateShadowOriginal later than classes FS is unmounted this exception is thrown. (WebAppObject is subclassed DataShadow used as project view of web module.) Note that this is likely problem with DataShadow that does update even when the shadow in not valid anymore. 2) Also it can be recreated by DataObject.find() call from ProjectViewManager. Then call to WCO.destroyContext is executed on a wrong instance of WCO. It means not the one that keeps track of mounted libs and classesFS.
Created attachment 9505 [details] the same patch against release35 branch
The patch doesn't solve case when empty VCS filesystem and after checkout its root is recognized as WebContextObject -> the same exception is thrown.
Fix for this, 48360555 and 31647commited to trunk http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/context/Bundle.properties.diff?r1=1.11&r2=1.12 http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/context/ProjectViewManager.java.diff?r1=1.1&r2=1.2 http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/context/WebAppWizardIterator.java.diff?r1=1.11&r2=1.12 http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/context/WebClassesObject.java.diff?r1=1.5&r2=1.6 http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/context/WebContextLoader.java.diff?r1=1.12&r2=1.13 http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/context/WebContextObject.java.diff?r1=1.32&r2=1.33 http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/context/WebInfObject.java.diff?r1=1.13&r2=1.14 http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/core/ServletSupportModule.java.diff?r1=1.13&r2=1.14
Created attachment 9524 [details] patch for release35
raising priority to P1 per webapps team agreement. This needs to be treated as a real showstopper.
Created attachment 9569 [details] refined patch for release35
Patch was enhanced to solve 48360555 not only in NetBeans but also in S1S.
Reviewed by Petr Jiricka and confirmed by Misha Romanov that it helps.
approved for 3.5
http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/context/Bundle.properties.diff?r1=1.9.26.2&r2=1.9.26.3 http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/context/ProjectViewManager.java.diff?r1=1.1.2.1&r2=1.1.2.2 http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/context/WebAppWizardIterator.java.diff?r1=1.10.2.1&r2=1.10.2.2 http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/context/WebContextLoader.java.diff?r1=1.11.2.1&r2=1.11.2.2 http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/context/WebContextObject.java.diff?r1=1.27.2.3&r2=1.27.2.4 http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/context/WebInfObject.java.diff?r1=1.11.2.1&r2=1.11.2.2 http://web.netbeans.org/source/browse/web/core/src/org/netbeans/modules/web/core/ServletSupportModule.java.diff?r1=1.12.2.1&r2=1.12.2.2
This issue was a qbuild stopper. See http://qa.netbeans.org/q-builds/Q-build-report-200303252350.html Did you merge the fix into QBE branch? Thanks
I live under impression that Q-builds for r35 are stopped now and we wait for beta build. I'm not going to do any merges now unless anyone convince me that we really have to promote this build.
We have to promote this qbuild, because we already started QBuild process for the build 200303252350 and we should finish it. I will wait for the merge unless anyone convince me, that qbuild process for the 200303252350 was started by mistake.
Verified in Nevada build 030401.
merged to QBuild