[Zope-dev] Python Method infinite loop?

Jeff K. Hoffman jeff.hoffman@goingv.com
Fri, 10 Mar 2000 10:44:40 -0500 (EST)


On Fri, 10 Mar 2000, Evan Simpson wrote:

> PythonMethods are "safe" in the sense that they should not allow access to
> or alteration of Zope objects and data without correct permissions.
> 
> They are *not* "safe" in the sense of preventing deliberate (or accidental)
> denial of service.  While it would be possible for PMs to detect and halt
> infinite (or at least very long) loops, this would really only help with
> accidental cases, and would be fairly expensive.  There are so many ways to
> arrange for a DoS attack, most of them not fixable by the PM machinery, that
> I've punted on this.
> 
> What would be really nice is Python machinery to assign space/time limits to
> a thread, so that *any* request mechanism which started consuming "too much"
> of your process' resources could be dealt with uniformly.

Thanks, Evan. As I said, I just wanted to make sure this was the intended
behavior.

I agree, the nicest solution would be the per-thread limits you speak of.
But, for now, I'll just kick the server when one of my people makes a
boo-boo.

While I'm on the topic, is there any way to figure out WHAT thread is
stuck in a loop? ie. If this were a Python Method that only looped every
third tuesday of the fifth leap year per century, is there a way for me to
identify what went awol, either using the monitor, or manage_debug, or...?

Preparing-for-that-third-tuesday-ly yours,

--Jeff

---
Jeff K. Hoffman                                         704.849.0731 x108
Chief Technology Officer                                mailto:jeff@goingv.com
Going Virtual, L.L.C.                                   http://www.goingv.com/