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 32038 - FileStateInvalidException when S1S5SE starts
Summary: FileStateInvalidException when S1S5SE starts
Status: VERIFIED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Window System (show other bugs)
Version: 3.x
Hardware: Sun Solaris
: P2 blocker (vote)
Assignee: mslama
URL:
Keywords: T9Y
Depends on:
Blocks:
 
Reported: 2003-03-17 09:26 UTC by vgorr
Modified: 2008-12-23 09:45 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
test log file (8.98 KB, text/plain)
2003-03-17 10:49 UTC, vgorr
Details

Note You need to log in before you can comment on or make changes to this bug.
Description vgorr 2003-03-17 09:26:42 UTC
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)
Comment 1 Marian Mirilovic 2003-03-17 09:31:08 UTC
Marek, Peter:
It seems like wstcref file is corrupted, isn't it ?
Comment 2 mslama 2003-03-17 09:52:15 UTC
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.
Comment 3 vgorr 2003-03-17 10:49:37 UTC
Created attachment 9423 [details]
test log file
Comment 4 vgorr 2003-03-17 10:53:19 UTC
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.
Comment 5 mslama 2003-03-17 14:14:37 UTC
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?
Comment 6 mslama 2003-03-17 14:19:44 UTC
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.)
Comment 7 vgorr 2003-03-18 09:12:19 UTC
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.
Comment 8 vgorr 2003-03-19 09:36:45 UTC
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.
Comment 9 mslama 2003-03-19 17:09:05 UTC
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
Comment 10 Marian Mirilovic 2003-04-03 12:04:40 UTC
Vladimir, 
I hope it's already fixed and works without any problems, if not
please reopen, thanks for cooperation.

verified
Comment 11 vgorr 2003-04-03 12:28:01 UTC
Marian, this is quite true to the fact. All works without any
problems. Thanks for quick fixing.