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

Issue with paket convert-from-nuget #1225

Closed
theggelund opened this issue Nov 16, 2015 · 47 comments
Closed

Issue with paket convert-from-nuget #1225

theggelund opened this issue Nov 16, 2015 · 47 comments

Comments

@theggelund
Copy link

I tried to convert a project from nuget to paket.

image

but paket stops, looks like its waiting for something that doesn't happen.

Paket has put a json file in nuget cache folder with the following content

{"Dependencies":[],"PackageName":"odp.net.managed","SourceUrl":"http://dips-nuget/nuget/TeamFrost","Unlisted":false,"DownloadUrl":"http://dips-nuget/api/v2/package/TeamFrost/odp.net.managed/121.1.2","LicenseUrl":"http://www.oracle.com/technetwork/licenses/ea-license-noexhibits-1938914.html","CacheVersion":"2.0"}

paket.dependencies

source \\p-fs01\exetest\repository
source http://dips-nuget/nuget/TeamFrost

nuget Nuget.CommandLine @>= 0
nuget Antlr4.StringTemplate @= 4.0.6.9004
nuget Common.Logging @= 3.0.0 framework: >= net451
nuget Common.Logging.Core @= 3.1.0
nuget CommonServiceLocator @= 1.0 framework: >= net451
nuget Dapper @= 1.40
nuget DIPS.Lab.IfsServer.Plugin @= 0.0.0.9 framework: >= net40
nuget DIPS.Lab.IfsServer.Plugin.Lab.Persistence @= 0.0.0.9 framework: >= net40
nuget DIPS.Lab.Infrastructure @= 0.0.0.59
nuget DIPS.Lab.Infrastructure.Connector.MSMQ @= 0.0.0.59
nuget DIPS.Lab.Infrastructure.Database @= 0.0.0.57 framework: >= net451
nuget DIPS.Lab.Infrastructure.Logging.Serilog @= 0.0.0.56 framework: >= net451
nuget DIPS.Lab.Infrastructure.Messaging @= 0.0.0.59
nuget DIPS.Testing.NUnit @= 1.3.0.0
nuget Extended.Wpf.Toolkit @= 2.3.0 framework: >= net451
nuget FluentAssertions @= 3.3.0
nuget ICSharpCode.SharpZipLib.dll @= 0.85.4.369 framework: >= net451
nuget Jil @= 2.9.0
nuget MiniProfiler @= 3.1.1.140 framework: >= net451
nuget Moq @= 4.2.1502.0911
nuget Newtonsoft.Json @= 6.0.8
nuget NUnit @= 2.6.4
nuget odp.net.managed @= 121.1.2
nuget Prism @= 4.1.0.0 framework: >= net451
nuget Quartz @= 2.3.1 framework: >= net451
nuget Rx-Core @= 2.2.5 framework: >= net451
nuget Rx-Interfaces @= 2.2.5 framework: >= net451
nuget Rx-Linq @= 2.2.5 framework: >= net451
nuget Rx-Main @= 2.2.5 framework: >= net451
nuget Rx-PlatformServices @= 2.2.5 framework: >= net451
nuget Rx-Testing @= 2.2.5 framework: >= net451
nuget Rx-WinForms @= 2.2.5 framework: >= net451
nuget Serilog @= 1.4.76 framework: >= net451
nuget Serilog.Sinks.Seq @= 1.4.76 framework: >= net451
nuget Serilog.Sinks.Splunk @= 1.4.76 framework: >= net451
nuget Sigil @= 4.4.0
nuget SimpleInjector @= 3.0.5
nuget SimpleInjector.Extensions.ExecutionContextScoping @= 2.8.0 framework: >= net451
nuget SpecFlow @= 1.9.0 framework: >= net452
nuget SpecFlow.NUnit @= 1.1.1 framework: >= net452
nuget Splunk.Logging.Common @= 1.0.0 framework: >= net451
nuget Topshelf @= 3.1.4 framework: >= net451

packages folder
image

Check to see if nuget server was not responding, but it was.

Any ideas?

@forki
Copy link
Member

forki commented Nov 16, 2015

(side note: @mrinaldi @theimowski this is the third time I see convert creating @= contraints. any ideas why? I can't reproduce this yet)

@theggelund
Copy link
Author

attached a debugger
image

@forki
Copy link
Member

forki commented Nov 16, 2015

What nuget server are you using?
Did you see other projects (with paket) work against this servers?

@theggelund
Copy link
Author

ProGet 3.4.3 (Build 7)

Yes, the other bugs I have reported the last few days uses the same server

@forki
Copy link
Member

forki commented Nov 16, 2015

Mhm. Seems like it's waiting in the cache method /cc @xavierzwirtz

Can you try to downgrade paket to maybe 3 or 4 minor versions?

@theggelund
Copy link
Author

image

@theggelund
Copy link
Author

image

@forki
Copy link
Member

forki commented Nov 16, 2015

No I meant something like 2.21

@forki
Copy link
Member

forki commented Nov 16, 2015

I hate when things go wrong on private feeds...

@theggelund
Copy link
Author

image

image

@forki
Copy link
Member

forki commented Nov 16, 2015

Ok. Seems it's not related to latest cache changes.

Unfortunately the attached debugger info is not that helpful.

What I usually do in this situation is to start the convert process from VS

  • clone repo
  • set paket as startup project
  • set working dir to you project dir
  • set startup command to "convert-from-nuget"
  • F5

@forki
Copy link
Member

forki commented Nov 16, 2015

it's also possible that it is reated to source \\p-fs01\exetest\repository, but it's impossoble for me to checkout outside of your network ;-(

@forki
Copy link
Member

forki commented Nov 16, 2015

one thing you could do is to run convert-from-nuget -f- v and maybe we see a bit more info

@theggelund
Copy link
Author

Internal Server Error from nuget server when calling this uri "http://dips-nuget/nuget/TeamFrost/Packages?$filter=Id eq 'odp.net.managed' and NormalizedVersion eq '121.1.2'"

@theggelund
Copy link
Author

Happens twice, then it never continues from this
image

@forki
Copy link
Member

forki commented Nov 16, 2015

do you get the same error manually from browser?

@theggelund
Copy link
Author

Yes, trying do find error logs from server

@forki
Copy link
Member

forki commented Nov 16, 2015

/cc @gdivis

@theimowski
Copy link
Member

Regarding the @= operator - I'm not sure, but maybe that's because of the explicit specification of MaxResolver strategy here?

@mrinaldi
Copy link
Contributor

I'm on the @= right now. I'll send a PR shortly.

@forki
Copy link
Member

forki commented Nov 16, 2015

Mhm that sounds like it could be the issue. If I just could reproduce it.
On Nov 16, 2015 4:44 PM, "Tomasz Heimowski" notifications@github.com
wrote:

Regarding the @= operator - I'm not sure, but maybe that's because of the
explicit specification of MaxResolver strategy here
https://github.com/fsprojects/Paket/blob/master/src/Paket.Core/NugetConvert.fs#L217
?


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

@theggelund
Copy link
Author

Shouldn't Paket fail with an error message instead of freezing when the http call to our local nuget repo fails?

@forki
Copy link
Member

forki commented Nov 17, 2015

Yes. The code you mentioned is part of the normal paket update command.
It's very strange that the error doesn't escalate. Maybe there is still a
call going on and we should add a timeout or something. Does it really
freeze forever?
Did you find out why the server had an error?
On Nov 16, 2015 10:07 PM, "Thomas Heggelund" notifications@github.com
wrote:

Shouldn't Paket fail with an error message instead of freezing when the
http call to our local nuget repo fails?


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

@theggelund
Copy link
Author

I left it yesterday and 8 hours later it still waits.

I've tried to get error logs from the server but all i could find was iis
logs stating the 500 error
17. nov. 2015 08:26 skrev "Steffen Forkmann" notifications@github.com:

Yes. The code you mentioned is part of the normal paket update command.
It's very strange that the error doesn't escalate. Maybe there is still a
call going on and we should add a timeout or something. Does it really
freeze forever?
Did you find out why the server had an error?
On Nov 16, 2015 10:07 PM, "Thomas Heggelund" notifications@github.com
wrote:

Shouldn't Paket fail with an error message instead of freezing when the
http call to our local nuget repo fails?


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


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

@forki
Copy link
Member

forki commented Nov 17, 2015

I will add a timeout to that function.
Maybe @gdivis can comment on the server error?

@forki
Copy link
Member

forki commented Nov 17, 2015

what about this url? http://dips-nuget/nuget/TeamFrost/Packages?$filter=Id eq 'odp.net.managed' and Version eq '121.1.2'

does this work in browser?

@forki
Copy link
Member

forki commented Nov 17, 2015

there is a new alpha version that you can test. It runs all Nuget protocols for "GetPackageVersion" in parallel. Maybe it improves things.

@theggelund
Copy link
Author

This doesn't work:

what about this url? http://dips-nuget/nuget/TeamFrost/Packages?$filter=Id eq 'odp.net.managed' and Version eq '121.1.2'

does this work in browser?

@theggelund
Copy link
Author

I'll test the code later today

@theggelund
Copy link
Author

Freezez after this output

Did a paket.bootstrapper.exe prerelease before paket convert-from-nuget -v -f

Trying to resolve odp.net.managed 121.1.2 (from E:\products\git\InstrumentBroker\paket.dependencies)
 - odp.net.managed is pinned to 121.1.2
Response from http://dips-nuget/nuget/TeamFrost/Packages(Id='odp.net.managed',Version='121.1.2'):

<?xml version="1.0" encoding="utf-8"?><entry xml:base="http://dips-nuget/nuget/TeamFrost/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom"><id>http://dips-nuget/nuget/TeamFrost/Packages(Id='odp.net.managed',Version='121.1.2')</id><title type="text">odp.net.managed</title><summary type="text"></summary><updated>2015-03-11T08:47:24Z</updated><author><name>Oracle</name></author><link rel="edit-media" title="Package" href="Packages(Id='odp.net.managed',Version='121.1.2')/$value" /><link rel="edit" title="Package" href="Packages(Id='odp.net.managed',Version='121.1.2')" /><category term="NuGet.Server.DataServices.Package" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /><content type="application/zip" src="http://dips-nuget/api/v2/package/TeamFrost/odp.net.managed/121.1.2" /><m:properties xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><d:Version>121.1.2</d:Version><d:Title>Oracle Data Provider for .NET (ODP.NET) Managed Driver</d:Title><d:RequireLicenseAcceptance m:type="Edm.Boolean">true</d:RequireLicenseAcceptance><d:Description>This package contains Oracle Data Provider for .NET (ODP.NET), Managed driver, i.e. Oracle.ManagedDataAccess.dll. Note, this package does not include support for distributed transactions, i.e. Oracle.ManagedDataAccessDTC.dll, as this support is architecture dependent, and only needed at runtime.</d:Description><d:ReleaseNotes>ODP.NET Managed Driver 12c Release 2 - released December 20, 2013.</d:ReleaseNotes><d:Summary></d:Summary><d:ProjectUrl>http://www.oracle.com/technetwork/topics/dotnet/index-085163.html</d:ProjectUrl><d:IconUrl></d:IconUrl><d:LicenseUrl>http://www.oracle.com/technetwork/licenses/ea-license-noexhibits-1938914.html</d:LicenseUrl><d:Copyright>Copyright (c) Oracle Corporation 1998-2013</d:Copyright><d:Tags>Oracle ODP.NET</d:Tags><d:Dependencies></d:Dependencies><d:IsLocalPackage m:type="Edm.Boolean">true</d:IsLocalPackage><d:Published m:type="Edm.DateTime">2015-03-11T08:47:24.5470000Z</d:Published><d:PackageSize m:type="Edm.Int64">1880047</d:PackageSize><d:PackageHash>WkWM5gNjz3YbLiM0DuqUCOeQHz95h63acF9sK+QEjK8CotQXOwkR1xFldNwu9s2e5+8mxZB3zp0Y3cYEJuXxkw==</d:PackageHash><d:IsLatestVersion m:type="Edm.Boolean">true</d:IsLatestVersion><d:IsAbsoluteLatestVersion m:type="Edm.Boolean">true</d:IsAbsoluteLatestVersion><d:IsProGetHosted m:type="Edm.Boolean">true</d:IsProGetHosted><d:IsPrerelease m:type="Edm.Boolean">false</d:IsPrerelease><d:IsCached m:type="Edm.Boolean">false</d:IsCached><d:NormalizedVersion>121.1.2</d:NormalizedVersion><d:IsProjectPackage m:type="Edm.Boolean">false</d:IsProjectPackage><d:HasSymbols m:type="Edm.Boolean">false</d:HasSymbols><d:HasSource m:type="Edm.Boolean">false</d:HasSource><d:DownloadCount m:type="Edm.Int32">33</d:DownloadCount><d:VersionDownloadCount m:type="Edm.Int32">33</d:VersionDownloadCount></m:properties></entry>

@forki
Copy link
Member

forki commented Nov 18, 2015

OK so Async.Chice didn't work. Sorry for the pingpong (always big fun with private networks). I need to take a look at the code. At the moment I have no idea without debugging it.

@theggelund
Copy link
Author

So I have played a little with our ProGet Nuget server and the query that Paket runs.

If you just but each part of the filter statement inside a () then it works

Change

http://dips-nuget/nuget/TeamFrost/Packages?$filter=Id eq 'odp.net.managed' and Version eq '

to

http://dips-nuget/nuget/TeamFrost/Packages?$filter=(Id eq 'odp.net.managed') and (Version eq '121.1.2')

@forki
Copy link
Member

forki commented Nov 18, 2015

Ok. Not sure if this is a proget bug, but we can do that.

/cc @maartenba do you see issues with this change in regard to other servers like myget?

@maartenba
Copy link

It's valid OData so should work fine

@theggelund
Copy link
Author

this works for nuget as well

https://www.nuget.org/api/v2/Packages?$filter=(Id eq 'odp.net.managed') and (Version eq '121.1.2')

@forki
Copy link
Member

forki commented Nov 18, 2015

ok then let's do it. Thanks maarten.

@forki
Copy link
Member

forki commented Nov 18, 2015

@theggelund could you please try 2.26? thx

@theggelund
Copy link
Author

Paket is able to download some data from the url but it stops at the same location as it did before. Don't know why but I saw the it tried to download from a uri with /odata/ between TeamFrost and packages in the uri.

image

image

@forki
Copy link
Member

forki commented Nov 18, 2015

Is this now a different server?
On Nov 18, 2015 6:43 PM, "Thomas Heggelund" notifications@github.com
wrote:

Paket is able to download some data from the url but it stops at the same
location as it did before. Don't know why but I saw the it tried to
download from a uri with /odata/ between TeamFrost and packages in the uri.

[image: image]
https://cloud.githubusercontent.com/assets/648714/11248911/f8bb323a-8e23-11e5-87e5-ba843df882c9.png

[image: image]
https://cloud.githubusercontent.com/assets/648714/11248922/104b3954-8e24-11e5-931c-c6b71e17ed89.png


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

forki added a commit that referenced this issue Nov 18, 2015
…ferences #1225"

This reverts commit faaf341.

Conflicts:
	RELEASE_NOTES.md
	src/Paket.Core/NuGetV2.fs
@forki
Copy link
Member

forki commented Nov 18, 2015

Ok I reverted the parallel execution of the 4 protocols and only enabled the fix with ( ) in the OData.

I'M deeply sorry for this ping-pong.

@theggelund
Copy link
Author

no worries. If this gets fixed i'm happy
image

So I left the convert-to-nuget running yesterday and i appears to be a timeout somewhere thats quite large. After 12 hours it has run through 10 of 44 packages and it appears to be continuing after a massive wait,

And there is a exception when source is folder but I don't think it is the problem

image

@forki
Copy link
Member

forki commented Nov 19, 2015

the dependencies file ist already there right?
Can you try to remove the file system source (and the packages that are in the file system) from the deps file and run "paet update"? Maybe the issue is now in the file system scanning code?

@forki
Copy link
Member

forki commented Nov 19, 2015

Alternatively can you create a mini deps file with contains only the file system source and a couple of packages from the file share. Is running paket update on this also slow?

@theggelund
Copy link
Author

it was the filesystem scanning. After ignoring the filesystem there is no wait and it works

@forki
Copy link
Member

forki commented Nov 19, 2015

ok. so we need to investigate this then.

@forki
Copy link
Member

forki commented Mar 8, 2016

is this still relevant?

@theggelund
Copy link
Author

No I think you can close the issue

Den tir. 8. mar. 2016, 16.49 skrev Steffen Forkmann <
notifications@github.com>:

is this still relevant?


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

@forki forki closed this as completed Mar 8, 2016
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

5 participants