Open MichaelRFairhurst opened 6 years ago
Fuzz Failure <<==DART CODE==>> import 'package:angular2/angular2.dart'; @Component( selector: 'my-aaa, templateUrl: 'test.html', directives: const [CounterComponent, NgIf, NgFor, NgForm, NgModel]) class ComponentA { List<String> items; Strig header; } @Component( selector: 'my-counter', inputs: const ['count'], outputs: const ['resetEvent: reset'], template: '{{count}} <button "(click)="increment()" [value]="\'add\'"></butt <<==HTML CODE==>> <!-- @ngIgnoreErrors: --> [maxCount]='4' {{x}} : {{item.trim()}} <fof2833a3f260b0937bater.reset()' <my-counter></my-counter> rm #ngForm="ngForm"></form> (click)='h1.hidden = !h1.hidden; coun} ]), }); { \'\'\'); '090cedb3f2833a3f260b0937bater.reset()' <my-counter></my-counter> (reset)='' <input [(ngModel)]="header" /> {{ngFo^rm.dirty}} </li> (incremented)='items.add($event.toString())'> </div> <div *ngIf="items.length > 0"> <h1 #h1>Showing {{items.length}} items:</h1> <li *ngFor='let item of items; let x=index' [hidden]='item != ntull'> </my-counter> <my-counter #counter [count]="items.length" <<==DONE==>> 'package:analyzer_plugin/src/utilities/completion/optype.dart': Failed assertion: line 433 pos 12: 'false': is not true. #0 _AssertionError._doThrowNew (dart:core-patch/dart:core/errors_patch.dart:37) #1 _AssertionError._throwNew (dart:core-patch/dart:core/errors_patch.dart:33) #2 _OpTypeAstVisitor.visitExpression (package:analyzer_plugin/src/utilities/completion/optype.dart:433:12) #3 GeneralizingAstVisitor.visitLiteral (package:analyzer/dart/ast/visitor.dart:400:35) #4 GeneralizingAstVisitor.visitSymbolLiteral (package:analyzer/dart/ast/visitor.dart:521:47) #5 SymbolLiteralImpl.accept (package:analyzer/src/dart/ast/ast.dart:10312:49) #6 new OpType.forCompletion (package:analyzer_plugin/src/utilities/completion/optype.dart:117:10) #7 NgInheritedReferenceContributor.defineOpType (package:angular_analyzer_plugin/src/completion.dart:310:24) #8 NgInheritedReferenceContributor.computeSuggestions (package:angular_analyzer_plugin/src/completion.dart:264:13) <asynchronous suspension> #9 AbstractCompletionContributorTest.computeSuggestions (file:///home/mfairhurst/dart/angular_analyzer_plugin2/angular_analyzer_plugin/test/completion_contributor_test_util.dart:56:25) <asynchronous suspension> #10 CompletionFuzzTest.checkNoCrash.<anonymous closure>.<anonymous closure> (file:///home/mfairhurst/dart/angular_analyzer_plugin2/angular_analyzer_plugin/test/completion_fuzz_test.dart:45:11) #11 _rootRunUnary (dart:async/zone.dart:1134) #12 _CustomZone.runUnary (dart:async/zone.dart:1031) #13 _FutureListener.handleValue (dart:async/future_impl.dart:129) #14 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:633) #15 _Future._propagateToListeners (dart:async/future_impl.dart:662) #16 _Future._complete (dart:async/future_impl.dart:467) #17 _SyncCompleter.complete (dart:async/future_impl.dart:51) #18 _completeOnAsyncReturn (dart:async-patch/dart:async/async_patch.dart:292) #19 AbstractCompletionContributorTest.resolveSingleTemplate (file:///home/mfairhurst/dart/angular_analyzer_plugin2/angular_analyzer_plugin/test/completion_contributor_test_util.dart:79:9) #20 _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/dart:async/async_patch.dart:77) #21 _rootRunUnary (dart:async/zone.dart:1134) #22 _CustomZone.runUnary (dart:async/zone.dart:1031) #23 _FutureListener.handleValue (dart:async/future_impl.dart:129) #24 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:633) #25 _Future._propagateToListeners (dart:async/future_impl.dart:662) #26 _Future._complete (dart:async/future_impl.dart:467) #27 _SyncCompleter.complete (dart:async/future_impl.dart:51) #28 _completeOnAsyncReturn (dart:async-patch/dart:async/async_patch.dart:292) #29 AngularDriver.resolveHtml (package:angular_analyzer_plugin/src/angular_driver.dart:480:5) #30 _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/dart:async/async_patch.dart:77) #31 _rootRunUnary (dart:async/zone.dart:1134) #32 _CustomZone.runUnary (dart:async/zone.dart:1031) #33 _FutureListener.handleValue (dart:async/future_impl.dart:129) #34 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:633) #35 _Future._propagateToListeners (dart:async/future_impl.dart:662) #36 _Future._complete (dart:async/future_impl.dart:467) #37 _SyncCompleter.complete (dart:async/future_impl.dart:51) #38 _completeOnAsyncReturn (dart:async-patch/dart:async/async_patch.dart:292) #39 AngularDriver.resolveHtmlFrom (package:angular_analyzer_plugin/src/angular_driver.dart:603:5) #40 _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/dart:async/async_patch.dart:77) #41 _rootRunUnary (dart:async/zone.dart:1134) #42 _CustomZone.runUnary (dart:async/zone.dart:1031) #43 _FutureListener.handleValue (dart:async/future_impl.dart:129) #44 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:633)
This seems to be a race condition or something. Have reproed it twice in my fuzzer (seeds 1384179290 and 3939120087) and neither have seemed to fail more than once.