From: robin.boerdijk at nl.origin-it.com (Robin Boerdijk)
Date: Mon, 24 May 1999 13:59:11 +0200
Subject: Module initialization problem when using COM
References: <0E16861EE7BCD111BE9400805FE6841F0949A5B2@c1s5x001.cor.srvfarm.origin-it.com><7i4sgb$3c5$1@m2.c2.telstra-mm.net.au> <UrFUybMB0KGWE_eBR4@holmes.parc.xerox.com>
Message-ID: <0E16861EE7BCD111BE9400805FE6841F0958133E@c1s5x001.cor.srvfarm.origin-it.com>
Content-Length: 1172
X-UID: 1919                                                 

Bill Janssen <janssen at parc.xerox.com> wrote in message
news:UrFUybMB0KGWE_eBR4 at holmes.parc.xerox.com...
> The ILU module initialization doesn't do anything much.  It only makes
> two calls into the ILU library itself, and both are minor calls that can
> be made indefinitely often.  I wouldn't expect it to crash if it was
> called more than once, unless perhaps Python itself objects to calling
> things like Py_InitModule() more than once.
>
> Bill

Well, actually, the crash is caused by the

  _ilu_Assert(theNoters[lang]==NULLFN, "SetNoter: already set");

assertion in ilu_SetNoter() in ILU2.0alpha13\runtime\kernel\object.c(57),
which is called from the initiluPr() initialization function of the iluPr
module. I'm quite happy with this assertion because the initiluPr() function
should really be called only once. This assertion caught a bug that is
probably somewhere outside of ILU, as I tried to demonstrate in my original
post. To me, this shows the quality of the ILU code: it even catches
external bugs (albeit at the price of crashing itself <wink>).

Robin

"Good software catches its own bugs. Excellent software also catches the
others."











