- Notifications
You must be signed in to change notification settings - Fork 7
Closed
Labels
Description
Encountered a duplicate key error while processing the paper's motivating example.
IR:
3 = new <Application,Ljava/util/HashSet>@0 invokespecial < Application, Ljava/util/HashSet, <init>()V > 3 @4 exception:4 6 = invokeinterface < Application, Ljava/util/Collection, stream()Ljava/util/stream/Stream; > 3 @9 exception:5 8 = invokestatic < Application, Ljava/lang/invoke/LambdaMetafactory, apply()Ljava/util/function/Function; > @14 exception:7 10 = invokestatic < Application, Ljava/util/Comparator, comparing(Ljava/util/function/Function;)Ljava/util/Comparator; > 8 @19 exception:9 12 = invokeinterface < Application, Ljava/util/stream/Stream, sorted(Ljava/util/Comparator;)Ljava/util/stream/Stream; > 6,10 @22 exception:11 14 = invokestatic < Application, Ljava/util/stream/Collectors, toList()Ljava/util/stream/Collector; > @27 exception:13 16 = invokeinterface < Application, Ljava/util/stream/Stream, collect(Ljava/util/stream/Collector;)Ljava/lang/Object; > 12,14 @30 exception:15 17 = checkcast <Application,Ljava/util/List>16 <Application,Ljava/util/List> 18 = new <Application,Ljava/util/ArrayList>@39 invokespecial < Application, Ljava/util/ArrayList, <init>()V > 18 @43 exception:19 21 = invokeinterface < Application, Ljava/util/Collection, parallelStream()Ljava/util/stream/Stream; > 18 @48 exception:20 3 = new <Application,Ljava/util/HashSet>@0 invokespecial < Application, Ljava/util/HashSet, <init>()V > 3 @4 exception:4 6 = invokeinterface < Application, Ljava/util/Collection, stream()Ljava/util/stream/Stream; > 3 @9 exception:5 8 = invokestatic < Application, Ljava/lang/invoke/LambdaMetafactory, apply()Ljava/util/function/Function; > @14 exception:7 10 = invokestatic < Application, Ljava/util/Comparator, comparing(Ljava/util/function/Function;)Ljava/util/Comparator; > 8 @19 exception:9 12 = invokeinterface < Application, Ljava/util/stream/Stream, sorted(Ljava/util/Comparator;)Ljava/util/stream/Stream; > 6,10 @22 exception:11 14 = invokestatic < Application, Ljava/util/stream/Collectors, toList()Ljava/util/stream/Collector; > @27 exception:13 16 = invokeinterface < Application, Ljava/util/stream/Stream, collect(Ljava/util/stream/Collector;)Ljava/lang/Object; > 12,14 @30 exception:15 17 = checkcast <Application,Ljava/util/List>16 <Application,Ljava/util/List> 18 = new <Application,Ljava/util/ArrayList>@39 invokespecial < Application, Ljava/util/ArrayList, <init>()V > 18 @43 exception:19 21 = invokeinterface < Application, Ljava/util/Collection, parallelStream()Ljava/util/stream/Stream; > 18 @48 exception:20
Error:
!ENTRY org.eclipse.jdt.ui 4 10001 2017-09-15 13:55:15.157 !MESSAGE Internal Error !STACK 0 java.lang.IllegalStateException: Duplicate key true at java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133) at java.util.HashMap.merge(HashMap.java:1253) at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1320) at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1548) at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:270) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1691) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) at edu.cuny.hunter.streamrefactoring.core.analysis.StreamStateMachine.start(StreamStateMachine.java:454) at edu.cuny.hunter.streamrefactoring.core.analysis.Stream.<init>(Stream.java:204) at edu.cuny.hunter.streamrefactoring.core.analysis.StreamAnalysisVisitor.visit(StreamAnalysisVisitor.java:49) at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:231) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711) at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759) at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:234) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711) at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759) at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:234) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711) at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759) at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:234) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711) at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759) at org.eclipse.jdt.core.dom.VariableDeclarationFragment.accept0(VariableDeclarationFragment.java:263) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782) at org.eclipse.jdt.core.dom.VariableDeclarationStatement.accept0(VariableDeclarationStatement.java:267) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782) at org.eclipse.jdt.core.dom.Block.accept0(Block.java:137) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711) at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759) at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:635) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782) at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:470) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782) at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:212) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711) at edu.cuny.hunter.streamrefactoring.core.refactorings.ConvertToParallelStreamRefactoringProcessor.checkFinalConditions(ConvertToParallelStreamRefactoringProcessor.java:191) at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:222) at org.eclipse.ltk.core.refactoring.Refactoring.checkAllConditions(Refactoring.java:162) at edu.cuny.hunter.streamrefactoring.eval.handlers.EvaluateConvertToParallelStreamRefactoringHandler.lambda$0(EvaluateConvertToParallelStreamRefactoringHandler.java:135) at org.eclipse.core.runtime.jobs.Job$1.run(Job.java:161) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)