You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by Erik de Hair <e....@pocos.nl> on 2016/12/21 08:50:06 UTC

Exception after update to 1.13.2

Hi,

I upgraded to Apache Isis 1.13.2 but now when opening a certain entity I 
get an exception:

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.mergeForceCollapse(TimSort.java:457)
     at java.util.TimSort.sort(TimSort.java:254)
     at java.util.Arrays.sort(Arrays.java:1438)
     at 
com.google.common.collect.Ordering.immutableSortedCopy(Ordering.java:888)
     at 
com.google.common.collect.FluentIterable.toSortedList(FluentIterable.java:501)
     at 
org.apache.isis.core.metamodel.services.grid.bootstrap3.GridSystemServiceBS3.validateAndNormalize(GridSystemServiceBS3.java:466)
     at 
org.apache.isis.core.metamodel.services.grid.GridSystemServiceAbstract.normalize(GridSystemServiceAbstract.java:164)
     at 
org.apache.isis.core.metamodel.services.grid.GridServiceDefault.normalize(GridServiceDefault.java:102)
     at 
org.apache.isis.core.metamodel.facets.object.grid.GridFacetDefault.load(GridFacetDefault.java:75)
     at 
org.apache.isis.core.metamodel.facets.object.grid.GridFacetDefault.getGrid(GridFacetDefault.java:65)
     at 
org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.buildPage(EntityPage.java:175)
     at 
org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:114)
     at 
org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:82)
     at 
org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:63)
     ... 51 more

A quick debugging session didn't help me out. May be somebody can point 
me at the right direction. It looks like it has something to do with the 
entity's actions but I don't know what.

Thanks,
Erik

Re: Exception after update to 1.13.2

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
No, don't waste your time.  If you're happy then I'm happy.  If there is an
issue then let's wait until we get a solid way to reproduce it, rather than
chase ghosts.

Thx
D

On Wed, 21 Dec 2016 at 09:46 Erik de Hair <e....@pocos.nl> wrote:

> On 12/21/2016 10:04 AM, Dan Haywood wrote:
> > Hi Erik,
> > "Comparison method violates its general contract!" means, I think, that
> > there's an error in the implementation of the compare() method; see eg
> [1]
> > for some discussion.
> Hi Dan,
>
> That was my first suspicion too. But the comparator being used in this
> case is a DeweyOrderComparator to sort the actions. After some more
> digging I found out I had an old layout.json file for this entity and
> two MemberOrder-annotations with the same order. That did brake the
> layout somehow. Changing the layout-file to a xml-version made it work
> again.
>
> If you really wan't to know what happened I could try to find out the
> real problem. For now I'm happy I've got it working again :-)
>
> Erik
>
> >
> > My suspicion is that the problem has always been there but the new
> version
> > of Isis is maybe causing it to trip where previously it didn't.
> >
> > If you could post the implementation of compare() for that entity, then
> we
> > could take a look.
> >
> > Thx
> > Dan
> >
> > [1] http://stackoverflow.com/a/8327575/56880
> >
> > On Wed, 21 Dec 2016 at 08:50 Erik de Hair <e....@pocos.nl> wrote:
> >
> >> Hi,
> >>
> >> I upgraded to Apache Isis 1.13.2 but now when opening a certain entity I
> >> get an exception:
> >>
> >> 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.mergeForceCollapse(TimSort.java:457)
> >>       at java.util.TimSort.sort(TimSort.java:254)
> >>       at java.util.Arrays.sort(Arrays.java:1438)
> >>       at
> >>
> com.google.common.collect.Ordering.immutableSortedCopy(Ordering.java:888)
> >>       at
> >>
> >>
> com.google.common.collect.FluentIterable.toSortedList(FluentIterable.java:501)
> >>       at
> >>
> >>
> org.apache.isis.core.metamodel.services.grid.bootstrap3.GridSystemServiceBS3.validateAndNormalize(GridSystemServiceBS3.java:466)
> >>       at
> >>
> >>
> org.apache.isis.core.metamodel.services.grid.GridSystemServiceAbstract.normalize(GridSystemServiceAbstract.java:164)
> >>       at
> >>
> >>
> org.apache.isis.core.metamodel.services.grid.GridServiceDefault.normalize(GridServiceDefault.java:102)
> >>       at
> >>
> >>
> org.apache.isis.core.metamodel.facets.object.grid.GridFacetDefault.load(GridFacetDefault.java:75)
> >>       at
> >>
> >>
> org.apache.isis.core.metamodel.facets.object.grid.GridFacetDefault.getGrid(GridFacetDefault.java:65)
> >>       at
> >>
> >>
> org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.buildPage(EntityPage.java:175)
> >>       at
> >>
> >>
> org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:114)
> >>       at
> >>
> >>
> org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:82)
> >>       at
> >>
> >>
> org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:63)
> >>       ... 51 more
> >>
> >> A quick debugging session didn't help me out. May be somebody can point
> >> me at the right direction. It looks like it has something to do with the
> >> entity's actions but I don't know what.
> >>
> >> Thanks,
> >> Erik
> >>
>
>

Re: Exception after update to 1.13.2

Posted by Erik de Hair <e....@pocos.nl>.
On 12/21/2016 10:04 AM, Dan Haywood wrote:
> Hi Erik,
> "Comparison method violates its general contract!" means, I think, that
> there's an error in the implementation of the compare() method; see eg [1]
> for some discussion.
Hi Dan,

That was my first suspicion too. But the comparator being used in this 
case is a DeweyOrderComparator to sort the actions. After some more 
digging I found out I had an old layout.json file for this entity and 
two MemberOrder-annotations with the same order. That did brake the 
layout somehow. Changing the layout-file to a xml-version made it work 
again.

If you really wan't to know what happened I could try to find out the 
real problem. For now I'm happy I've got it working again :-)

Erik

>
> My suspicion is that the problem has always been there but the new version
> of Isis is maybe causing it to trip where previously it didn't.
>
> If you could post the implementation of compare() for that entity, then we
> could take a look.
>
> Thx
> Dan
>
> [1] http://stackoverflow.com/a/8327575/56880
>
> On Wed, 21 Dec 2016 at 08:50 Erik de Hair <e....@pocos.nl> wrote:
>
>> Hi,
>>
>> I upgraded to Apache Isis 1.13.2 but now when opening a certain entity I
>> get an exception:
>>
>> 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.mergeForceCollapse(TimSort.java:457)
>>       at java.util.TimSort.sort(TimSort.java:254)
>>       at java.util.Arrays.sort(Arrays.java:1438)
>>       at
>> com.google.common.collect.Ordering.immutableSortedCopy(Ordering.java:888)
>>       at
>>
>> com.google.common.collect.FluentIterable.toSortedList(FluentIterable.java:501)
>>       at
>>
>> org.apache.isis.core.metamodel.services.grid.bootstrap3.GridSystemServiceBS3.validateAndNormalize(GridSystemServiceBS3.java:466)
>>       at
>>
>> org.apache.isis.core.metamodel.services.grid.GridSystemServiceAbstract.normalize(GridSystemServiceAbstract.java:164)
>>       at
>>
>> org.apache.isis.core.metamodel.services.grid.GridServiceDefault.normalize(GridServiceDefault.java:102)
>>       at
>>
>> org.apache.isis.core.metamodel.facets.object.grid.GridFacetDefault.load(GridFacetDefault.java:75)
>>       at
>>
>> org.apache.isis.core.metamodel.facets.object.grid.GridFacetDefault.getGrid(GridFacetDefault.java:65)
>>       at
>>
>> org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.buildPage(EntityPage.java:175)
>>       at
>>
>> org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:114)
>>       at
>>
>> org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:82)
>>       at
>>
>> org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:63)
>>       ... 51 more
>>
>> A quick debugging session didn't help me out. May be somebody can point
>> me at the right direction. It looks like it has something to do with the
>> entity's actions but I don't know what.
>>
>> Thanks,
>> Erik
>>


Re: Exception after update to 1.13.2

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
Hi Erik,
"Comparison method violates its general contract!" means, I think, that
there's an error in the implementation of the compare() method; see eg [1]
for some discussion.

My suspicion is that the problem has always been there but the new version
of Isis is maybe causing it to trip where previously it didn't.

If you could post the implementation of compare() for that entity, then we
could take a look.

Thx
Dan

[1] http://stackoverflow.com/a/8327575/56880

On Wed, 21 Dec 2016 at 08:50 Erik de Hair <e....@pocos.nl> wrote:

> Hi,
>
> I upgraded to Apache Isis 1.13.2 but now when opening a certain entity I
> get an exception:
>
> 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.mergeForceCollapse(TimSort.java:457)
>      at java.util.TimSort.sort(TimSort.java:254)
>      at java.util.Arrays.sort(Arrays.java:1438)
>      at
> com.google.common.collect.Ordering.immutableSortedCopy(Ordering.java:888)
>      at
>
> com.google.common.collect.FluentIterable.toSortedList(FluentIterable.java:501)
>      at
>
> org.apache.isis.core.metamodel.services.grid.bootstrap3.GridSystemServiceBS3.validateAndNormalize(GridSystemServiceBS3.java:466)
>      at
>
> org.apache.isis.core.metamodel.services.grid.GridSystemServiceAbstract.normalize(GridSystemServiceAbstract.java:164)
>      at
>
> org.apache.isis.core.metamodel.services.grid.GridServiceDefault.normalize(GridServiceDefault.java:102)
>      at
>
> org.apache.isis.core.metamodel.facets.object.grid.GridFacetDefault.load(GridFacetDefault.java:75)
>      at
>
> org.apache.isis.core.metamodel.facets.object.grid.GridFacetDefault.getGrid(GridFacetDefault.java:65)
>      at
>
> org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.buildPage(EntityPage.java:175)
>      at
>
> org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:114)
>      at
>
> org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:82)
>      at
>
> org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:63)
>      ... 51 more
>
> A quick debugging session didn't help me out. May be somebody can point
> me at the right direction. It looks like it has something to do with the
> entity's actions but I don't know what.
>
> Thanks,
> Erik
>