[ 
https://issues.apache.org/jira/browse/XERCESJ-1687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16275823#comment-16275823
 ] 

Mukul Gandhi commented on XERCESJ-1687:
---------------------------------------

I've been running your tests from the attached file. I can't understand, 
following in your test case:
1) you write
for (int i = 0; i < parallelCount; i++) {
      final Thread t = (Thread)threads.get(i);
      t.join();
}

I wonder, what purpose t.join() serve? The API doc of Thread.join() says, 
"Waits for this thread to die". I suspect, this loop and t.join() is not 
required.

2) If I write, final int parallelCount = 1; instead of your final int 
parallelCount = 50;
the test case doesn't pass. It should I believe.

I want another committer (or Michael?) to verify whether the code in your test 
case is correct.

> XSD 1.1 validation with xs:assert is not thread safe
> ----------------------------------------------------
>
>                 Key: XERCESJ-1687
>                 URL: https://issues.apache.org/jira/browse/XERCESJ-1687
>             Project: Xerces2-J
>          Issue Type: Bug
>          Components: JAXP (javax.xml.validation), XML Schema 1.1 Structures
>    Affects Versions: 2.12.0
>         Environment: java 8 / java 9
>            Reporter: Stephan Trebels
>            Priority: Critical
>         Attachments: parallel-test.zip
>
>
> The XSD 1.1 validation code uses eclipse webtools xpath to validate 
> assertions. The PsychoPath XPath 2.0 engine has a bug in 
> ResultSequenceFactory, which invalidates correct execution in all parallel 
> invocation of XSD 1.1 validation. 
> This issue affects completely unrelated schemas and input XML, as long as 
> both use assertions. The effect is a lot of spurious assert violations.  The 
> issue is visible even if only two threads are used in parallel.
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=527812



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to