Zope 2.12.17 does not die when I hit ctrl+C
Hi all, After a recent project based on the latest plone, which pulled in zope 2.12.17 as an egg, I find that when I run zope in foreground mode and hit ctrl+C, it does not die. It prints the expected "Shutting down" message, and the parent process dies, but the one that holds on to port 8080 stays alive and will not die unless I send it SIGKILL. The little bit of debugging I've done so far suggests that after the signal handler for SIGINT runs, SystemExit is raised but it is somehow ignored. After that it just drops back into the polling loop in Lifetime.lifetime_loop. Has anyone else noticed this odd behaviour? SIGKILL seems like a very bad idea as it does not give the process a chance to clean up, so I'm not particularly happy about what I need to do at the moment, even if its just development. regards, Izak Burger
On Fri, May 6, 2011 at 11:27 AM, Izak Burger <izak@upfrontsystems.co.za> wrote:
The little bit of debugging I've done so far suggests that after the signal handler for SIGINT runs, SystemExit is raised but it is somehow ignored. After that it just drops back into the polling loop in Lifetime.lifetime_loop. Has anyone else noticed this odd behaviour? SIGKILL seems like a very bad idea as it does not give the process a chance to clean up, so I'm not particularly happy about what I need to do at the moment, even if its just development.
Are you using zope.sendmail's mail:queuedDelivery in the project? If yes, upgrade to zope.sendmail 3.5.3, which will make it into Zope 2.12.18. Earlier versions registered an atexit handler that wasn't compatible with Python 2.5+. The bug was only fixed in later versions of zope.sendmail but not backported to the 3.5 stable branch. Otherwise what operating system are you running on? On Windows you need to hit Ctrl-C twice IIRC. Do you have any custom software that registers system exit or signal handlers? Hanno
On Fri, May 6, 2011 at 11:40 AM, Hanno Schlichting <hanno@hannosch.eu>wrote:
Are you using zope.sendmail's mail:queuedDelivery in the project? If yes, upgrade to zope.sendmail 3.5.3, which will make it into Zope 2.12.18. Earlier versions registered an atexit handler that wasn't compatible with Python 2.5+. The bug was only fixed in later versions of zope.sendmail but not backported to the 3.5 stable branch.
I accidentally sent my previous reply to Hanno directly. But I have since bumped the zope.sendmail version in my versions.cfg file and ran buildout again. I can confirm that the problem was zope.sendmail. Thanks for the very prompt reply. You saved me a lot of debugging time. regards, Izak Burger
participants (2)
-
Hanno Schlichting -
Izak Burger