[ic] Strange error

Kevin Walsh interchange-users@icdevgroup.org
Mon Jun 17 05:17:00 2002


> > > I ocassionally find the following error in the icdebug log.
> > > perl in free(): warning: recursive call.
> > >      perl in malloc(): warning: recursive call.
> > >      Out of memory!
> > > I have tried to generate the error myself, and have been unable to do so. It
> > > dosen't show in any other log files and only happen ocassionally. Maybe once
> > > from every 50 orders. I does seem to be coming from the order form.
> > > I am using IC 4.8.1 on freebsd 4.3,  apache 1.3.20,with SSL authorize.net
> > > 
> > I think I've spotted the problem: FreeBSD.
> > 
> > Enough said. :-)
> >
> Is there a problem using Interchange on FreeBSD?
> Would you like to elaborate?
>
Do a Google search for that "recursive call" problem.  You'll find
that it's not confined to Interchange.  It occurs mostly with Perl
applications and doesn't occur on anything but FreeBSD.

http://interchange.redhat.com/pipermail/interchange-users/2000-December/002720.html
http://www.geocrawler.com/archives/3/11679/2001/10/0/6962660/
http://www.geocrawler.com/archives/3/1371/2002/3/0/8238008/
http://www.apachelabs.org/httpd-users/200203.mbox/%3C02030114155105.03561@pico%3E

There are loads of other examples.

That particular problem appears to be related to signal handling
routines, so you "may" be able to solve it by setting PreFork to
Yes and MaxServers to 0.

Another solution could be to rebuild Perl with the option to use
it's own malloc, rather than the FreeBSD malloc.  Run "make test"
and make sure that ALL of the tests pass.

You can probably guess my third, and preferred, solution. :-)

-- 
   _/   _/  _/_/_/_/  _/    _/  _/_/_/  _/    _/
  _/_/_/   _/_/      _/    _/    _/    _/_/  _/   K e v i n   W a l s h
 _/ _/    _/          _/ _/     _/    _/  _/_/    kevin@cursor.biz
_/   _/  _/_/_/_/      _/    _/_/_/  _/    _/