llmhyy / microbat

A feedback-based debugger for interactively recommending suspicious step in buggy program execution.
54 stars 14 forks source link

[Agent Crash] Mockito-28 #176

Open llmhyy opened 6 years ago

llmhyy commented 6 years ago

hi @lylytran

The agent crash for mockito 28, would you please kindly have a check?

The following is the cmd.

E:\linyun\bug_repo\jdk1.7.0_800\bin\java -Xmx30g -XX:+UseG1GC -ea -noverify -javaagent:E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\instrumentator.jar=precheck=false,excludes=java.util.Properties*,java_home=E:\linyun\bug_repo\jdk1.7.0_800,log=printProgress;error,working_dir=E:\linyun\bug_repo\Mockito\28\fix,varLayer=1,includes=org.mockito.configuration.AnnotationEngine;org.mockito.internal.configuration.InjectingAnnotationEngine;java.lang.Class;java.lang.reflect.AccessibleObject;java.lang.reflect.Field;org.mockito.internal.configuration.DefaultInjectionEngine;org.mockito.internal.configuration.injection.FinalMockCandidateFilter;org.mockito.internal.configuration.injection.NameBasedCandidateFilter;org.mockito.internal.configuration.injection.TypeBasedCandidateFilter;org.mockito.internal.configuration.injection.MockCandidateFilter;org.mockito.internal.configuration.DefaultInjectionEngine$1;java.util.Comparator;java.util.Set;java.util.Collections$SetFromMap;java.util.WeakHashMap$KeySet;java.util.Collections$EmptySet;java.util.HashMap$EntrySet;java.util.AbstractSet;java.util.Collections$SynchronizedSet;java.util.HashSet;java.util.Hashtable$EntrySet;java.util.LinkedHashSet;java.util.Iterator;java.util.HashMap$EntryIterator;java.util.ArrayList$Itr;java.util.HashMap$HashIterator;java.util.Hashtable$Enumerator;java.util.ServiceLoader$LazyIterator;java.util.ServiceLoader$1;java.util.LinkedHashMap$EntryIterator;java.util.LinkedHashMap$LinkedHashIterator;java.util.LinkedHashMap$ValueIterator;java.util.ArrayList$ListItr;java.util.LinkedList$ListItr;java.util.TreeMap$ValueIterator;java.util.TreeMap$PrivateEntryIterator;java.lang.RuntimeException;java.lang.Exception;java.lang.Throwable;org.mockito.exceptions.base.MockitoException;java.util.Arrays;org.mockito.internal.configuration.injection.FinalMockCandidateFilter$1;org.mockito.internal.util.reflection.FieldSetter;org.mockito.internal.util.reflection.AccessibilityChanger;java.lang.System;java.security.Permission;java.lang.SecurityManager;java.lang.Error;java.lang.AssertionError;sun.reflect.Reflection;sun.reflect.FieldAccessor;java.util.Map;java.lang.ClassLoader;org.mockito.internal.util.reflection.BeanPropertySetter;java.lang.reflect.Method;java.beans.FeatureDescriptor;java.beans.PropertyDescriptor;java.beans.BeanInfo;java.beans.GenericBeanInfo;java.beans.SimpleBeanInfo;java.beans.Introspector;sun.reflect.misc.ReflectUtil;java.beans.ThreadGroupContext;com.sun.beans.WeakCache;java.util.List;java.util.Collection;java.util.Collections$UnmodifiableList;java.util.AbstractSequentialList;java.util.Collections$UnmodifiableCollection;java.util.Queue;java.util.Stack;java.util.Vector;java.util.AbstractCollection;java.util.Collections$SynchronizedCollection;java.util.Collections$UnmodifiableRandomAccessList;java.util.Deque;java.util.LinkedList;java.util.ArrayDeque;java.util.Collections$EmptyList;java.util.AbstractList;java.util.ArrayList;java.util.Collections$SynchronizedList;java.util.TreeMap$Values;java.util.Arrays$LegacyMergeSort;java.util.TimSort;org.mockito.internal.util.reflection.FieldInitializer;org.mockito.internal.util.reflection.FieldReader;java.lang.ReflectiveOperationException;java.lang.IllegalAccessException;java.lang.Math;java.util.AbstractMap;java.util.HashMap;org.mockito.internal.creation.MethodInterceptorFilter;org.mockito.internal.util.ObjectMethodsGuru;org.mockito.internal.util.MockUtil;org.mockito.internal.util.MockCreationValidator;java.lang.AbstractStringBuilder;java.lang.StringBuilder;java.lang.NullPointerException;java.util.Properties;java.util.Collections$EmptyMap;java.util.WeakHashMap;java.util.LinkedHashMap;java.util.Hashtable;java.util.jar.Attributes;java.lang.ClassValue$ClassValueMap;java.util.Collections$SingletonMap;java.util.TreeMap;java.util.NavigableMap;java.util.SortedMap;java.lang.annotation.Annotation;org.mockito.internal.configuration.DefaultAnnotationEngine;org.mockito.MockSettings;org.mockito.internal.MockitoCore;org.mockito.internal.progress.MockingProgress;org.mockito.internal.progress.ThreadSafeMockingProgress;java.lang.ThreadLocal;org.mockito.internal.progress.MockingProgressImpl;org.mockito.internal.progress.ArgumentMatcherStorage;org.mockito.internal.progress.ArgumentMatcherStorageImpl;org.mockito.internal.debugging.Localized;java.lang.Thread;java.lang.ThreadLocal$ThreadLocalMap;org.mockito.internal.configuration.GlobalConfiguration;org.mockito.internal.listeners.MockingProgressListener;org.mockito.internal.creation.jmock.ClassImposterizer;java.lang.reflect.Constructor;org.mockito.cglib.proxy.MethodInterceptor;java.lang.ClassCastException;org.mockito.cglib.proxy.Factory;org.mockito.cglib.proxy.Callback;org.objenesis.ObjenesisBase;org.objenesis.ObjenesisStd;org.mockito.cglib.core.AbstractClassGenerator;org.mockito.cglib.proxy.Enhancer;org.mockito.cglib.core.DefaultNamingPolicy;org.mockito.internal.creation.cglib.MockitoNamingPolicy;org.mockito.cglib.proxy.CallbackFilter;java.lang.IllegalArgumentException;org.mockito.cglib.proxy.CallbackInfo;org.mockito.asm.Type;org.mockito.internal.creation.jmock.ClassImposterizer$3;org.mockito.cglib.core.AbstractClassGenerator$Source;org.mockito.internal.creation.MockSettingsImpl;org.mockito.internal.MockHandler;org.mockito.internal.MockitoInvocationHandler;org.mockito.internal.creation.cglib.CGLIBHacker;org.mockito.internal.stubbing.InvocationContainerImpl;org.mockito.internal.verification.RegisteredInvocations;java.util.Collections;java.util.Collections$SynchronizedRandomAccessList;org.mockito.internal.invocation.MatchersBinder;org.mockito.internal.util.MockName;java.lang.reflect.Modifier;org.mockito.Mock;java.lang.Enum;org.mockito.Answers;org.mockito.stubbing.Answer;org.mockito.configuration.MockitoConfiguration$1;org.mockito.internal.creation.jmock.SerializableNoOp;org.mockito.internal.creation.jmock.ClassImposterizer$2;org.mockito.internal.creation.jmock.ClassImposterizer$1;org.mockito.cglib.core.NamingPolicy;org.objenesis.strategy.BaseInstantiatorStrategy;org.objenesis.strategy.StdInstantiatorStrategy;org.mockito.exceptions.Reporter;org.mockito.internal.stubbing.answers.CallsRealMethods;org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs;org.mockito.internal.stubbing.defaultanswers.ReturnsEmptyValues;org.mockito.internal.stubbing.defaultanswers.ReturnsMocks;org.mockito.internal.stubbing.defaultanswers.ReturnsMoreEmptyValues;org.mockito.internal.stubbing.defaultanswers.ReturnsSmartNulls;org.mockito.internal.stubbing.defaultanswers.GloballyConfiguredAnswer;org.mockito.configuration.DefaultMockitoConfiguration;org.mockito.internal.configuration.SpyAnnotationEngine;org.mockito.configuration.MockitoConfiguration;org.mockito.configuration.IMockitoConfiguration;org.mockito.internal.configuration.ClassPathLoader;java.lang.Class$1;java.security.AccessController;java.lang.InstantiationException;sun.misc.Unsafe;java.lang.reflect.InvocationTargetException;org.mockitousage.bugs.InjectionByTypeShouldFirstLookForExactTypeThenAncestorTest;org.mockitousage.bugs.InjectionByTypeShouldFirstLookForExactTypeThenAncestorTest$Service;org.junit.Assert;org.mockito.internal.configuration.injection.FinalMockCandidateFilter$2,expectedSteps=1106,stepLimit=1000000,require_method_split=false,launch_class=org.mockitousage.bugs.InjectionByTypeShouldFirstLookForExactTypeThenAncestorTest,class_path=E:\linyun\bug_repo\Mockito\28\fix\target\test-classes;E:\linyun\bug_repo\Mockito\28\fix\target\classes;E:\linyun\bug_repo\Mockito\28\fix\lib\build\ant4hg-V0.07.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\build\asm-3.1.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\build\bnd-0.0.313.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\build\jarjar-1.0.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\build\jaxen-1.1.1.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\build\maven-ant-tasks-2.0.9.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\build\pmd-4.1.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\build\sorcerer.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\compile\com.springsource.org.junit-4.5.0.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\repackaged\cglib-and-asm-1.0.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\run\com.springsource.org.hamcrest.core-1.1.0.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\run\com.springsource.org.objenesis-1.0.0.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\sources\cglib-and-asm-1.0-sources.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\sources\com.springsource.org.hamcrest.core-1.1.0-sources.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\sources\com.springsource.org.objenesis-1.0.0-sources.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\test\fest-assert-1.3.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\test\fest-util-1.1.4.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\test\powermock-reflect-1.2.5.jar;E:\linyun\bug_repo\Mockito\lib\objenesis-1.2.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\junit.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\org.hamcrest.core.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\testrunner.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\bcel-6.0.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\javassist.jar,dump_file_path=E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\trace\Mockito\28\fix.exec,avoid_proxy_tostring=true -cp E:\linyun\bug_repo\Mockito\28\fix\target\test-classes;E:\linyun\bug_repo\Mockito\28\fix\target\classes;E:\linyun\bug_repo\Mockito\28\fix\lib\build\ant4hg-V0.07.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\build\asm-3.1.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\build\bnd-0.0.313.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\build\jarjar-1.0.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\build\jaxen-1.1.1.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\build\maven-ant-tasks-2.0.9.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\build\pmd-4.1.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\build\sorcerer.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\compile\com.springsource.org.junit-4.5.0.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\repackaged\cglib-and-asm-1.0.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\run\com.springsource.org.hamcrest.core-1.1.0.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\run\com.springsource.org.objenesis-1.0.0.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\sources\cglib-and-asm-1.0-sources.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\sources\com.springsource.org.hamcrest.core-1.1.0-sources.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\sources\com.springsource.org.objenesis-1.0.0-sources.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\test\fest-assert-1.3.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\test\fest-util-1.1.4.jar;E:\linyun\bug_repo\Mockito\28\fix\lib\test\powermock-reflect-1.2.5.jar;E:\linyun\bug_repo\Mockito\lib\objenesis-1.2.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\junit.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\org.hamcrest.core.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\testrunner.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\bcel-6.0.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\javassist.jar microbat.evaluation.junit.MicroBatTestRunner org.mockitousage.bugs.InjectionByTypeShouldFirstLookForExactTypeThenAncestorTest mock_should_be_injected_once_and_in_the_best_matching_type
llmhyy commented 6 years ago

The same case happens for Time-3

cmd:

E:\linyun\bug_repo\jdk1.7.0_800\bin\java -Xmx30g -XX:+UseG1GC -ea -noverify -javaagent:E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\instrumentator.jar=precheck=false,excludes=java.util.Properties*,java_home=E:\linyun\bug_repo\jdk1.7.0_800,log=printProgress;error,working_dir=E:\linyun\bug_repo\Time\3\bug,varLayer=1,includes=org.joda.time.format.DateTimeFormatter;org.joda.time.base.BaseDateTime;org.joda.time.base.AbstractDateTime;org.joda.time.base.AbstractInstant;org.joda.time.MutableDateTime;org.joda.time.Chronology;org.joda.time.DurationField;org.joda.time.field.BaseDurationField;org.joda.time.chrono.ZonedChronology$ZonedDurationField;org.joda.time.DateTimeZone;org.joda.time.tz.CachedDateTimeZone;org.joda.time.tz.CachedDateTimeZone$Info;org.joda.time.tz.DateTimeZoneBuilder$PrecalculatedZone;org.joda.time.tz.DateTimeZoneBuilder$DSTZone;org.joda.time.tz.DateTimeZoneBuilder$Recurrence;org.joda.time.tz.DateTimeZoneBuilder$OfYear;org.joda.time.DateTimeField;org.joda.time.field.BaseDateTimeField;org.joda.time.field.PreciseDurationField;org.joda.time.field.PreciseDurationDateTimeField;org.joda.time.chrono.BaseChronology;org.joda.time.chrono.AssembledChronology;org.joda.time.chrono.GJDayOfWeekDateTimeField;org.joda.time.chrono.BasicChronology;org.joda.time.field.ImpreciseDateTimeField;org.joda.time.chrono.BasicMonthOfYearDateTimeField;org.joda.time.chrono.BasicGJChronology;org.joda.time.chrono.BasicChronology$YearInfo;org.joda.time.chrono.BasicDayOfMonthDateTimeField;org.joda.time.field.PreciseDateTimeField;org.joda.time.chrono.ISOChronology;java.util.Arrays;org.joda.time.field.ImpreciseDateTimeField$LinkedDurationField;junit.framework.TestCase;junit.framework.Assert;org.joda.time.TestMutableDateTime_Adds;java.lang.AbstractStringBuilder;java.lang.StringBuffer;org.joda.time.ReadableInstant;org.joda.time.format.DateTimePrinter;java.util.Locale;org.joda.time.format.DateTimeFormatterBuilder$TimeZoneOffset;org.joda.time.format.DateTimeFormatterBuilder$Fraction;org.joda.time.DateTimeFieldType;org.joda.time.DateTimeFieldType$StandardDateTimeFieldType;org.joda.time.format.DateTimeFormatterBuilder$CharacterLiteral;org.joda.time.format.DateTimeFormatterBuilder$NumberFormatter;org.joda.time.format.DateTimeFormatterBuilder$PaddedNumber;org.joda.time.chrono.BasicYearDateTimeField;org.joda.time.format.DateTimeFormatterBuilder$Composite;org.joda.time.chrono.ZonedChronology;java.lang.RuntimeException;java.lang.Exception;java.lang.Throwable;java.lang.UnsupportedOperationException;java.lang.ArithmeticException;org.joda.time.tz.Provider;org.joda.time.tz.ZoneInfoProvider;java.lang.StringBuilder;java.lang.IllegalArgumentException;java.lang.System;java.util.Map;java.util.Properties;java.util.LinkedHashMap;java.util.Collections$EmptyMap;java.util.HashMap;java.util.WeakHashMap;java.util.jar.Attributes;java.util.Hashtable;java.util.AbstractMap;java.lang.ClassValue$ClassValueMap;java.util.TreeMap;java.util.NavigableMap;java.util.SortedMap;java.util.Collections$UnmodifiableMap;org.joda.time.chrono.GregorianChronology;org.joda.time.chrono.AssembledChronology$Fields;org.joda.time.field.UnsupportedDateTimeField;org.joda.time.DurationFieldType;org.joda.time.field.UnsupportedDurationField;java.util.HashMap$Entry;org.joda.time.DurationFieldType$StandardDurationFieldType;org.joda.time.chrono.ZonedChronology$ZonedDateTimeField;org.joda.time.field.DecoratedDateTimeField;org.joda.time.field.ZeroIsMaxDateTimeField;org.joda.time.field.MillisDurationField;org.joda.time.field.DecoratedDurationField;org.joda.time.field.ScaledDurationField;org.joda.time.field.RemainderDateTimeField;org.joda.time.chrono.BasicWeekyearDateTimeField;org.joda.time.chrono.BasicWeekOfWeekyearDateTimeField;org.joda.time.chrono.BasicDayOfYearDateTimeField;org.joda.time.field.DividedDateTimeField;org.joda.time.chrono.GJYearOfEraDateTimeField;java.io.InputStream;java.lang.ref.Reference;java.lang.ref.SoftReference;java.io.FilterInputStream;java.io.DataInputStream;java.io.DataInput;org.joda.time.tz.DateTimeZoneBuilder;java.io.IOException;java.lang.ClassLoader;java.net.URL;java.io.File,expectedSteps=46502,stepLimit=1000000,require_method_split=false,launch_class=org.joda.time.TestMutableDateTime_Adds,class_path=E:\linyun\bug_repo\Time\3\bug\target\test-classes;E:\linyun\bug_repo\Time\3\bug\target\classes;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\junit.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\org.hamcrest.core.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\testrunner.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\bcel-6.0.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\javassist.jar,dump_file_path=E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\trace\Time\3\bug.exec,avoid_proxy_tostring=true -cp E:\linyun\bug_repo\Time\3\bug\target\test-classes;E:\linyun\bug_repo\Time\3\bug\target\classes;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\junit.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\org.hamcrest.core.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\testrunner.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\bcel-6.0.jar;E:\linyun\software\eclipse-java-mars\eclipse-java-mars-clean\eclipse\dropins\junit_lib\javassist.jar microbat.evaluation.junit.MicroBatTestRunner org.joda.time.TestMutableDateTime_Adds testAddYears_int_dstOverlapWinter_addZero