Skip to content

pub get - Connection closed before full header was received #16910

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
DartBot opened this issue Feb 18, 2014 · 7 comments
Closed

pub get - Connection closed before full header was received #16910

DartBot opened this issue Feb 18, 2014 · 7 comments

Comments

@DartBot
Copy link

DartBot commented Feb 18, 2014

This issue was originally filed by [email protected]


pub get:

Resolving dependencies.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Connection closed before full header was received, uri = https://pub.dartlang.org/api/packages/polymer/versions/0.8.10.

What steps will reproduce the problem?

  1. Get this dart repo: https://code.google.com/p/negentropia/source/browse/wwwroot/dart
  2. Open the dart folder in the Dart Editor
  3. Append the spectre dependency to pubspec.yaml:
      spectre:
        git: https://github.com/johnmccutchan/spectre.git
  4. Run pub get

What is the expected output?

No pub get errors.

What do you see instead?

Connection closed before full header was received, uri = https://pub.dartlang.org/api/packages/polymer/versions/0.8.10.

What version of the product are you using?

Build 32712
Dart Editor version 1.2.0.dev_05_08 (DEV)
Dart SDK version 1.2.0-dev.5.8

On what operating system?

64-bit Windows 7

@kevmoo
Copy link
Member

kevmoo commented Feb 18, 2014

Added Area-Pub, Triaged labels.

@nex3
Copy link
Member

nex3 commented Feb 18, 2014

I can't reproduce this.

Usually errors like this indicate something going wrong in the network between your computer and the pub server. The error should be reported at least somewhat better, though... can you re-run with "--verbose" and post the output here?

@DartBot
Copy link
Author

DartBot commented Feb 19, 2014

This comment was originally written by [email protected]


I don't think this is a network issue, since:

  • pub get always works without the spectre dependency
  • pub get fails every time with the spectre dependency

With --verbose, I get another failure:

C:\tmp\devel\negentropia\wwwroot\dart>c:\dart\dart-sdk\bin\pub get --verbose 2>pub_get_verbose_stderr.txt
Resolving dependencies...
Uncaught Error: Out of Memory
Stack Trace:
#­0 Object.toString (dart:core-patch/object_patch.dart:33)
#­1 Trace.Trace.from.<anonymous closure> (package:stack_trace/src/trace.dart:104)
#­2 Trace.Trace.current.<anonymous closure> (package:stack_trace/src/trace.dart:24)
#­3 LazyTrace.terse.<anonymous closure> (package:stack_trace/src/lazy_trace.dart:23)
#­4 Chain.terse.<anonymous closure> (package:stack_trace/src/chain.dart:38)
#­5 List.List.from (dart:core/list.dart:469)
...
...
#­6 _rootRunBinary (dart:async/zone.dart:729)
#­7 _RootZone.runBinary (dart:async/zone.dart:857)
#­8 _Future._propagateToListeners.handleError (dart:async/future_impl.da
#­9 _Future._propagateToListeners (dart:async/future_impl.dart:528)
#­10 _Future._completeError (dart:async/future_impl.dart:315)
#­11 _Future._asyncCompleteError.<anonymous closure> (dart:async/future_impl.dart:367)
#­12 _AsyncCallbackEntry.callback (dart:async/schedule_microtask.dart:1)
#­13 _asyncRunCallbackLoop (dart:async/schedule_microtask.dart:23)
#­14 _asyncRunCallback (dart:async/schedule_microtask.dart:32)
#­15 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:119)

See pub_get_verbose_stderr.txt attached.


Attachment:
pub_get_verbose_stderr.zip (211.98 KB)

@nex3
Copy link
Member

nex3 commented Feb 19, 2014

It looks like you're seeing exponential version-resolution behavior due to some conflicting constraints. I'm looking into it to see if I can figure out exactly why this is happening.

@nex3
Copy link
Member

nex3 commented Feb 19, 2014

All right, I've figured out the conflict:

* "spectre" depends on "polymer"

  • "polymer" depends on "barback"
  • "barback" depends on "stack_trace"
  • "stack_trace" depends on "path" version ">=1.0.0-rc.1 <2.0.0"
  • "stats" depends on "plummbur_kruk"
  • "plummbur_kruk" depends on "intl"
  • "intl" depends on "path" version ">=0.9.0 <0.10.0"

Thus, there's a version conflict between stack_trace's and intl's path dependency.

The real culprit here, though, are the "stats" and "plummbur_kruk" packages. They both have extremely tight dependencies: stats depends on plummbur_kruk ">=0.1.0 <0.1.1", which effectively only allows version 0.1.0; plummbur_kruk depends on intl ">=0.9.0 <0.9.1", which effectively only allows version 0.9.0.

Recent versions of intl (0.9.4 is the most recent) are compatible with path >=1.0.0, but you can't use them because of plummbur_kruk's too-tight dependency, nor could you use a new version of plummbur_kruk due to stats' too-tight dependency. I suggest you contact the maintainers of these packages and ask them to fix their dependencies.

I've filed issue #16961 to track the exponential behavior.


Added Done label.

@DartBot
Copy link
Author

DartBot commented Jun 5, 2015

This issue has been moved to dart-lang/pub#869.

@victorhez
Copy link

I solved mine too by changing the version number of the affected dependency to "any"

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants