[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| RE: [wtp-dev] Issues with Xerces (was:	IMPORTANT:defect/build	procedure this week for WTP M4) | 
Title: Message
Keith,
 
I saw 
this error last week and was going to investigate, because it (or some 
unrelated, unreported error) does have a negative effect in one situation.  
If I open a schema using "open external file" outside of my workspace, the 
schema opens fine, but I cannot open any of the imported schemas.  I choose 
the context menu action to open an imported schema and nothing happens in the 
editor --- but I get this trace in the log.  I thought this was the cause, 
but maybe not.
 
Cheers,
  
Dave Carlson
 
  
  
Also for the record, 
  we discovered that when using crimson, it throws an exception when using some 
  of the XSD model-based tools such as the WSDL and XSD Editors.   
  
When the XSD model loads the 
  schema for schema, it tries to load xml.xsd which is a document that describes 
  the XML Namespace.  This file references XMLSchema.dtd via a docType tag 
  and the crimson parser throws an exception when it fails to resolve it.   
  Because the XSD model catches and handles this exception and because the 
  reference to the schema seems to be unnecessary (ie. remove the docType tag), 
  the creation of the schema for schema doesn't appear to be affected. 
  
After testing the tools, this exception 
  doesn't appear to have any adverse effect functionally to the tools. 
   You'll only get the following trace in the log file: 
  
org.xml.sax.SAXParseException: Relative 
  URI "XMLSchema.dtd"; can not be resolved without a base URI. 
        at 
  org.apache.crimson.parser.Parser2.fatal(Parser2.java:3339) 
        at 
  org.apache.crimson.parser.Parser2.fatal(Parser2.java:3333) 
        at 
  org.apache.crimson.parser.Parser2.resolveURI(Parser2.java:2915) 
  
        at 
  org.apache.crimson.parser.Parser2.maybeExternalID(Parser2.java:2887) 
  
        at 
  org.apache.crimson.parser.Parser2.maybeDoctypeDecl(Parser2.java:1276) 
  
        at 
  org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:623) 
  
        at 
  org.apache.crimson.parser.Parser2.parse(Parser2.java:333) 
        at 
  org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448) 
  
        at 
  org.apache.crimson.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:185) 
  
        at 
  javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:76) 
  
        at 
  org.eclipse.xsd.util.XSDResourceImpl.getDocument(XSDResourceImpl.java:238) 
  
Regards,
Keith 
  Chong
D3/QCS/8200/MKM
Phone: (905) 413-4370    T/L: 
  969-4370
e-mail: kchong@xxxxxxxxxx
  
    
    
      | Craig 
        Salter/Toronto/IBM@IBMCA Sent by: wtp-dev-bounces@xxxxxxxxxxx
 04/25/2005 12:26 PM 
         
          
          
            | Please respond 
              to"General discussion of project-wide or architectural 
              issues."
 |  
 | 
          
          
            | To | "General discussion of 
              project-wide or architectural issues." 
              <wtp-dev@xxxxxxxxxxx> |  
            | cc |  |  
            | Subject | Re: [wtp-dev] Issues 
              with Xerces (was: IMPORTANT: defect/build       
               procedure this week for WTP M4) |  
 
 | 
Just for the record all of our XML validators have 
  a hard requirement on xerces.  A generic XML parser does not provide the 
  level of control we need to produce good validation behaviour (dependency 
  resolution, error messages with good coordinates etc.).   
thanks
Craig
Craig Salter
Rational Studio 
  XML Web Services
Internal Mail: D3/RY6/8200 /MKM 
Phone: (905) 413-3918 
   TL: 969-3918 FAX: (905) 413-4920
Internet: csalter@xxxxxxxxxx   
    Notes: Craig Salter/Toronto/IBM@IBMCA
  
    
    
      | David M Williams 
        <david_williams@xxxxxxxxxx> Sent by: 
        wtp-dev-bounces@xxxxxxxxxxx
 04/25/2005 11:32 AM 
        
 
          
          
            | Please respond 
              to"General discussion of project-wide or architectural 
              issues."
 |  | 
          
          
            | To | "General 
              discussion of project-wide or architectural issues." 
              <wtp-dev@xxxxxxxxxxx> |  
            | cc |  |  
            | Subject | [wtp-dev] Issues with 
              Xerces (was: IMPORTANT: defect/build procedure this week for WTP 
              M4) |  
 
 
 | 
I agree, I'd like 
  to understand better too :) 
The endorsed/libs solution is a brute force solution that 
  should not be required for the kinds of problems being reported 
(and is undesirable for the 
  reason's Jeffrey has mentioned). 
I suspect there are "hidden" problems 
  that either we don't have our imports/exports correct, or, worse, someone 
  
is circumventing the normal Eclipse classloading behavior (and therefore 
  making the classes loaded highly 
dependent on the order of actions a user 
  performs). 
In reality, there is limited need we have, several of the 
  validators were using it (and doing their own 
exports to avoid multiple 
  copies., and I think we'd run into the same problem if the order of user 
  actions were just right). 
I requested it be distributed as a separate 
  plugin because 
1) when we originally approached as solving as a "private" 
  prereq, one of the project leaders :) 
suggested that Xerces was a commonly used open 
  source solution that did provide legitimate function 
above/beyond JAXP, so 
  would be desirable to include as normal plugin, 
2) having it a separate 
  plugin solved some awkward dependancies and unnatural plugin 
  divisions. 
3) if 
  anyone could solve the Xerces problem it would be the WTP team 
But, solving "the Xerces 
  problem" is not a P1 priority, so if its more expedient for M4, 
I have no 
  problem returning to the "private prereq" solution (though to avoid the 
  
problem completely, we might have to have multiple copies, to avoid 
  "leaking" its 
classes by re-exporting them. 
So, is it only 
  required by WSDL validation? (It was being used by XML Validation, even DTD 
  validation, I think, 
maybe others?). 
Also, does anyone knowingly 
  circumvent the Eclipse class loader and if so is this required? Or something 
  left 
over from 2.x stream, where it might have been required. 
  
David 
  
    
    
      | Arthur Ryman 
        <ryman@xxxxxxxxxx> Sent by: 
        wtp-dev-bounces@xxxxxxxxxxx
 04/25/2005 10:52 AM 
        
 
          
          
            | Please respond 
              to"General discussion of project-wide or architectural 
              issues."
 |  
 | 
 
          
          
            | To | "General 
              discussion of project-wide or architectural issues." 
              <wtp-dev@xxxxxxxxxxx> |  
            | cc |  |  
            | Subject | Re: [wtp-dev] 
              IMPORTANT: defect/build procedure this week for WTP 
          M4 |  
 
 
 
 | 
I'd like to 
  understand this situation better. My understanding of why we need Xerces is 
  for performing validation of inline schemas in WSDL. It sounds like Xerces is 
  also needed to work around a Crimson bug in the Sun JDK. Is this correct? Are 
  there any other reasons we need Xerces, e.g an EMF dependency? 
If the WSDL validator is 
  the only component that has a hard depency on Xerces, maybe a better approach 
  is to modify the XSDL validator to directly call Xerces for the inline schema 
  validation task, and to make WTP work with a generic JAXP parser. 
Arthur 
  Ryman,
Rational Desktop Tools Development
phone: +1-905-413-3077, TL 
  969-3077
assistant: +1-905-413-2411, TL 969-2411
fax: +1-905-413-4920, 
  TL 969-4920
mobile: +1-416-939-5063, text: 4169395063@xxxxxxx
intranet: 
  http://labweb.torolab.ibm.com/DRY6/ 
  
    
    
      | Chris 
        Brealey/Toronto/IBM@IBMCA Sent by: 
        wtp-dev-bounces@xxxxxxxxxxx
 04/25/2005 10:35 AM 
        
 
          
          
            | Please respond 
              to"General discussion of project-wide or architectural 
              issues."
 |  | 
 
          
          
            | To | naci.dai@xxxxxxxxxxxxx, "General discussion of project-wide 
              or architectural issues." <wtp-dev@xxxxxxxxxxx> |  
            | cc |  |  
            | Subject | Re: [wtp-dev] 
              IMPORTANT: defect/build procedure this week for WTP 
          M4 |  
 
 
 
 
 | 
Naci, 
Thanks. Jeffrey and I have both tried this workaround. It solves 
  the problem in the Web Services Explorer (92402). Can we fashion a "wtp.exe" 
  equivalent to "eclipse.exe" and burn the "-vmargs -Djava.endorsed.dirs ..." 
  workaround into it? 
It may not solve the problem in 91927. More to the point, I may 
  have bumped into the intermittent exception described in 91927, only in the 
  form of the moral equivalent exception from Xerces (instead of from Crimson) 
  while running WTP with the workaround. 
Cheers - CB.
Chris Brealey
Rational 
  Studio Java Web Services, IBM Canada Ltd.
D3-275, D3/ENX/8200/MKM, 8200 
  Warden Avenue, Markham, Ontario, Canada, L6G 1C7
cbrealey@xxxxxxxxxx, 
  905.413.6038, tieline:969.6038, fax:905.413.4920 
  
    
    
      | Naci Dai 
        <naci.dai@xxxxxxxxxxxxx> Sent by: 
        wtp-dev-bounces@xxxxxxxxxxx
 04/25/2005 09:01 AM 
        
 
          
          
            | Please respond 
              tonaci.dai and "General discussion of project-wide or 
              architectural issues."
 |  
 | 
 
          
          
            | To | "General 
              discussion of project-wide or architectural issues." 
              <wtp-dev@xxxxxxxxxxx> |  
            | cc |  |  
            | Subject | Re: [wtp-dev] 
              IMPORTANT: defect/build procedure this week for WTP 
          M4 |  
 
 
 
 
 
 | 
This is a well konw problem with the use of 
  Xerces and JDK releases 1.4 and up.  The fix is not clean but can be done 
  by adding the following to your VM arguments.
Also see the notes on the 
  emf page that suffers from the same problem.
http://download.eclipse.org/tools/emf/scripts/downloads-xerces.php
If we keep Xerces, we will have to live with it.  Ugly but 
  a fact of life.
To all, but 
  especially folks most in the know on the nature of WTP's inclusion of Xerces, 
  a critical problem exists between Crimson and Xerces that would, in my 
  opinion, block M4. 
There are two bugs that are making me nervous: 91927 [1] and 
  92402 [2]. The Web Services and J2EE teams are both observing exceptions 
  thrown by the Crimson parser very consistently: 
  
org.apache.crimson.tree.DomEx: 
  NOT_FOUND_ERR: That node does not exist in this context. 
  
    at 
  org.apache.crimson.tree.ParentNode.replaceChild(ParentNode.java:469) 
    ... 
org.apache.crimson.tree.DomEx: NOT_FOUND_ERR: That node does 
  not exist in this context. 
    at 
  org.apache.crimson.tree.ParentNode.removeChild(ParentNode.java:500) 
    ... 
In the Web Services case, 
  the Web services wizards and the Web Services Explorer are both suffering. 
  Jeff Liu mentioned that changes were made a week or two ago to how the Xerces 
  parser was bundled within our stack of plugins and to the extent its jars were 
  exported. If memory serves, the above Crimson exceptions began showing up 
  around the same time. Jeff theorized that classes from Crimson and Xerces were 
  bumping into each other in that infamous manner unique to the Eclipse plugin 
  classloading mechanism. 
So, I tried two experiments using the Web Services Explorer, 
  one of the components getting hammered by the first exception 
  above. 
1. Ran 
  Eclipse WTP on Sun's JRE*. The scenario described in 92402 [2] 
  explodes. 
2. Ran 
  Eclipse WTP on IBM's JRE**. The scenario described in 92402 [2] 
  works. 
The Sun 
  JRE includes Crimson. The IBM JRE includes Xerces. WTP includes Xerces. 
  Coincidence? I think not! 
We need help working out a solution to this problem. It seems 
  either Xerces needs to be isolated into a very small box so that higher order 
  plugins in the stack that rely on XML parsing (Crimson) don't know its there, 
  or we need to remove our dependency on Xerces once and for all (and I realize 
  this latter thought is easier said than done). 
  
* java -version 
java version 
  "1.4.2_05" 
Java(TM) 2 Runtime Environment, Standard Edition (build 
  1.4.2_05-b04) 
Java 
  HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode) 
  
** java -version 
java version 
  "1.4.1" 
Java(TM) 2 
  Runtime Environment, Standard Edition (build 1.4.1) 
  
Classic VM (build 1.4.1, J2RE 1.4.1 
  IBM Windows 32 build cn1411-20030930 (JIT enabled: jitc)) 
  
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=91927 
[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=92402 
Cheers - CB.
Chris 
  Brealey
Rational Studio Java Web Services, IBM Canada Ltd.
D3-275, 
  D3/ENX/8200/MKM, 8200 Warden Avenue, Markham, Ontario, Canada, L6G 
  1C7
cbrealey@xxxxxxxxxx, 
  905.413.6038, tieline:969.6038, fax:905.413.4920 
  
Here's what I suggest for our build/defect 
  fixing procedure this week, 
in anticipation of declaring M4 on 4/29 ... we 
  need to have a slow 
steady progressively better build. 
Suggestions welcome. 
  
One planned re-build on Tuesday at noon (EDT). 
Any fixes going 
  into this Tuesday build must be listed to 
wtp-dev so project leads (and we 
  all) get an idea of what's 
going into the build. Its up to the component 
  leads best 
judgement to balance things which must be fixed, with 
risk 
  of destabilizing the build. -- and we still expect 
a small number .. 10 to 
  30. [and, remember, there's no 
need to fix 'normal' problems at this point]. 
  
One more possible rebuild on Thursday at noon (EDT), 
if 
  needed. 
Same 
  procedure: any fixes listed to wtp-dev, only now 
  
even much smaller number expected, 
  like 5, for only the most 
blocking and the most safest fixes. 
Presumably after each 
  of these builds, teams will test 
that the blocking defect was fixed, and 
  no regressions 
introduced. 
I'm hoping this is enough of a 
  controlled process and 
that we don't need to start a hierarchy of reviews 
  and 
approvals ... but if things seem to get out of control, that will 
  
come next. 
If anyone has doubts about whether to include a fix, 
  
doen't hesitate to ask others (like me) for advice or 
perspective. 
  
Sound feasible?_______________________________________________
wtp-dev mailing 
  list
wtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/wtp-dev
  
  
_______________________________________________
wtp-dev 
  mailing list
wtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/wtp-dev
-- 
Naci Dai,
eteration a.s. 
Inonu cad. 
  Sumer sok. Zitas D1-15
Kozyatagi, Istanbul 34742
+90 (533) 580 2393 
  (cell)
+90 (216) 361 5434 (phone)
+90 (216) 361 2034 
  (fax)
http://www.eteration.com/
mailto:nacidai@xxxxxxx
mailto:naci@xxxxxxxxxxxxx_______________________________________________
wtp-dev mailing 
  list
wtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/wtp-dev
_______________________________________________
wtp-dev 
  mailing 
  list
wtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/wtp-dev
_______________________________________________
wtp-dev 
  mailing 
  list
wtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/wtp-dev
_______________________________________________
wtp-dev 
  mailing 
  list
wtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/wtp-dev
_______________________________________________
wtp-dev mailing 
  list
wtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/wtp-dev