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

Infinite dependency loop for azure-core #4054

Closed
davidmweber opened this issue May 10, 2021 · 9 comments
Closed

Infinite dependency loop for azure-core #4054

davidmweber opened this issue May 10, 2021 · 9 comments
Labels
status/external-issue Issue is caused by external project (platform, dep, etc)

Comments

@davidmweber
Copy link

  • OS version and name: Ubuntu Linux 20.04 and OSX Catalina
  • Poetry version: 1.16 (as installed today with poetry self update)
  • Link of a Gist with the contents of your pyproject.toml file: pyproject.toml

Issue

When running poetry update on this file, it gets stuck in an infinite loop. The output of poetry update -vvv is

   1: fact: isodate (0.6.0) depends on six (*)
   1: selecting isodate (0.6.0)
PyPI: 10 packages found for requests-oauthlib >=0.5.0
   1: fact: requests-oauthlib (1.3.0) depends on oauthlib (>=3.0.0)
   1: fact: requests-oauthlib (1.3.0) depends on requests (>=2.0.0)
   1: selecting requests-oauthlib (1.3.0)
   1: derived: oauthlib (>=3.0.0)
PyPI: 20 packages found for pycparser *
   1: selecting pycparser (2.20)
PyPI: 4 packages found for oauthlib >=3.0.0
   1: selecting oauthlib (3.1.0)
   1: fact: azure-core (1.13.0) depends on requests (>=2.18.4)
   1: fact: azure-core (1.13.0) depends on six (>=1.11.0)
   1: selecting azure-core (1.13.0)
   1: fact: azure-core (1.13.0) depends on requests (>=2.18.4)
   1: fact: azure-core (1.13.0) depends on six (>=1.11.0)
   1: selecting azure-core (1.13.0)
   1: fact: azure-core (1.13.0) depends on requests (>=2.18.4)
   1: fact: azure-core (1.13.0) depends on six (>=1.11.0)
   1: selecting azure-core (1.13.0)
   1: fact: azure-core (1.13.0) depends on requests (>=2.18.4)
   1: fact: azure-core (1.13.0) depends on six (>=1.11.0)
   1: selecting azure-core (1.13.0)
   1: fact: azure-core (1.13.0) depends on requests (>=2.18.4)

These lines just repeat.

Here is the full output up to the point where the loop is established:

loop.txt

@davidmweber davidmweber added kind/bug Something isn't working as expected status/triage This issue needs to be triaged labels May 10, 2021
@davidmweber
Copy link
Author

The problem appears to be with the azure-iot-hub v 2.4.0. If I pin that to 2.3.0 then the loop disappears. Hope this helps.

@cpbotha
Copy link

cpbotha commented May 10, 2021

Debugged this together with @davidmweber - it indeed seems to be version 2.4.0 of azure-iot-hub.

You can reproduce by running poetry update -vvv with the following minimal pyproject.toml:
https://gist.github.com/cpbotha/530961e8f959dab545c42be2615e12dc

Something awry with that package, but is there some way for poetry not to land in an infinite loop like this?

@davidmweber
Copy link
Author

Oh but that is pretty.....

@davidmweber
Copy link
Author

I can confirm this bug still exists for poetry 1.1.7

@davidmweber
Copy link
Author

I can confirm that this is still present in 1.1.8

@dimbleby
Copy link
Contributor

dimbleby commented Jul 9, 2022

on the master branch, poetry says:

Could not parse version constraint: !=3.3*

which isn't super-helpful about where that error comes from: but it's a start, and it's not an infinite loop.

The error actually comes from the python version requirements of azure-iot-hub, presumably this is a typo for 3.3.*

@dimbleby
Copy link
Contributor

dimbleby commented Jul 9, 2022

Anyone who cares to get this fixed should submit an MR to that project, fixing this line: https://github.com/Azure/azure-iot-sdk-python/blob/c56e40d82e97f0a4204efc2d7ad260933260245e/azure-iot-hub/setup.py#L83

@mkniewallner
Copy link
Member

On Poetry 1.1.14, I was able to install the dependencies just fine (unless explicitly pinning azure-iot-hub to 2.4.0 or 2.5.0, then I would hit the infinite loop, so I believe that something was fixed in 2.6.0).

On Poetry master, as said above, we hit Could not parse version constraint: !=3.3* since parsing python_requires is possibly stricter in 1.2.x (for valid reasons).

Since the issue is with the dependency itself now, closing this, since Poetry is not at cause.

@mkniewallner mkniewallner added status/external-issue Issue is caused by external project (platform, dep, etc) and removed kind/bug Something isn't working as expected status/triage This issue needs to be triaged labels Jul 9, 2022
Copy link

github-actions bot commented Mar 1, 2024

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status/external-issue Issue is caused by external project (platform, dep, etc)
Projects
None yet
Development

No branches or pull requests

4 participants