thread safety issue with schema validation
------------------------------------------

         Key: XERCESJ-1076
         URL: http://issues.apache.org/jira/browse/XERCESJ-1076
     Project: Xerces2-J
        Type: Bug
  Components: XML Schema datatypes  
    Versions: 2.6.2    
 Environment: Java 1.4.2 or 1.5.0 on a SunOS wallaby 5.8 Generic_117350-12 
sun4u sparc SUNW,Sun-Fire-V440
(Couldn't reproduce on a 1 CPU Windows 2000 box).
    Reporter: Brett Watson-Luke


Parsing multiple documents in multiple threads with schema validation enabled 
sometimes fails.  The error reported is: org.xml.sax.SAXParseException: 
cvc-pattern-valid: Value 'en' is not facet-valid with respect to pattern 
'([a-zA-Z]{1,8})(-[a-zA-Z0-9]{1,8})*' for type 'language'.

The test program I will provide to recreate the problem usually runs without 
error. It creates a number of threads, and parses the same document in each 
thread, concurrently.

However, sometimes it fails with the reported error.  I have provided a script 
(runit.sh) that will repeatedly run the program.

The test program is called parseerror.ParseError. It uses an EntityResolver to 
locate the schema in the classpath.

Typical program output is as follows:
> runit.sh
java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)
...org.xml.sax.SAXParseException: cvc-pattern-valid: Value 'en' is not 
facet-valid with respect to pattern '([a-zA-Z]{1,8})(-[a-zA-Z0-9]{1,8})*' for 
type 'language'.
        at 
org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown 
Source)
        at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
        at 
org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown
 Source)
        at 
org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown Source)
        at 
org.apache.xerces.impl.xs.XMLSchemaValidator.processOneAttribute(Unknown Source)
        at 
org.apache.xerces.impl.xs.XMLSchemaValidator.processAttributes(Unknown Source)
        at 
org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)
        at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown 
Source)
        at 
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
 Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 
Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
        at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
        at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
        at parseerror.ParseError$ParseThread.run(ParseError.java:55)
.... etc

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to