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 21060

Summary: Importing project form 321 throws exceptions
Product: debugger Reporter: Milan Kubec <mkubec>
Component: CodeAssignee: akemr <akemr>
Status: CLOSED FIXED    
Severity: blocker CC: akemr, issues, jjancura
Priority: P2    
Version: 3.x   
Hardware: PC   
OS: Linux   
Issue Type: DEFECT Exception Reporter:
Attachments: exceptions stack traces
zipped system dir with Default project

Description Milan Kubec 2002-03-01 11:37:25 UTC
Importing Default project from 321 throws exceptions. Exception and System dir
are attached.
Comment 1 Milan Kubec 2002-03-01 11:38:15 UTC
Created attachment 4894 [details]
exceptions stack traces
Comment 2 Milan Kubec 2002-03-01 11:41:23 UTC
Created attachment 4895 [details]
zipped system dir with Default project
Comment 3 Jesse Glick 2002-03-01 16:56:26 UTC
IMHO two problems: OutputTab.Replace (core/term) and the other
(debuggercore/code). Not sure though.
Comment 4 mslama 2002-03-01 17:19:32 UTC
Yes it seems so.
Please who is responsible for "Threads","Session"? Debuggercore module?
Comment 5 Marian Petras 2002-03-07 12:17:37 UTC
Yes. "Threads" and "Sessions" are part of the Debugger Window - part
of Debugger Core.
Comment 6 Marian Petras 2002-03-07 19:25:07 UTC
Evaluation:

The "SafeException" is thrown from
org.openide.explorer.ExplorerManager during deserialization of UI
trees representing:
 - a list of debugging sessions
 - a list of threads

ExplorerManager has four persisent fields (both in NB 3.2.1 and in the
current dev. build):
  - Node.Handle  root
  - String       rootName
  - String[]     explored
  - Object[]     selected

Field "root" is the only important field - it must not be null during
serialization. If it is null, the SafeException is thrown during
deserialization.

I debugged both serialization (in NB 3.2.1) and deserialization (in
the current dev. build). Serialization seems to be correct -
ExplorerManager.writeObject(...) saves non-null value to field "root".
But somehow this field is null during deserialization in the dev. build.

I was told that there is some tools for analysis of serialized data. I
will try it.
Comment 7 Milan Kubec 2002-03-08 10:53:42 UTC
Increasing priority, by definition.
Comment 8 Milan Kubec 2002-03-08 11:26:25 UTC
I see only evaluation of debugger part of the problem, but who could
say something about OutputTab.Replace problem. Or should I file
another bug for it?

Comment 9 Marian Petras 2002-03-11 04:10:11 UTC
The problem with "Threads" and "Sessions" is that classes
"SessionRootNode$SessionHandle" and
"SessionThreadRootNode$SessionHandle" have been moved from package
"~.debugger.multisession.nodes" to "~.debugger.support.nodes" (between
NB 3.2.1 and NB 3.3).

Unfortunately, exceptions ClassNotFoundException (that must be
generated during deserialization in this case) are caught during
deserialization so it is quite difficult to find a cause of a problem.
Comment 10 Marian Petras 2002-03-11 16:43:50 UTC
Fixed problems with root nodes "Threads" and "Sessions" (class names
are now translated during project deserialization).

Problem with deserialization of "OutputTab.Replace" is probably in
core (so I change the "Component" status of this bug).
Comment 11 _ ttran 2002-03-12 16:39:51 UTC
Ales, please investigate.  It can be in the output window or the
window system itself.
Comment 12 akemr 2002-03-13 10:37:50 UTC
It's in output window.
Comment 13 akemr 2002-03-13 13:23:21 UTC
Also "OutputTab.Replace" part fixed in trunk,
so marking as FIXED
Comment 14 _ ttran 2002-03-14 09:57:46 UTC
we may want to integrate this fix into 3.3.2.  Added 3.3.2_CANDIDATE
keyword
Comment 15 akemr 2002-03-14 12:57:21 UTC
Core part of problem (OutputTab.Replace) doesn't appear in 3.3.1,
so it isn't 3.3.2 candidate from Core perspective.

I'm changing component back to debugger.
Comment 16 Jan Jancura 2002-03-14 13:34:28 UTC
Debugger part of problem (OutputTab.Replace) doesn't appear in 3.3.1,
so it isn't 3.3.2 candidate from Debugger perspective.

Comment 17 Milan Kubec 2002-03-15 09:10:41 UTC
Verified in dev-200203150100.
Comment 18 Quality Engineering 2003-06-30 17:30:28 UTC
Resolved for 3.3.x or earlier, no new info since then -> closing.