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.
Unfortunately there is one more issue that exists when our tests are run. When S1S5SE starts the following exception is thrown very often (I cannot reproduce this manually): org.openide.filesystems.FileStateInvalidException: Producer is invalid DO:org.netbeans.core.windows.layers.TCRefDO@1d5e778[Windows/WindowManager/Editing/editor/Welcome.wstcref], FO:Windows/WindowManager/Editing/editor/Welcome.wstcref, DO.isValid:false, FO.isValid:false at org.netbeans.core.windows.layers.TCRefImpl.getTopComponent(TCRefImpl.java:373) at org.netbeans.core.windows.layers.TCRefImpl.performCommand(TCRefImpl.java:155) [catch] at org.netbeans.core.windows.DeferredPerformer$1.run(DeferredPerformer.java:188) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178) at java.awt.EventQueue.dispatchEvent(EventQueue.java:448) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136) at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
Marek, Peter: It seems like wstcref file is corrupted, isn't it ?
We need to reproduce it somehow. Please add some info how to do it even using your test if possible. This exception is result of invalidating of Welcome.wstcref file. It usualy happens when file is deleted. We need to know why, when who deletes this file. We can solve this exception by just logging this exception at INFORMATIONAL level but it does not solve original cause.
Created attachment 9423 [details] test log file
Certainly I'm ready to help you. Look at the Attachment to understand how we start our tests (98 line). Let me know if you need an additional info.
Some questions: I suppose you run this test on Solaris. Does it happen also on other OS? What JD do you use? Do you use some additional command line option besides -userdir? Is it started with empty user dir or do you reuse user dir from some previous run?
One more question: Do you have ide.log from this run? Is there any exception logged? (When TopComponent deserialization fails from any reason we delete wstcref file -> it could be reason for this. In such case correct solution would be simply log exception at INFORMATIONAL level because we deleted wstcref file intentionaly.)
I've prepaired a script allowing to reproduce this issue. However this script uses some jar files that I cannot attach due to their size. Let me know e-mail address to send this info if it's needs yet. To reproduce this issue you need to run the followinfg steps: 1) ungzip a file sent by me anywhere; 2) run this script on Solaris: ./start <NevadaRoot> <JAVA_HOME> and slightly wait (or smoke). This issue is 100% reproducible. Let me know if there are any problems.
I would like to have the issue fix for Nevada build if it's possible yet. The main cause is a lot of our tests failed due to this issue for all platforms. Thanks in advance.
The problem is caused by saving winsys during IDE start. (Saving is invoked from UIModeManager.setUIMode() when UI mode is set using system property.) In such case it may happen that saving is performed before all TopComponent are docked into Mode. In such case cleaning of unused wstcref files performed during winsys saving deletes incorrectly Welcome.wstcref and it results in FSIE as described above. Fix detects any pending dockInto requests and no cleaning is performed when there is any pending request. Modified: core/src/org/netbeans/core/windows/ModeImpl.java r.1.177 core/src/org/netbeans/core/windows/layers/ModeData.java r.1.112 branch release35: core/src/org/netbeans/core/windows/ModeImpl.java r.1.175.2.2 core/src/org/netbeans/core/windows/layers/ModeData.java r.1.110.2.1
Vladimir, I hope it's already fixed and works without any problems, if not please reopen, thanks for cooperation. verified
Marian, this is quite true to the fact. All works without any problems. Thanks for quick fixing.