chef / dep-selector-libgecode

Bundled Gecode Libraries for dep-selector
Apache License 2.0
11 stars 26 forks source link

Berkshelf stuck on resolution with the latest version #65

Open xeron opened 4 years ago

xeron commented 4 years ago

Reporting here because rollback to 1.3.1 helps. However it could be berkshelf's bug.

Berkshelf stuck on resolution with the latest version. Looks like it's not using dep-selector-libgecode and using ruby solver instead which is being stuck on circual dependencies.

With only 1.3.5 installed DEBUG_RESOLVER=1 berks install -d shows something like User-requested dependencies … solver=#<Solve::RubySolver:…> in the output. With only 1.3.1 or both 1.3.1 and 1.3.5 installed DEBUG_RESOLVER=1 berks install -d doesn't show this record and immediatelly goes to downloading dependencies.

Version:

Affected – 1.3.5. Rollback to 1.3.1 fixes the issue. Having both 1.3.5 and 1.3.1 also works.

Environment: [Details about the environment such as the Operating System, cookbook details, etc...]

Scenario:

Trying to install or update dependencies. There're cookbooks with circural dependencies.

Steps to Reproduce:

rm -rf ~/.berkshelf/cookbooks
rm -rf ~/.berkshelf/.cache
rm Berksfile.lock
berks install -d

Expected Result:

Dependencies installed and Berksfile.lock generated.

Actual Result:

Berkshelf stuck on the following:

D, [2020-02-19T18:53:41.729388 #57612] DEBUG -- :   Starting resolution...

Ctrl+C shows:

Traceback (most recent call last):
    30: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in `<main>'
    29: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in `eval'
    28: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/berks:23:in `<main>'
    27: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/berks:23:in `load'
    26: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/bin/berks:5:in `<top (required)>'
    25: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/cli.rb:23:in `execute!'
    24: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor/base.rb:485:in `start'
    23: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/cli.rb:47:in `dispatch'
    22: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'
    21: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'
    20: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'
    19: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/cli.rb:131:in `install'
    18: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/berksfile.rb:405:in `install'
    17: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/installer.rb:43:in `run'
    16: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/installer.rb:181:in `install_from_universe'
    15: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/resolver.rb:78:in `resolve'
    14: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/solve-4.0.3/lib/solve.rb:64:in `it!'
    13: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/solve-4.0.3/lib/solve/ruby_solver.rb:76:in `resolve'
    12: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/solve-4.0.3/lib/solve/ruby_solver.rb:260:in `resolve_with_error_wrapping'
    11: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolver.rb:43:in `resolve'
    10: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:182:in `resolve'
     9: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:254:in `process_topmost_state'
     8: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:686:in `attempt_to_activate'
     7: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:729:in `activate_new_spec'
     6: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:739:in `require_nested_dependencies_for'
     5: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:739:in `each'
     4: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:740:in `block in require_nested_dependencies_for'
     3: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/dependency_graph.rb:150:in `add_child_vertex'
     2: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/dependency_graph.rb:150:in `each'
     1: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/dependency_graph.rb:152:in `block in add_child_vertex'
/Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/dependency_graph.rb:193:in `add_edge': There is a circular dependency between XXX and YYY (Molinillo::CircularDependencyError)
    27: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in `<main>'
    26: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in `eval'
    25: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/berks:23:in `<main>'
    24: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/berks:23:in `load'
    23: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/bin/berks:5:in `<top (required)>'
    22: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/cli.rb:23:in `execute!'
    21: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor/base.rb:485:in `start'
    20: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/cli.rb:47:in `dispatch'
    19: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'
    18: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'
    17: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'
    16: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/cli.rb:131:in `install'
    15: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/berksfile.rb:405:in `install'
    14: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/installer.rb:43:in `run'
    13: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/installer.rb:181:in `install_from_universe'
    12: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/resolver.rb:78:in `resolve'
    11: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/solve-4.0.3/lib/solve.rb:64:in `it!'
    10: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/solve-4.0.3/lib/solve/ruby_solver.rb:76:in `resolve'
     9: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/solve-4.0.3/lib/solve/ruby_solver.rb:260:in `resolve_with_error_wrapping'
     8: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolver.rb:43:in `resolve'
     7: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:182:in `resolve'
     6: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:252:in `process_topmost_state'
     5: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:261:in `rescue in process_topmost_state'
     4: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:305:in `unwind_for_conflict'
     3: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:343:in `build_details_for_unwind'
     2: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:343:in `select'
     1: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:345:in `block in build_details_for_unwind'
/Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:345:in `&': Interrupt
xeron commented 4 years ago

Anyone?