{"action":"closed","issue":{"url":"https://api.github.com/repos/fsprojects/Paket/issues/2082","repository_url":"https://api.github.com/repos/fsprojects/Paket","labels_url":"https://api.github.com/repos/fsprojects/Paket/issues/2082/labels{/name}","comments_url":"https://api.github.com/repos/fsprojects/Paket/issues/2082/comments","events_url":"https://api.github.com/repos/fsprojects/Paket/issues/2082/events","html_url":"https://github.com/fsprojects/Paket/issues/2082","id":196190914,"number":2082,"title":"Paket install enters an endless loop","user":{"login":"thingylab","id":54720,"avatar_url":"https://avatars.githubusercontent.com/u/54720?v=3","gravatar_id":"","url":"https://api.github.com/users/thingylab","html_url":"https://github.com/thingylab","followers_url":"https://api.github.com/users/thingylab/followers","following_url":"https://api.github.com/users/thingylab/following{/other_user}","gists_url":"https://api.github.com/users/thingylab/gists{/gist_id}","starred_url":"https://api.github.com/users/thingylab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thingylab/subscriptions","organizations_url":"https://api.github.com/users/thingylab/orgs","repos_url":"https://api.github.com/users/thingylab/repos","events_url":"https://api.github.com/users/thingylab/events{/privacy}","received_events_url":"https://api.github.com/users/thingylab/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-12-17T02:32:57Z","updated_at":"2016-12-17T14:28:57Z","closed_at":"2016-12-17T14:28:57Z","body":"### Description\r\n\r\n`paket install` and `paket update` started hanging while looking for a specific package hosted on a local artifactory (version = 4.6.0).\r\n\r\n### Repro steps\r\n\r\nI do not have specific steps to reproduce the issue as other packages hosted on the same artifactory server work just fine.\r\nThis being said, on close inspection it appeared the `followODataLink` function (in `NuGetV2.fs`) entered an endless loop. In effect the behavior was:\r\n\r\n```\r\nlet rec followODataLink inputUrl =\r\n    let data = fetchData inputUrl\r\n    let urls = extractUrlsFromData\r\n    let res = List.map followODataLink urls\r\n    \r\n    [do some other stuff here]\r\n```\r\n\r\nIt appears in my case `inputUrl` was included in the resulting `urls`, sending the function into an infinite loop.\r\n\r\n### Expected behavior\r\n\r\n`paket install` finishing in finite time\r\n\r\n### Actual behavior\r\n\r\nEndless loop.\r\n\r\n### Known workarounds\r\n\r\nFilter out the input url from the recursive calls. See [this PR](https://github.com/fsprojects/Paket/pull/2081)."}}
{"actor":{"display_login":"thingylab"}}