Closed JesusTorrado closed 1 month ago
Hello Jesus, what kind of error was this giving you?
I'm asking cause also the Minuit object was giving problems with the same __getstate__
(#332).
Hi @ggalloni,
It's a recursion error produced by pickling while in the IPP cluster. You can try if the one-line change to log.py
solves if in your case.
All modified and coverable lines are covered by tests :white_check_mark:
Comparison is base (
ea587ce
) 81.78% compared to head (81e389e
) 81.73%.
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Yeah, it was a recursion error also in my case, I'll try your workaround.
@ggalloni could you check if this reworking of fast-pdf works? https://github.com/CobayaSampler/cobaya/pull/373
For now just a workaround, that fixes issues with pickling in ipyparallel.
One of the problems can be fixed by not having
__getstate__
ofHasLogger
return a copy, but the original dict minus the logger. This is indeed what a__getstate__
is supposed to do, but I still need to test this change.The other fix removes the fast prior pdfs, because the way the method is assigned maybe does not propagate correctly across copies. It can probably be superseded by creating a custom scipy prior object inheriting from the scipy one and having the new logpdf as a first-class method.
EDIT: Copy fixed cherrypicked and added to https://github.com/CobayaSampler/cobaya/pull/349. Only fast-pdf missing.