[Zope] server dies
Dieter Maurer
dieter@handshake.de
Wed, 2 Aug 2000 20:03:07 +0200 (CEST)
Leichtman, David J writes:
> I was wondering if anyone else had experienced this problem: Ever since we
> installed the ZPoPy database adapter, the server has been occasionally
> crashing, and it gets worse and worse over time. Has anyone else experienced
> this problem? We're running Zope through Apache, on a Solaris box, with
> PostgreSQL. I'm really curious as to what could be causing this behavior. I
> know that that adapter is still in development, but it seems like that would
> be non-desirable behavior :) If there is some way that our setup is causing
> this, any input would be appreciated. We are also still running the last
> stable release of Zope (2.1.6, I think) with plans to upgrade next week.
We have a similar problem with Zope 2.1.6 under Solaris 2.7
using ZOracleDA to connect to Oracle 8.1.6, no other C-level
extensions.
Something in the system writes uncontrolled into memory.
Main target is the memory management leading to SIGSEGV
in the function "t_splay" or (occasionally) infinite
loops.
"purify" reports "Write After Free" problems during
release of Oracle database connections and
"Uninitialized Memory Reads" in calls to "wrap_odesc".
Both inside the Oracle 8 Client libraries.
In one test run, purify detected an uncontrolled
write into the heap from inside the "localtime_u"
C library function. The function "tzcpy" was called
writing "GMT" to an indeterminate destination.
"tzcpy", normally, is called just once during
initialization of the "time" module.
I see only one plausible explanation: the data area
of the C library has already been overwritten
(undetected by "purify", which only control writes
into the heap), the resulting heap corruption
was a side effect.
The main problem may be in the Oracle 8 client libraries.
The old Oracle 7 interface used by DCOracle seems to
be no longer documented (i.e. depracated) and maybe
no longer maintained.
But, maybe, the problem is elsewhere: in Zope/Python
the Solaris Thread Library, the C-compiler.
I will keep the list informed.
Dieter