Skip to content
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

Improve paket's conflict reporting during resolution time #1166

Closed
TheAngryByrd opened this issue Oct 26, 2015 · 17 comments
Closed

Improve paket's conflict reporting during resolution time #1166

TheAngryByrd opened this issue Oct 26, 2015 · 17 comments

Comments

@TheAngryByrd
Copy link
Contributor

Paket is being odd and downloading a lot of unnecessary packages. Sorry I can't give you a repro repo right now. I'll try to later tonight.

Paket version 2.17.1.0
screen shot 2015-10-26 at 3 25 46 pm

@forki
Copy link
Member

forki commented Oct 26, 2015

It doesn't download these packages. It tries to find a resolution. It seems
there are very narrow dependency restrictions.
On Oct 26, 2015 8:30 PM, "Jimmy Byrd" notifications@github.com wrote:

Paket is being odd and downloading a lot of unnecessary packages. Sorry I
can't give you a repro repo right now. I'll try to later tonight.

Paket version 2.17.1.0
[image: screen shot 2015-10-26 at 3 25 46 pm]
https://cloud.githubusercontent.com/assets/1490044/10739982/03f0eef0-7bf6-11e5-8ca9-0cb36fdf0981.png


Reply to this email directly or view it on GitHub
#1166.

@isaacabraham
Copy link
Contributor

Turn on verbose mode - usually gives the answer as to why this is.

@TheAngryByrd
Copy link
Contributor Author

Ah ok. Will do.

@TheAngryByrd
Copy link
Contributor Author

Ok, so I was pinned to Nancy 1.2.0 in my paket.dependencies but when I added a reference to Nancy.Serialization.JsonNet, it started spinning its wheels looking for the 1.3.0. Updated Nancy to 1.3.0 and it was fine.

@forki
Copy link
Member

forki commented Oct 26, 2015

So I guess if we would report like every nth conflict during resolution
(without using -v) this would already have helped you. Right?
On Oct 26, 2015 8:49 PM, "Jimmy Byrd" notifications@github.com wrote:

Closed #1166 #1166.


Reply to this email directly or view it on GitHub
#1166 (comment).

@isaacabraham
Copy link
Contributor

@forki was just thinking this.

@TheAngryByrd
Copy link
Contributor Author

Yeah that would be a good idea.

@forki forki reopened this Oct 26, 2015
@forki forki changed the title Paket downloading all the dependencies Improve paket's conflict reporting during resolution time Oct 26, 2015
@forki
Copy link
Member

forki commented Oct 27, 2015

could you please retry that failing state with paket 2.17.2 and check if it's better?

@forki forki closed this as completed in 64f3d92 Oct 27, 2015
@TheAngryByrd
Copy link
Contributor Author

Sure, I'll take a look.

@TheAngryByrd
Copy link
Contributor Author

It started trying to resolve about 10 minutes ago, and I haven't gotten a warning yet. I'll try to get you a repro repo.

@forki
Copy link
Member

forki commented Oct 27, 2015

Just found my bug. But yes please send repro.
On Oct 27, 2015 14:59, "Jimmy Byrd" notifications@github.com wrote:

It started trying to resolve about 10 minutes ago, and I haven't gotten a
warning yet. I'll try to get you a repro repo.


Reply to this email directly or view it on GitHub
#1166 (comment).

@TheAngryByrd
Copy link
Contributor Author

This is the simplest case I could come up with.
https://github.com/TheAngryByrd/ResolveWarningRepro

I added a few dependencies and pinned Nancy to 1.2.0

nuget FSharp.Formatting
nuget Microsoft.AspNet.SignalR.Core
nuget Microsoft.AspNet.SignalR.JS
nuget Microsoft.Owin.Hosting
nuget Microsoft.Owin.Security.Cookies
nuget Nancy 1.2.0
nuget Nancy.MSOwinSecurity
nuget NUnit 
nuget NUnit.Runners
nuget FAKE
nuget SourceLink.Fake

To reproduce what I was seeing just run

.paket/paket.exe add nuget Nancy.Serialization.JsonNet

The output I got was:

Resolving packages for group Main:
 - Octokit 0.16.0
 - Nancy 1.2.0
 - FAKE 4.7.2
 - FSharp.Formatting 2.12.0
 - Microsoft.AspNet.SignalR.Core 2.2.0
 - Microsoft.AspNet.SignalR.JS 2.2.0
 - Microsoft.Owin.Hosting 3.0.1
 - Microsoft.Owin.Security.Cookies 3.0.1
 - Nancy.MSOwinSecurity 1.0.1
 - Nancy.Serialization.JsonNet 1.3.0
 - NUnit 2.6.4
 - NUnit.Runners 2.6.4
 - SourceLink.Fake 1.1.0
 - FSharpVSPowerTools.Core 2.1.0
 - FSharp.Compiler.Service 1.4.0.6
 - Newtonsoft.Json 7.0.1
 - Microsoft.Owin 3.0.1
 - Microsoft.Owin.Security 3.0.1
 - Owin 1.0.0
 - jQuery 2.1.4
 - jQuery 2.1.3
 - jQuery 2.1.2
 - jQuery 2.1.1
 - jQuery 2.1.0
 - jQuery 2.0.3
 - jQuery 2.0.2
 - jQuery 2.0.1.1
 - jQuery 2.0.1
 - jQuery 2.0.0
 - jQuery 1.11.3
 - jQuery 1.11.2
 - jQuery 1.11.1
 - jQuery 1.11.0
 - jQuery 1.10.2
 - jQuery 1.10.1
 - jQuery 1.10.0.1
 - jQuery 1.10.0
 - jQuery 1.9.1
 - jQuery 1.9.0
 - jQuery 1.8.3
 - jQuery 1.8.2
 - jQuery 1.8.1
 - jQuery 1.8.0
 - jQuery 1.7.2
 - jQuery 1.7.1.1
 - jQuery 1.7.1
 - jQuery 1.7.0
 - jQuery 1.6.4
 - Newtonsoft.Json 6.0.8
 - Newtonsoft.Json 6.0.7
 - Newtonsoft.Json 6.0.6
 - Newtonsoft.Json 6.0.5
 - Newtonsoft.Json 6.0.4
 - SourceLink.Fake 1.0.0
 - SourceLink.Fake 0.6.1
 - SourceLink.Fake 0.6.0
 - SourceLink.Fake 0.5.0
 - SourceLink.Fake 0.4.2
 - SourceLink.Fake 0.4.0
 - SourceLink.Fake 0.3.4
 - SourceLink.Fake 0.3.3
 - SourceLink.Fake 0.3.2
 - SourceLink.Fake 0.3.1
 - SourceLink.Fake 0.3.0
 - NUnit.Runners 2.6.3
 - NUnit.Runners 2.6.2
 - NUnit.Runners 2.6.1
 - NUnit.Runners 2.6.0.12051
 - NUnit 2.6.3
 - NUnit 2.6.2
 - NUnit 2.6.1
 - NUnit 2.6.0.12054
 - NUnit 2.5.10.11092

and I just stopped it after a few minutes, not sure if it would keep going.

@forki
Copy link
Member

forki commented Oct 27, 2015

image

@forki
Copy link
Member

forki commented Oct 27, 2015

I wonder if we can find a little bit of text that clarifies this even further.
At this stage we can't say for sure that there is absolutely no resolution possible, but as the resolver goes on and on we have less confidence to find a resolution. But as I said to be 100% sure the resolver needs to finish (look at all possible configurations).

Anyone have suggestion for expressing this?

@forki
Copy link
Member

forki commented Oct 27, 2015

funny note: after waiting a couple of minutes the case above actually resolves to.

NUGET
  remote: https://nuget.org/api/v2
  specs:
    FAKE (4.7.2)
    FSharp.Compiler.Service (1.4.0.6)
    FSharp.Formatting (2.12.0)
      FSharp.Compiler.Service (1.4.0.6)
      FSharpVSPowerTools.Core (2.1.0)
    FSharpVSPowerTools.Core (2.1.0)
      FSharp.Compiler.Service (>= 1.4.0.6)
    jQuery (2.1.4)
    Microsoft.AspNet.SignalR.Core (2.2.0)
      Microsoft.Owin (>= 2.1.0)
      Microsoft.Owin.Security (>= 2.1.0)
      Newtonsoft.Json (>= 6.0.4)
      Owin (>= 1.0)
    Microsoft.AspNet.SignalR.JS (2.2.0)
      jQuery (>= 1.6.4)
    Microsoft.Owin (3.0.1)
      Owin (>= 1.0)
    Microsoft.Owin.Hosting (3.0.1)
      Microsoft.Owin (>= 3.0.1)
      Owin (>= 1.0)
    Microsoft.Owin.Security (3.0.1)
      Microsoft.Owin (>= 3.0.1)
      Owin (>= 1.0)
    Microsoft.Owin.Security.Cookies (3.0.1)
      Microsoft.Owin (>= 3.0.1)
      Microsoft.Owin.Security (>= 3.0.1)
      Owin (>= 1.0)
    Nancy (1.2.0)
    Nancy.MSOwinSecurity (1.0.1)
      Microsoft.Owin (> 2.0)
      Nancy (> 0.21)
    Nancy.Serialization.JsonNet (1.2.0)
      Nancy (>= 1.2.0)
      Newtonsoft.Json
    Newtonsoft.Json (7.0.1)
    NUnit (2.6.4)
    NUnit.Runners (2.6.4)
    Owin (1.0.0)
    SourceLink.Fake (1.1.0)

Apart from the reporting, it seems something is wrong with the conflict boosting. ==> created #1169

@TheAngryByrd
Copy link
Contributor Author

Nice! Probably something along the lines of what you said about resolution not 100% sure.
Quote-alpha-0.0.1

The resolution for %s is taking longer than expected.  This may still resolve, but this might take a while. 

@forki
Copy link
Member

forki commented Oct 27, 2015

#1169 resolves this really really quick. so I need to change that conflict tracing again.

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

3 participants