kevmoo / pubviz

Visualize package dependencies in your Dart project
https://pub.dev/packages/pubviz
BSD 3-Clause "New" or "Revised" License
162 stars 20 forks source link

Stack trace with bad .pub dir #11

Open jakemac53 opened 8 years ago

jakemac53 commented 8 years ago

The pubviz tool appears to be failing on the current master branch for polymer:

*********$ pub global run pubviz open
Unhandled exception:
The null object does not have a setter 'isPrimary='.

NoSuchMethodError: method not found: 'isPrimary='
Receiver: null
Arguments: [true]
#0      Object._noSuchMethod (dart:core-patch/object_patch.dart:42)
#1      Object.noSuchMethod (dart:core-patch/object_patch.dart:45)
#2      VizRoot._update (package:pubviz/src/viz_root.dart:65)
#3      VizRoot.forDirectory.<forDirectory_async_body> (package:pubviz/src/viz_root.dart:49)
#4      _RootZone.runUnary (dart:async/zone.dart:1149)
#5      _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:495)
#6      _Future._propagateToListeners (dart:async/future_impl.dart:581)
#7      _Future._complete (dart:async/future_impl.dart:363)
#8      _SyncCompleter.complete (dart:async/future_impl.dart:52)
#9      _getReferencedPackages.<_getReferencedPackages_async_body> (package:pubviz/src/viz_root.dart)
#10     _RootZone.runUnary (dart:async/zone.dart:1149)
#11     _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:495)
#12     _Future._propagateToListeners (dart:async/future_impl.dart:581)
#13     _Future._completeWithValue (dart:async/future_impl.dart:373)
#14     Future.wait.<anonymous closure> (dart:async/future.dart:299)
#15     _RootZone.runUnary (dart:async/zone.dart:1149)
#16     _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:495)
#17     _Future._propagateToListeners (dart:async/future_impl.dart:581)
#18     _Future._complete (dart:async/future_impl.dart:363)
#19     _SyncCompleter.complete (dart:async/future_impl.dart:52)
#20     _getReferencedPackages.<_getReferencedPackages_async_body>.<anonymous closure>.<<anonymous closure>_async_body> (package:pubviz/src/viz_root.dart)
#21     _RootZone.runUnary (dart:async/zone.dart:1149)
#22     _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:495)
#23     _Future._propagateToListeners (dart:async/future_impl.dart:581)
#24     _Future._complete (dart:async/future_impl.dart:363)
#25     _SyncCompleter.complete (dart:async/future_impl.dart:52)
#26     VizPackage.forDirectory.<forDirectory_async_body> (package:pubviz/src/viz_package.dart)
#27     _RootZone.runUnary (dart:async/zone.dart:1149)
#28     _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:495)
#29     _Future._propagateToListeners (dart:async/future_impl.dart:581)
#30     _Future._complete (dart:async/future_impl.dart:363)
#31     _SyncCompleter.complete (dart:async/future_impl.dart:52)
#32     _openYaml.<_openYaml_async_body> (package:pubviz/src/viz_package.dart)
#33     _RootZone.runUnary (dart:async/zone.dart:1149)
#34     _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:495)
#35     _Future._propagateToListeners (dart:async/future_impl.dart:581)
#36     _Future._completeWithValue (dart:async/future_impl.dart:373)
#37     _Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:427)
#38     _microtaskLoop (dart:async/schedule_microtask.dart:41)
#39     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
#40     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:96)
#41     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:149)
jakemac53 commented 8 years ago

Actually sorry, this doesn't happen on master (I forgot to rerun pub upgrade once I switched back to the master branch). I assume my .pub dir was in a weird state or something which caused this. (I deleted my .pub dir, tried to run pub upgrade but it failed due to version mismatches, and then tried to run pubviz). Seems like a better error would still be good for this case though.

kevmoo commented 8 years ago

@jakemac53 Yeah, I'm using list-package-dirs at the moment. If I was using pub deps we'd get an from pub up front that the lock file is out of date.

When I'm bored...or you're bored. :smiley_cat: