-
Notifications
You must be signed in to change notification settings - Fork 50
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
There's a random chance that the superclass isn't linked #482
Labels
Comments
not-my-profile
changed the title
There's a random chance that the superclass isn't recognized
There's a random chance that the superclass isn't linked
Feb 6, 2022
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 6, 2022
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 6, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 6, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
This was referenced Feb 6, 2022
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 7, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 7, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 7, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 7, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 7, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 7, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 7, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 7, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 7, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 7, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 7, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 7, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
not-my-profile
added a commit
to not-my-profile/pydoctor
that referenced
this issue
Feb 7, 2022
Previously modules to be processed were stored in a set. A set however is an unordered collection (and adding items can completely change the order depending on the object hash). Since the Module class did not implement __hash__ every time there was more than one module to be processed the order in which they were processed was effectively random leading to very hard to reproduce bugs. Fixes twisted#482 and twisted#429.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
To reproduce this we need a package with three files:
example/__init__.py
example/foo.py
example/bar.py
Running
pydoctor example
has a random chance that it fails to link the superclass:The bug is difficult to debug since it doesn't always occur, running pydoctor with
PYTHONHASHSEED=0
orPYTHONHASHSEED=1
does however seem to help with reproducing.The underlying issue is that how pydoctor currently handles cyclic imports is not reproducible.
The text was updated successfully, but these errors were encountered: