Week #9: CI failure on Python3.7-dbg
tirthasheshpatel
Published: 08/09/2021
What did you do this week?
I addressed more reviews this week and added pickling support to all the generators. Most of the changes focused on the documentation, tutorials, and the UI. We removed the
params
keyword (used to pass positional arguments to the passed callable) from the method constructor and had a discussion on renaming the
seed
parameter to something like
numpy_rng
. I also added some histogram plots to the docs and tutorials. Lastly, as all the generators are Cython extensions classes with a non-trivial
__cinit__
method, Cython was not able to generate code to pickle object automatically. Hence, I added a rudimentary
__reduce__
method which enables pickling support. Relevant tests have also been added.
What is coming up next?
We need to finalize renaming
seed
to something more apposite like
rng
or
numpy_rng
. All other blocking comments have been addressed, except a recent failure on CI. I will investigate the cause of the failure and try to resolve it by the end of this week. As the GSoC deadline is imminent, I hope to complete that by next week so we could merge the PR.
Did you get stuck anywhere?
I noticed a
few failures on the linux workflows on Python3.7-dbg build. For some reason, Python crashes when TransformedDensityRejection is called with a invalid PDF. It seems like there is some internal logic error in the C/Cython code. As this is not a Python error with a proper traceback, it makes it very difficult to even locate the error, let alone solving it! I am thankfully able to replicate it locally and hope to figure out the failures as soon as possible.