John Ziniti wrote at 2004-3-31 11:12 -0500:
I am runnning Zope-2.7.0/Python-2.3.3/ZEO on Linux and have been having problems with refreshing a Product that I wrote in-house. Upon refreshing, Zope stops responding, and Apache/FastCGI eventually times out waiting for a response. This was also a problem with Zope-2.6.4/ZEO but not Zope-2.4.3/ZEO; but the machines and custom-product code also changed between 2.4.3 and 2.6.4.
Following the instructions at:
http://www.zope.org/Members/4am/debugspinningzope
I was able to learn that the Zope threads look like:
(gdb) info threads 6 Thread 40965 (LWP 29363) 0x080d1e77 in visit_decref (op=0x503c1b54, data=0x0) at Modules/gcmodule.c:225 5 Thread 32772 (LWP 29362) 0x42028d69 in sigsuspend () from /lib/i686/libc.so.6 4 Thread 24579 (LWP 29361) 0x42028d69 in sigsuspend () from /lib/i686/libc.so.6 3 Thread 16386 (LWP 29360) 0x42028d69 in sigsuspend () from /lib/i686/libc.so.6 2 Thread 16385 (LWP 29358) 0x420d224b in poll () from /lib/i686/libc.so.6 1 Thread 8192 (LWP 29312) 0x420d3b2e in select () from /lib/i686/libc.so.6
We do not see enough to determine the cause of the spinning. When the situation above remains (i.e. Thread 6 is running while all others are sleeping) when you let your program run (and later stop) again, then this would indicate an infinite loop in the cyclic garbage collector. We would then need a closer look why this happens. -- Dieter