You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, we get (sometimes) an exception when comparing two objects and I don't know what it means:
Caused by: java.lang.IllegalArgumentException: Detected inconsistency in enter/leave sequence. Must always be LIFO. at de.danielbechler.diff.circular.CircularReferenceDetector.remove(CircularReferenceDetector.java:113) at de.danielbechler.diff.differ.DifferDispatcher.forgetInstances(DifferDispatcher.java:205) at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:164) at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:145) at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:93) at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114) at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104) at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:90) at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:188) at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:158) at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:145) at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:93) at de.danielbechler.diff.differ.CollectionDiffer.compareItems(CollectionDiffer.java:119) at de.danielbechler.diff.differ.CollectionDiffer.compareInternally(CollectionDiffer.java:141) at de.danielbechler.diff.differ.CollectionDiffer.compare(CollectionDiffer.java:93) at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:188) at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:158) at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:145) at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:93) at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114) at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104) at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:90) at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:188) at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:158) at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:145) at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:93) at de.danielbechler.diff.ObjectDiffer.compare(ObjectDiffer.java:49) at com.logitags.cibet.core.CibetUtil.compare(CibetUtil.java:497)
Here is our code:
L. 497: DiffNode root = getObjectDiffer().compare(work, base);
Hi, we get (sometimes) an exception when comparing two objects and I don't know what it means:
Caused by: java.lang.IllegalArgumentException: Detected inconsistency in enter/leave sequence. Must always be LIFO. at de.danielbechler.diff.circular.CircularReferenceDetector.remove(CircularReferenceDetector.java:113) at de.danielbechler.diff.differ.DifferDispatcher.forgetInstances(DifferDispatcher.java:205) at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:164) at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:145) at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:93) at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114) at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104) at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:90) at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:188) at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:158) at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:145) at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:93) at de.danielbechler.diff.differ.CollectionDiffer.compareItems(CollectionDiffer.java:119) at de.danielbechler.diff.differ.CollectionDiffer.compareInternally(CollectionDiffer.java:141) at de.danielbechler.diff.differ.CollectionDiffer.compare(CollectionDiffer.java:93) at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:188) at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:158) at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:145) at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:93) at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114) at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104) at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:90) at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:188) at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:158) at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:145) at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:93) at de.danielbechler.diff.ObjectDiffer.compare(ObjectDiffer.java:49) at com.logitags.cibet.core.CibetUtil.compare(CibetUtil.java:497)
Here is our code:
L. 497: DiffNode root = getObjectDiffer().compare(work, base);
public static ObjectDiffer getObjectDiffer() {
if (objectDiffer == null) {
objectDiffer = ObjectDifferBuilder.startBuilding().introspection()
.setDefaultIntrospector(new EntityIntrospector()).and().differs()
.register(new PrimitiveArrayDifferFactory()).build();
}
return objectDiffer;
}
Can it be that when several theads execute this code in parallel there is some concurrency problem? Is this thread-safe?
The text was updated successfully, but these errors were encountered: