enasequence / sequencetools

Webin sequence validation API.
Apache License 2.0
10 stars 3 forks source link

IllegalArgumentException: Comparison method violates its general contract! #53

Closed Asutu closed 5 years ago

Asutu commented 5 years ago

Hi,

while trying to validade a embl flat file with embl-api-validator-1.1.265.jar downloaded pre-compiled from Maven, I'm getting this error saying that Comparison method violates its general contract!. The full error message is below, but is not very helpful because there's no information about what is the line that might be firing this error, therefore there's no way to correct the issue that is probably causing it. Also, the file VAL_ERROR.txt is also empty.

This causes embl-api-validator-1.1.265.jar to return an exit code of 1, therefore INTERNAL ERROR.

uk.ac.ebi.embl.api.validation.ValidationEngineException: java.lang.IllegalArgumentException: Comparison method violates its general contract!
    at uk.ac.ebi.embl.api.validation.plan.EmblEntryValidationPlan.execute(EmblEntryValidationPlan.java:63)
    at uk.ac.ebi.embl.api.validation.plan.EmblEntryValidationPlan.execute(EmblEntryValidationPlan.java:86)
    at uk.ac.ebi.embl.api.validation.EnaValidator.validateEntry(EnaValidator.java:995)
    at uk.ac.ebi.embl.api.validation.EnaValidator.validateEntriesInReader(EnaValidator.java:704)
    at uk.ac.ebi.embl.api.validation.EnaValidator.validateFile(EnaValidator.java:509)
    at uk.ac.ebi.embl.api.validation.EnaValidator.validateFiles(EnaValidator.java:343)
    at uk.ac.ebi.embl.api.validation.EnaValidator.main(EnaValidator.java:163)
Caused by: java.lang.IllegalArgumentException: Comparison method violates its general contract!
    at java.util.TimSort.mergeLo(TimSort.java:777)
    at java.util.TimSort.mergeAt(TimSort.java:514)
    at java.util.TimSort.mergeCollapse(TimSort.java:441)
    at java.util.TimSort.sort(TimSort.java:245)
    at java.util.Arrays.sort(Arrays.java:1512)
    at java.util.ArrayList.sort(ArrayList.java:1454)
    at java.util.Collections.sort(Collections.java:175)
    at uk.ac.ebi.embl.api.validation.check.entry.ExonFeaturesIntervalCheck.getSortedExonFeatures(ExonFeaturesIntervalCheck.java:88)
    at uk.ac.ebi.embl.api.validation.check.entry.ExonFeaturesIntervalCheck.check(ExonFeaturesIntervalCheck.java:66)
    at uk.ac.ebi.embl.api.validation.check.entry.ExonFeaturesIntervalCheck.check(ExonFeaturesIntervalCheck.java:34)
    at uk.ac.ebi.embl.api.validation.plan.ValidationPlan.execute(ValidationPlan.java:158)
    at uk.ac.ebi.embl.api.validation.plan.EmblEntryValidationPlan.executeChecksandFixes(EmblEntryValidationPlan.java:105)
    at uk.ac.ebi.embl.api.validation.plan.EmblEntryValidationPlan.execute(EmblEntryValidationPlan.java:59)
    ... 6 more
VALIDATOR FAILING

Is there any way to know what entries are causing this issue and to solve it?

Thanks, Pedro

raskoleinonen commented 5 years ago

Dear Pedro,

A fix for this is planned to be release shortly in Webin-CLI version 1.7.4.

Best & Thank you, Rasko

Asutu commented 5 years ago

Many thanks, will try with Webin-CLI version 1.7.4 when it's released. In the meantime is there a workaround to solve this, i.e., what is the possible cause for this error in the flatfile?

Thank you, Pedro

raskoleinonen commented 5 years ago

Hi Pedro,

This was a bug without a known workaround. New Webin-CLI was released just now: https://github.com/enasequence/webin-cli/releases/tag/v1.7.4

Could you please give this a go?

Please note that we are no longer release new versions of the embl-api-validator-*.

Best, Rasko

Asutu commented 5 years ago

Hi Rasko,

many thanks for this. I can confirm v1.7.4 of Webin-CLI worked very well for me.