[ https://issues.apache.org/jira/browse/XERCESJ-1538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13169401#comment-13169401 ]
Denis Orekhov commented on XERCESJ-1538: ---------------------------------------- I sent all data that Mukul asked me. Last mail that I recieved was: "Mukul, A javax.xml.validation.Schema [1] is required to be thread-safe. Xerces has a bug if it doesn't satisfy that. Den mentioned that this problem occurs even when SchemaFactory and Schema objects are not shared between threads. That sounds very much like there's a statically mutable field somewhere within Xerces or Psychopath that is causing this issue. If multiple threads can't validate assertions simultaneously we need to fix that. Thanks. [1] http://xerces.apache.org/xerces2-j/javadocs/api/javax/xml/validation/Schema.html ... > Therefore I can run fine, with your use case in single thread > scenario. Your java application example, is pretty involved and would > require detailed investigation, to conclude if your observation is a > bug with Xerces. > > I think, compliance of a XSD processor to the XSD language, doesn't > require threading issues to be considered, and achieving specific > validation objectives (like validation in multhithreading context) > must have an external design from the application and/or schema > authors. With this thought, I think Xerces may not have a bug, for the > use case that you've shared with us." I use synchronized method for xsd validation in my code now. And is the bug or no - you decide... > Multithread validation failed in Xerces2 with XML Schema 1.1 support when > assert instruction in XSD > --------------------------------------------------------------------------------------------------- > > Key: XERCESJ-1538 > URL: https://issues.apache.org/jira/browse/XERCESJ-1538 > Project: Xerces2-J > Issue Type: Bug > Components: JAXP (javax.xml.validation) > Affects Versions: 2.11.0 > Environment: Windows 7 x64, Java 6 Update 26 x64 > Reporter: Denis Orekhov > > I'm using Xerces2 Java 2.11.0 (XML Schema 1.1) (Beta) in my app. Schema > validation in my app can occurs simultaneously in separate threads. > This is part of my xsd: > <xs:element name="action"> > <xs:complexType> > <xs:all> > <xs:element name="main_context" minOccurs="0" /> > <xs:element name="navigator" minOccurs="0"> > <xs:complexType> > <xs:attribute name="element" > type="xs:string" /> > <xs:attribute name="refresh" > type="xs:boolean" /> > </xs:complexType> > </xs:element> > <xs:element name="datapanel" minOccurs="0"> > <xs:complexType> > <xs:sequence> > <xs:element > name="element" maxOccurs="unbounded" > minOccurs="0"> > <xs:complexType> > > <xs:sequence> > > <xs:element name="add_context" minOccurs="0" /> > > </xs:sequence> > > <xs:attribute name="id" type="xs:string" use="required" /> > > <xs:attribute name="refresh_context_only" type="xs:boolean" /> > > <xs:attribute name="skip_refresh_context_only" > > type="xs:boolean" /> > > <xs:attribute name="keep_user_settings" type="xs:boolean" /> > > </xs:complexType> > </xs:element> > </xs:sequence> > <xs:attribute name="type" > type="xs:string" use="required" /> > <xs:attribute name="tab" > type="xs:string" /> > </xs:complexType> > </xs:element> > <xs:element name="server" minOccurs="0"> > <xs:complexType> > <xs:sequence> > <xs:element > name="activity" minOccurs="0" maxOccurs="unbounded"> > <xs:complexType> > > <xs:sequence> > > <xs:element name="add_context" minOccurs="0" /> > > </xs:sequence> > > <xs:attribute name="type" type="xs:string" > > use="required" /> > > > </xs:complexType> > </xs:element> > </xs:sequence> > </xs:complexType> > > </xs:element> > </xs:all> > <xs:assert > test="(count(datapanel) + count(server) =0) or > (count(*[position()=1 and name()='main_context']) = 1)" /> > </xs:complexType> > </xs:element> > And sometimes I have SAXException with text "cvc-assertion.3.13.4.1: > Assertion evaluation ('(count(datapanel) + count(server) =0) or > (count(*[position()=1 and name()='main_context']) = 1)') for element 'action' > with type '#anonymous' did not succeed.". > I checked my data and schema text before validation error - both is good. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: j-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: j-dev-h...@xerces.apache.org