Add a __reduce__ method to Spec#25658
Merged
tgamblin merged 3 commits intospack:developfrom Aug 28, 2021
Merged
Conversation
fixes spack#23892 The recursion limit seems to be due to the default way in which a Spec is serialized, following all the attributes. It's still not clear to me why this is related to being in an environment, but in any case we already have methods to serialize Specs to disk in JSON and YAML format. Here we use them to pickle a Spec instance too.
Member
Author
|
@adamjstewart This still has rough edges, but solves the issue for me in #23892 Can you confirm? |
Hopefully nothing will change the package in between serializing the spec and sending it to the child process.
Member
Author
|
Currently this has issues with Python 2.X since we can't use a static method in |
adamjstewart
approved these changes
Aug 27, 2021
Member
adamjstewart
left a comment
There was a problem hiding this comment.
Confirmed that this fixes the problem for me, thanks @alalazo!!!
tgamblin
approved these changes
Aug 28, 2021
This was referenced Aug 28, 2021
haampie
pushed a commit
to haampie/spack
that referenced
this pull request
Sep 16, 2021
* Add a __reduce__ method to Spec fixes spack#23892 The recursion limit seems to be due to the default way in which a Spec is serialized, following all the attributes. It's still not clear to me why this is related to being in an environment, but in any case we already have methods to serialize Specs to disk in JSON and YAML format. Here we use them to pickle a Spec instance too. * Downgrade to build-hash Hopefully nothing will change the package in between serializing the spec and sending it to the child process. * Add support for Python 2
haampie
pushed a commit
to haampie/spack
that referenced
this pull request
Sep 17, 2021
* Add a __reduce__ method to Spec fixes spack#23892 The recursion limit seems to be due to the default way in which a Spec is serialized, following all the attributes. It's still not clear to me why this is related to being in an environment, but in any case we already have methods to serialize Specs to disk in JSON and YAML format. Here we use them to pickle a Spec instance too. * Downgrade to build-hash Hopefully nothing will change the package in between serializing the spec and sending it to the child process. * Add support for Python 2
haampie
pushed a commit
to haampie/spack
that referenced
this pull request
Sep 17, 2021
* Add a __reduce__ method to Spec fixes spack#23892 The recursion limit seems to be due to the default way in which a Spec is serialized, following all the attributes. It's still not clear to me why this is related to being in an environment, but in any case we already have methods to serialize Specs to disk in JSON and YAML format. Here we use them to pickle a Spec instance too. * Downgrade to build-hash Hopefully nothing will change the package in between serializing the spec and sending it to the child process. * Add support for Python 2
haampie
added a commit
to haampie/spack
that referenced
this pull request
Sep 17, 2021
This reverts commit 8c6745c.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fixes #23892
Hitting the recursion limit seems to be due to the default way in which a
Specis serialized, following all the attributes. It's still not clear to me why this is related to being in an environment, but in any case we already have methods to serialize specs todisk in JSON and YAML format. Here we use them to pickle a
Specinstance too.