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.
Using a FFJ EA build 5_10 mount a web module with a few jar files in web-inf/lib. Using the Filesystem Customize dialog, see various additional filesystems mounted automatically. Then unmount the web module. A significant percentage of the time, the additional filesystems aren't unmounted automatically. The reason: WebContextObject is the data object for the root of the filesystem when it is a web module. WebContextObject.dispose() unmounts the additional filesystems by using the RequestProcessor. If no delay is given to the RequestProcessor, when the first filesystem is automatically removed, DataObjectPool.goOn() returns false, and DataObjectPool.Validator.removeInvalidObject() is called again. Unfortunately, the fileobjects from the WebContextObject are still in the file Set, so dispose() is called a second time (and potentially an infinite number of times). (Note: The dispose() method on WebInfObject also disposes WebContextObject, so this can also set off the loop). The workaround being considered for the web module is to set a 5-second delay on the RequestProcessor.post() call for the automatic filesystem unmounting.
Reassign to proper address.
Reassign to Vita
Moving to data systems
Target milestone -> 3.3.1.
Reassigning to the new cutodian of Data Systems.
Fixed in release33 (DataObjectPool.Validator: 1.53.8.1). I found problem in validator: there is optimization that should merge requests for revalidating. But once revalidated DataObject should not be part of merge and revalidated again and again.
George please can you verify fix of this issue? Thanks.
Really we can remove the delay. We still can't call Repository.removeFileSystem directly from DataObject.dispose(). The mounting is blocked in that case (see atached stack trace). Is that OK?
Created attachment 4429 [details] stacktrace of blocked Automount thread
seems fine
Resolved for 3.4.x or earlier, no new info since then -> closing.