Closed ogrisel closed 2 years ago
Here's an update. There were a few bugs, some still outstanding:
TypeError: partition() got an unexpected keyword argument 'axis'
from spline_pipeline_randomized_search.py
even without viztracer. @ogrisel have you seen something like this before? Here's the log: https://gist.github.com/colesbury/104192caca24a8165e571da85dd87d05. I think this may be another thread-safety issue in NumPy that I've missed, but I'm not sure yet.I believe I had indeed. But i had not tried to investigate if i can reproduce it more deterministically without using viztracer.
Indeed, let me open a dedicated issue.
Edit: done in #59.
viztracer has two functions that aren't thread-safe without the GIL. I have a temporary fix locally, but I'm working on cleaning it up so that it can be upstreamed.
@gaogaotiantian might be interested in this part.
I would not be surprised if there is some code that's not thread-safe in viztracer as it is designed with GIL protection. I would be happy to accept fixes for that, if the fix does not compromise its normal behavior with cpython(including performance).
This is fixed now with https://github.com/gaogaotiantian/viztracer/pull/242. I've also uploaded a viztracer wheel (compiled from master) to the nogil alternative package index.
I confirm that this is fixed! Thank you very much for the quick fix.
The following happens when using the
issue56
branch as discussed in #56.Here is the source code of
spline_pipeline_randomized_search.py
:Here is the gdb backtrace:
The
py-bt
gdb commands returns: