Michael, do you have a test case which demonstrates the error? I can't
reproduce it, and I don't want to touch that code without a test case.
On Thu, Jan 22, 2015 at 4:04 PM, Michael Michaud <
[email protected]> wrote:
> Hi Martin,
>
> I get this error with the Buffer function (here after the full stacktrace).
> This is related to the new TimSort algorithm which is now the default one.
> It is probably caused by the
> SubgraphDepthLocater#DepthSegment compareTo function
> which is not transitive
> I don't know the reason why this comparator is implemented this way,
> but I think it could help if it could be made transitive.
>
> Michaƫl
>
> PS the java parameter -Djava.util.Arrays.useLegacyMergeSort=true
> helps to fix the problem, but I think it is not a long term solution.
>
> Caused by: java.lang.IllegalArgumentException: Comparison method violates
> its general contract!
> at java.util.ComparableTimSort.mergeLo(ComparableTimSort.java:740)
> at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:477)
> at
> java.util.ComparableTimSort.mergeForceCollapse(ComparableTimSort.java:418)
> at java.util.ComparableTimSort.sort(ComparableTimSort.java:218)
> at java.util.Arrays.sort(Arrays.java:1312)
> at java.util.Arrays.sort(Arrays.java:1506)
> at java.util.ArrayList.sort(ArrayList.java:1454)
> at java.util.Collections.sort(Collections.java:141)
> at
> com.vividsolutions.jts.operation.buffer.SubgraphDepthLocater.getDepth(SubgraphDepthLocater.java:66)
> at
> com.vividsolutions.jts.operation.buffer.BufferBuilder.buildSubgraphs(BufferBuilder.java:289)
> at
> com.vividsolutions.jts.operation.buffer.BufferBuilder.buffer(BufferBuilder.java:156)
> at
> com.vividsolutions.jts.operation.buffer.BufferOp.bufferFixedPrecision(BufferOp.java:368)
> at
> com.vividsolutions.jts.operation.buffer.BufferOp.bufferReducedPrecision(BufferOp.java:356)
> at
> com.vividsolutions.jts.operation.buffer.BufferOp.bufferReducedPrecision(BufferOp.java:320)
> at
> com.vividsolutions.jts.operation.buffer.BufferOp.computeGeometry(BufferOp.java:312)
> at
> com.vividsolutions.jts.operation.buffer.BufferOp.getResultGeometry(BufferOp.java:299)
> at
> com.vividsolutions.jts.operation.buffer.BufferOp.bufferOp(BufferOp.java:175)
> at com.vividsolutions.jts.geom.Geometry.buffer(Geometry.java:1176)
>
>
> ------------------------------------------------------------------------------
> New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
> GigeNET is offering a free month of service with a new server in Ashburn.
> Choose from 2 high performing configs, both with 100TB of bandwidth.
> Higher redundancy.Lower latency.Increased capacity.Completely compliant.
> http://p.sf.net/sfu/gigenet
> _______________________________________________
> Jts-topo-suite-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user
>
>
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Jts-topo-suite-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user