Skip to content

pub get fails from Dart Editor 1.10.0 on medium-size polymer project #32

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
Labels
type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)

Comments

@DartBot
Copy link

DartBot commented Jun 5, 2015

Originally opened as dart-lang/sdk#23552

This issue was originally filed by [email protected]


What steps will reproduce the problem?

  1. Run pub-get on my project, either from within Dart Editor or from the command line
  2. "Resolving dependencies..." appears, with a timer
  3. pub-get pegs 100% CPU, consumes 0.6 Gb of RAM and does not complete, eventually has to be terminated (longest I let it run was about 6 minutes) and Dart Editor then reports pub-get failed

What is the expected output? What do you see instead?

Expected result is for pub-get to upgrade packages as per constraints in pubspec.yaml

What version of the product are you using?

1.10.0

On what operating system?

Linux/64

What browser (if applicable)?

N/A

Please provide any additional information below.

Project dependencies listed in pubspec.yaml:

  dart_config: any
  dbcrypt: any
  lawndart: any
  lzma: any
  mailer: any
  memcached_client: any
  paper_elements: any
  petitparser: any
  polymer: '>=0.16.0 <0.17.0'
  postgresql: any
  unittest: any

I know I can download the package I intend to upgrade manually from pub, so this isn't urgent for me. pub get has worked fine in the past on the same project - perhaps something changed in the back-end for 1.10.0?

@DartBot
Copy link
Author

DartBot commented Jun 5, 2015

@DartBot
Copy link
Author

DartBot commented Jun 5, 2015

This comment was originally written by [email protected]


Ok, that's good to know; but with a change this significant, with an impact this serious, it would have been good to know in advance. I certainly wasn't aware of it, I can't find mention of it (or, indeed, any release notes for 1.10.0 in general) on the dartlang website, there's no mention of it in the G+ dartlang community that I can see, and perhaps most importantly the tools themselves don't report anything. Perhaps there's a better way of finding out about this rather than after the fact?

@DartBot
Copy link
Author

DartBot commented Jun 5, 2015

This comment was originally written by [email protected]


Ok, I've removed the "any" constraints in my project's pubspec.yaml, and replaced them with "^*" versions based on the latest listed on pub. So, pubspec.yaml now reads like this:

  dart_config: ^0.5.0
  dbcrypt: ^0.2.1
  lawndart: ^0.9.0
  lzma: ^0.3.0
  mailer: ^0.8.12
  memcached_client: ^0.5.3
  paper_elements: ^0.7.1
  petitparser: ^1.4.3
  polymer: '>=0.16.0 <0.17.0'
  postgresql: ^0.3.0+2
  unittest: ^0.12.2

There is no change in behaviour; pub get still pegs CPU at 100% and needs to be terminated after multiple minutes.

@DartBot
Copy link
Author

DartBot commented Jun 5, 2015

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


This was posted 2 days ago :)
This wasn't caused by a specific change, more a conclusion from experience.
The intention of the any constraint was to make it easy for developers, but experienced has shown that pub sometimes just can't find a compatible set of dependencies in reasonable time and needs more guidance.
Therefore the decision was made to not suggest any anymore, but to suggest developers should set concrete constraints instead.

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

DartBot commented Jun 5, 2015

This comment was originally written by [email protected]


Created a new, completely blank project with the dependencies listed in comment #­1 (i.e. with "any" constraints). pub get worked with the following output:

Resolving dependencies...

  • analyzer 0.25.0+1 (0.25.1-alpha.0 available)
  • args 0.13.1
  • barback 0.15.2+4
  • browser 0.10.0+2
  • cli_util 0.0.1+2
  • code_transformers 0.2.9
  • collection 1.1.1
  • core_elements 0.7.1+2
  • crypto 0.9.0
  • csslib 0.12.0+1
  • dart_config 0.5.0
  • dart_style 0.1.8
  • dbcrypt 0.2.1
  • drandom 0.0.3
  • fixnum 0.9.1+2
  • glob 1.0.4
  • html 0.12.1+1
  • http_parser 0.0.2+6
  • initialize 0.6.1
  • intl 0.12.4
  • lawndart 0.9.0
  • logging 0.11.1
  • lzma 0.3.0
  • mailer 0.8.12
  • matcher 0.12.0+1
  • memcached_client 0.5.3
  • mime 0.9.3
  • observe 0.13.1+1
  • paper_elements 0.7.1
  • path 1.3.5
  • petitparser 1.4.3
  • polymer 0.16.3+3
  • polymer_expressions 0.13.1
  • polymer_interop 0.1.1
  • pool 1.0.2
  • postgresql 0.3.0+2
  • pub_semver 1.2.1
  • quiver 0.21.4
  • shelf 0.6.1+2
  • shelf_static 0.2.2
  • shelf_web_socket 0.0.1+2
  • smoke 0.3.3+1
  • source_maps 0.10.1
  • source_span 1.1.2
  • stack_trace 1.3.2
  • string_scanner 0.1.3+1
  • template_binding 0.14.0+2
  • test 0.12.0 (0.12.2 available)
  • unittest 0.12.2
  • utf 0.9.0+2
  • watcher 0.9.5
  • web_components 0.11.4+1
  • when 0.2.0
  • which 0.1.3
  • yaml 2.1.2
    Changed 55 dependencies!
    Precompiling dependencies...
    Loading source assets...
    Loading initialize/build/loader_replacer, initialize, observe, code_transformers/src/delete_file, polymer_interop/src/build/replace_polymer_js, smoke/src/default_transformer, web_components/build/mirrors_remover and web_components transformers...
    Loading polymer transformers...
    Precompiled core_elements, dart_style, initialize, intl, observe, paper_elements, polymer, polymer_interop, smoke and web_components.
    Precompiling executables...
    Loading source assets...
    Loading code_transformers/src/delete_file, observe, initialize/build/loader_replacer, initialize, smoke/src/default_transformer, web_components/build/mirrors_remover, web_components and polymer_interop/src/build/replace_polymer_js transformers...
    Loading polymer transformers...
    Precompiled polymer:new_element.
    Precompiled polymer:new_entry.
    Precompiled unittest:unittest.

@DartBot
Copy link
Author

DartBot commented Jun 5, 2015

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


Not sure if anything changed, but I can report that pub get on the same project works correctly and without significant delay on 1.10.1. Thanks!

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