I am on MacOS, it is a development phase, but deployment will be on Linux. It is hard to run dtrace/dtruss on MacOS due to the "system integrity protection" on MacOS. I got some output but very limited information.
So if there is a workaround you might suggest? TS On Thu, May 21, 2020 at 10:20 PM Jean-Paul Calderone < exar...@twistedmatrix.com> wrote: > On Thu, May 21, 2020 at 3:56 PM Sereysethy TOUCH < > touch.sereyse...@gmail.com> wrote: > >> Hi Jean-Paul, >> >> I found the error after working on a short, self contained, correcte >> example. It is not about twisted and normal thread in general, but >> something else. >> >> After more tests, I come to realise that whenever I instantiate this >> class PolicyClient from this library >> https://github.com/ray-project/ray/blob/master/rllib/env/policy_client.py in >> my protocol or just anywhere, twisted app either freezes or terminates, and >> this *only* happens when the app runs as a daemon, created using a >> service (.tac file). >> >> I hope you can take a look at the class PolicyClient, why it causes >> problem to reactor main loop. Please point me to where the idea might come >> from. >> >> I can give you the example but not sure if it is enough, as the client >> needs to connect to a server. >> > > It looks like PolicyClient does a blocking HTTP request in __init__. > Since PolicyClient is instantiated in the reactor thread, this will block > the reactor. Perhaps this call is hanging for some reason when the process > has daemonized? This would be unusual but not unheard of. For example, > there are macOS environments where a process does not have access to the > network if it is not associated with a windowing session. > > What platform do you observe the problem on, and what more can you learn > about what the process does on its way to hanging (eg can you run strace on > it)? > > Jean-Paul > > >> >> Thank you, >> TS >> >> >> On Thu, May 21, 2020 at 5:23 PM Jean-Paul Calderone < >> exar...@twistedmatrix.com> wrote: >> >>> On Thu, May 21, 2020 at 10:58 AM Sereysethy TOUCH < >>> touch.sereyse...@gmail.com> wrote: >>> >>>> Hello, >>>> >>>> I am developing a twisted app, and it runs as a service using twistd -y >>>> to start the app. >>>> I am having a problem of running a thread. I know it is not recommended >>>> to use thread, but the library that I use, the object created is running in >>>> a thread. >>>> >>>> Here is the problem: >>>> >>>> 1) if I start reactor by running reactor.run() directly, thread is >>>> running fine >>>> 2) if I run it as a service using twisted, the thread is not running, >>>> it runs but it seems to be blocked, because I tried to write something to >>>> file using time.sleep(), but file is empty. >>>> >>>> Is there something that I miss? How can I debug this? >>>> >>> >>> A good next step would be to create at Short, Self Contained, Correct >>> (Compilable), Example <http://sscce.org/> and share it. >>> >>> Jean-Paul >>> >>> >>>> >>>> Thank you, >>>> >>>> TS >>>> _______________________________________________ >>>> Twisted-Python mailing list >>>> Twisted-Python@twistedmatrix.com >>>> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python >>>> >>> _______________________________________________ >>> Twisted-Python mailing list >>> Twisted-Python@twistedmatrix.com >>> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python >>> >> _______________________________________________ >> Twisted-Python mailing list >> Twisted-Python@twistedmatrix.com >> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python >> > _______________________________________________ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com > https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python >
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python