Spindle 3.1.27 locking up RSA 6.0.0.1
Brought to you by:
glongman
I'm running Rational Software Architect 6.0.0.1 based
on Eclipse 3.0.2 and have Spindle 3.1.27 installed.
Ever since I installed it, I'm seeing about 5-10
lockups per day. It happens usually right as I modify
a page/html and try to save it. The tab with the
filename still contains the * denoting the fact that
this file has been modified but upon restart I find
that my changes were persisted. So the lockup seems to
happen between the file save and the UI update to
remove the *.
I have no idea if any of that is relevant to you. I do
see lockups in other places but that is the most
frequent example.
Logged In: YES
user_id=387057
open the ErrorLog View. clear the log, then reproduce the
problem. Pls attach the entire contents of the log *as an
attachment* to this report.
thx.
Logged In: YES
user_id=3114
I'm seeing the exact same behavior on my home machine using
completely different software: Mac OSX, Eclipse 3.1 final
and Spindle 3.2.0. Attached is the plugin error log. The
crash happens at 52 seconds. I left one error before that
to show that it seems to be a race condition - the same
error occurs but no lockup.
Crash upon build
Logged In: YES
user_id=387057
thanks for the trace mike.
didn't help much so I have crafted a version of the core
spindle jar to give more interesting info.
download this file:
http://spindle.sourceforge.net/unstable/core.jar
1. stop eclipse
2. replace
eclipse/plugins/com.iw.plugins.spindle.core_3.2.0/core.jar
with the one you downloaded
3. Reproduce the problem/attach the new log to this report.
Thanks!
Geoff
Logged In: YES
user_id=3114
Now this should give you a clue:
java.lang.NoClassDefFoundError:
org/apache/xerces/impl/dv/dtd/DatatypeValidatorFactory
at
com.iw.plugins.spindle.core.parser.Parser.checkDomParser(Parser.java:182)
at
com.iw.plugins.spindle.core.parser.Parser.domParse(Parser.java:285)
at
com.iw.plugins.spindle.core.parser.Parser.parse(Parser.java:244)
at
com.iw.plugins.spindle.core.parser.Parser.parse(Parser.java:232)
at
com.iw.plugins.spindle.core.parser.Parser.parse(Parser.java:21
Logged In: YES
user_id=387057
interesting.
Mike, you should check a few things..
a. pls confirm that there is an
eclipse/plugins/org.apache.xerces_4.1.13 directory
b. is your JRE using another version of xerces, either using
the "endorsed" directory method or by the fact the vm
launching eclipse is a 1.5 vm?
Trying to narrow it down. The spindle parser requires a
particular version of xerces and if another version muscles
in things go to pot.
G.
Logged In: YES
user_id=3114
Below is the 4.0 xerces dir. Eclipse is being launched from
a 1.4.2 VM and the endorsed dir is empty.
eclipse-3.1/plugins/org.apache.xerces_4.0.13
Logged In: YES
user_id=3114
FYI my eclipse build is 3.1.0 I20050627-1435.
Logged In: YES
user_id=3114
I have Subclipse, SpringIDE and the 3.1 beta Hibernate
plugin installed also. Is it possible that one of them
deleted the proper version and installed an older version?
That sounds like a monumentally stupid thing to do but it
may be possible.
Also if you want to coorespond via email to make things
easier, please let me know at mperham AT gmail.com.
Logged In: YES
user_id=387057
Is there like a time limited free version of RSA 6.0.0.1
that I can use to track this bug down and kill it?
Logged In: YES
user_id=3114
Not that I know of.
Logged In: YES
user_id=387057
actualy I just found a free trial and am downloading it now.
However, the dl has over an hour to go. Being as it's
saturday and I'm a dad I won't be able to try it out before
tomorrow or monday.
Logged In: YES
user_id=387057
Not good news I'm afraid.
RSA 6.0.0.1 ships with a jre. When you launch it that jre is
invoked.
eclipse.vm=C:\ECLIPSE\IBM\Rational\SATrial\6.0\.\eclipse\jre\bin\javaw.exe
looking in the jre/lib folder there is an xml.jar that
contains xerces. Thus, the version of xerces that ships with
Spindle is not used, and Spindle breaks.
Spindle is not compatible with RSA 6.0.0.1 as shipped. I
suppose one could try using another JRE but I would not
recommend it as one does not know what new and interesting
ways the new JRE will break RSA.
Sorry.
Logged In: YES
user_id=387057
You will need to remove Spindle in order to restore RSA to
working order.
Logged In: YES
user_id=3114
Well, let's look at it another way - there's a million
different versions of XML parsers out there, many of which
are shipped with different versions of JREs. One could make
a claim that Spindle relying on one specific version of one
parser is actually pretty limiting. Is it possible to
"genericize" Spindle's code so it is a little more flexible
in its use of XML parsers?
If not, I'd suggest adding some code to either warn the user
about the incompatability (like a dialog on startup) or
disabling the feature(s) that rely on that particular
version. I know that highlighting seems to work reliably
but the build does not.
Nonetheless, thanks for going the extra mile on this one, Geoff.
Logged In: YES
user_id=387057
Yes its limiting. But there was, and generally still is, no
parser out there that would gather the extra metadata needed
by Spindle. There is no way to *fix* the problem as it
exists now.
That said, WTP has solved the same problem I did (by hacking
Xerces), and in a more compaitble way. In the long run the
plan is to ditch the custom parser and use the models
provided by WTP. Of course there will be catastrophic
conflicts with RSA until IBM releases a version of RSA that
uses WTP 1.0. So, you can't win in the short term.
As far as cobbling something together so that Spindle (sans
builder) will work in some form in RSA: the resulting
benefits will be so small as to really not make it worth the
effort (effort on my part to cobble or more importantly the
effort on your part to bother installing Spindle).
***Everything**** in Spindle except syntax highlighting and
the most basic XML syntax completion depends on the results
of a successful build. You will get the same benefit from
using the xml editor that ships in RSA.
I'll see if I can't at least put in a check and warning for
this problem but the only real action I can take is to
disable the whole shootin match.
Logged In: YES
user_id=387057
disabling the feature ( in cases where the correct version
of Xerces is unavailable) is possible in theory but not
practical in the current codebase.
Leaving open for others who stumble onto this problem.