Re: Regression in GR3.10

2022-06-23 Thread ikjtel
> I think the way to properly handle GIL from long running calls > is to add  py::call_guard() Josh Full success!  I snarfed the gr code for msg_queue, msg_handler, and message, and added this call guard.  There is no more GIL deadlock in the python OP25 apps. Max ==

Re: Regression in GR3.10

2022-06-15 Thread Paul Atreides
try contacting the author on his github page. he's been porting a lot of blocks to 3.10 and may be able to help. On Wed, Jun 15, 2022 at 5:11 PM ikjtel wrote: > | > | Have you tried this fork updated to 3.10? > | > | https://github.com/bkerler/op25 > > I must be doing something not quite right >

Re: Regression in GR3.10

2022-06-15 Thread Paul Atreides
Have you tried this fork updated to 3.10? https://github.com/bkerler/op25 > On Jun 15, 2022, at 16:03, Josh Morman wrote: > >  > I think the way to properly handle GIL from long running calls is to add > py::call_guard() to the definition of the method > binding > > .def("delete_head", &

Re: Regression in GR3.10

2022-06-15 Thread Josh Morman
I think the way to properly handle GIL from long running calls is to add py::call_guard() to the definition of the method binding .def("delete_head", &msg_queue::delete_head, D(msg_queue, delete_head)) I haven't tried this here, but I've used it on similar python bindings https://pybind11.readth

Re: Regression in GR3.10

2022-06-15 Thread Josh Morman
Max, The msgq API probably should be deprecated, but it is in fact there in 3.10. I think you are right that it is an issue with the GIL because delete_head it is a long blocking function. Are you able to use delete_head_nowait instead? Thanks, Josh On Wed, Jun 15, 2022 at 10:08 AM ikjtel wro

Regression in GR3.10

2022-06-15 Thread ikjtel
The script pasted below runs OK in 3.8 but hangs (with no iteration output) in 3.10 (Ubuntu 22.04).  Naturally no message is anticipated - but the script should not hang! This problem is blocking the release of OP25 for GR3.10. I suspect deadlock due to failure to release the Python GIL. Kindly