Paket icon indicating copy to clipboard operation
Paket copied to clipboard

Again: Endless loop with conflict that isn´t one

Open Flohack74 opened this issue 4 years ago • 5 comments

Description

When paket tries to resolve a 3rd party dependency conflict it does not find any resolution. But actually the conflict isn´t one, as it has no contradiction in paket.dependencies

Repro steps

Please provide the steps required to reproduce the problem

  1. Set up a direct dependency to log4net without version restriction

  2. Have another 2 direct dependencies, which also reference log4net. One of them has a precise version number as a restriction, the other has >= restriction

Expected behavior

Paket gives a warning but uses the precise version number to resolve.

Actual behavior

Paket is running for over 30mins with that warning:

The process is taking longer than expected.
Paket may still find a valid resolution, but this might take a while.
  Conflict detected:
   - Dependencies file requested package log4net: >= 0
   - Common.Logging 31.0.8 requested package log4net: 2.0.12
   - DistributionBase 15.0.142 requested package log4net: >= 2.0.12

Flohack74 avatar Dec 13 '21 10:12 Flohack74

It´s actually fully saturating a CPU core in that state...

Flohack74 avatar Dec 13 '21 10:12 Flohack74

And also to note this was without a paket.lock file, we discovered that thing accidentially. If I restore paket.lock all is fine.

Flohack74 avatar Dec 13 '21 10:12 Flohack74

WORKAROUND: resolve "conflict" yourself, add fixed version to paket.dependencies, run paket install, remove fixed version from paket.dependencies (paket.lock will contain forced resolution until "next time")

MiloszKrajewski avatar Dec 13 '21 12:12 MiloszKrajewski

We see this issue in different projecs and cases without a clear conflict. Is the message wrong? Our a bug in solving the constraints?

sja-schleupen avatar Jan 26 '24 15:01 sja-schleupen