Skip to content

Pub's version resolution goes exponential on a simple pubspec #874

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 Jun 5, 2015 · 6 comments
Closed

Pub's version resolution goes exponential on a simple pubspec #874

DartBot opened this issue Jun 5, 2015 · 6 comments
Assignees
Labels
type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)

Comments

@DartBot
Copy link

DartBot commented Jun 5, 2015

<img src="https://avatars.githubusercontent.com/u/188?v=3" align="left" width="96" height="96"hspace="10"> Issue by nex3
Originally opened as dart-lang/sdk#16961


The following pubspec causes pub's version resolution to go exponential:

  name: app
  dependencies:
    intl: 0.9.0
    polymer: "<=0.9.5"

This happens as of 1.2.0-edge.32615; the exponential churn involves pub's barback constraint, so it may change in future versions. The same pattern should persist, though.

This is caused by a conflicting constraint (intl and recent stack_trace versions have disjoint constraints on path), and compounded by the fact that pub tries to backtrack through every archived version of polymer. We may be able to mitigate this behavior by more aggressively checking for disjoint constraints; we may not be able to avoid checking all older polymer versions, but we can quickly discard them by noticing that their barback constraint is disjoint with pub's.

@DartBot
Copy link
Author

DartBot commented Jun 5, 2015

<img src="https://avatars.githubusercontent.com/u/46275?v=3" align="left" width="48" height="48"hspace="10"> Comment by munificent


Removed Priority-Unassigned label.
Added Priority-Medium label.

@DartBot DartBot added type-bug Incorrect behavior (everything from a crash to more subtle misbehavior) Started labels Jun 5, 2015
@DartBot
Copy link
Author

DartBot commented Jun 5, 2015

<img src="https://avatars.githubusercontent.com/u/46275?v=3" align="left" width="48" height="48"hspace="10"> Comment by munificent


Set owner to @munificent.
Added Started label.

@DartBot
Copy link
Author

DartBot commented Jun 5, 2015

<img src="https://avatars.githubusercontent.com/u/46275?v=3" align="left" width="48" height="48"hspace="10"> Comment by munificent


I spent some time on this, but wasn't able to come up with any simple heuristics or techniques that help. Moving on for now.


Added Accepted label.

@DartBot
Copy link
Author

DartBot commented Jun 5, 2015

<img src="https://avatars.githubusercontent.com/u/188?v=3" align="left" width="48" height="48"hspace="10"> Comment by nex3


Issue #14 has been merged into this issue.

@DartBot
Copy link
Author

DartBot commented Jun 5, 2015

<img src="https://avatars.githubusercontent.com/u/188?v=3" align="left" width="48" height="48"hspace="10"> Comment by nex3


I have some ideas for how to improve this, so I'm going to spend some time on it.


Set owner to @nex3.
Added Started label.

@nex3
Copy link
Member

nex3 commented Dec 9, 2015

Fixed in f401f11.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)
Projects
None yet
Development

No branches or pull requests

2 participants