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

Georgy Litvinov commented on JENA-2333:
---------------------------------------

I reproduced that on Debian and Centos, I believe it was also reproduced on 
MacOS. 

Please, try this. My results are 437 of 1000
  public static void main(String[] args) throws FileNotFoundException {
        

        int counter = 0;
        for (int i=0;i<1000; i++) {
            Model m = RDFDataMgr.loadModel("src/bad_data_out.n3");
        
                boolean result = isReproduced(queryStr, m);
                if (result) {
                    counter++;
            }
        }
        System.out.println("finished " + counter);
    }
    
    private static boolean isReproduced(String queryStr, Model m) {
        boolean result = true;
        QueryExecution qe = QueryExecutionFactory.create(queryStr, m);
        try {
            ResultSet rs = qe.execSelect();
            if(rs.hasNext()) {
                result = false;
            }
        } catch (Exception e) {
        }
        finally {
            qe.close();
        }
        return result;
    }

> Sorting by labels in SPARQL query fail
> --------------------------------------
>
>                 Key: JENA-2333
>                 URL: https://issues.apache.org/jira/browse/JENA-2333
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: ARQ, Jena
>    Affects Versions: Jena 2.10.1, Jena 3.16.0, Jena 4.5.0
>            Reporter: Georgy Litvinov
>            Priority: Major
>         Attachments: SortingBug.java, bad_data_out.n3
>
>
> {color:#172b4d}Sorting by labels fail on this data set.{color}
> {color:#172b4d}Simple Java example to reproduce attached.{color}
> {color:#172b4d}Looks like a race condition involved.{color}
> {noformat}
> SELECT ?label WHERE {
>    ?object <http://www.w3.org/2000/01/rdf-schema#label> ?label . } ORDER BY 
> ASC(?label)
> {noformat}
>  
> {noformat}
> java.lang.IllegalArgumentException: Comparison method violates its general 
> contract!
>     at java.base/java.util.TimSort.mergeLo(TimSort.java:781)
>     at java.base/java.util.TimSort.mergeAt(TimSort.java:518)
>     at java.base/java.util.TimSort.mergeCollapse(TimSort.java:448)
>     at java.base/java.util.TimSort.sort(TimSort.java:245)
>     at java.base/java.util.Arrays.sort(Arrays.java:1441)
>     at 
> org.apache.jena.atlas.data.AbortableComparator.abortableSort(AbortableComparator.java:57)
>     at 
> org.apache.jena.atlas.data.SortedDataBag.iterator(SortedDataBag.java:205)
>     at 
> org.apache.jena.atlas.data.SortedDataBag.iterator(SortedDataBag.java:192)
>     at 
> org.apache.jena.sparql.engine.iterator.QueryIterSort$SortedBindingIterator.initializeIterator(QueryIterSort.java:88)
>     at 
> org.apache.jena.atlas.iterator.IteratorDelayedInitialization.init(IteratorDelayedInitialization.java:38)
>     at 
> org.apache.jena.atlas.iterator.IteratorDelayedInitialization.hasNext(IteratorDelayedInitialization.java:48)
>     at 
> org.apache.jena.sparql.engine.iterator.QueryIterPlainWrapper.hasNextBinding(QueryIterPlainWrapper.java:59)
>     at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>     at 
> org.apache.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:58)
>     at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>     at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:38)
>     at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>     at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:38)
>     at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>     at org.apache.jena.sparql.exec.RowSetStream.hasNext(RowSetStream.java:47)
>     at 
> org.apache.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:81)
>     at test.SortingBug.isReproduced(SortingBug.java:53)
>     at test.SortingBug.main(SortingBug.java:39)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

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

Reply via email to