[Zope] Zope 2.7.0 crash on FreeBSD 5.2

Terry Hancock hancock at anansispaceworks.com
Fri Jun 25 18:31:55 EDT 2004


On Wednesday 16 June 2004 09:33 am, george donnelly wrote:
> we run hundreds of zopes on multiple freebsd boxen without OS-related
> issues, so this is pure FUD. zope and freebsd are good friends, just as
> long as the stacksize has been upped which is not hard to do. :)

No it is not FUD.

At least, not on a FreeBSD fakeroot jail system like I'm using
at Imeme.  Transferring new product code over from Linux to
FreeBSD is a constant headache for me.

Particular Zope features like ImageFile seem to be subject to
serious failures on this system. I think it has something to
do with limited access to file-handles, but I've not been able
to localize the problem yet (I'm not so interested in that
question, as in how to get my stuff to run on it with the
minimum amount of fuss).

But there are several things that have to be done differently
on FreeBSD in order to work.  And what's particularly annoying
is that the work-arounds are often wasteful of memory.

For example, I use small GIF images to report error messages in
VarImage.  This should happen rarely, so it would normally be
desireable to simply load them from disk as needed.  But while
this works wonderfully on Linux, it chokes practically every
time on FreeBSD.

Now I'm not sure why.  It might be that only the main thread
can get file-handles.  Or it may be that there are just not
enough of them (I have actually seen Zope not be able to load
all of the management icons when the server is heavily loaded).

But for whatever reason, FreeBSD requires an expensive work-around,
which is to pre-load all the images at class initialization time,
so they hang around in memory.  Alternatively, I can load
these images into the ZODB, but that's not really all that
attractive, unless it's something the administrator should
have control over.

In this case, it's not so bad, because these images are small,
but if I had to include a bunch of fine print in them, I'd be
in trouble. ;-)

The main justification for using FreeBSD, as it was explained
to me, was the fakeroot jail system. But I would like to point
out that Debian Linux includes a fakeroot jail system package,
at least in the Sarge (now testing) release:

http://packages.debian.org/testing/admin/jailer

I know it's probably less mature on Linux, but I'm certainly
looking forward to someone offering this service on a Linux
platform (BTW, the sacrifice of using FreeBSD has been well
worth it, because Imeme provides good service for the cost,
and I think the fakeroot jail is the reason they can do so).

At one level, I feel it's good that I go through this particular
headache -- if my products manage to run on both Linux and
FreeBSD, there's a good chance I've flushed out additional bugs
in my work.

But I get tired of these "bugs" that shouldn't be bugs, because
the system really ought to be able to cope with them (or to put
it a different way, there exists a free-software system that
does, and there are advantages to doing them the way I initially
did, over the way I'm forced to do them to get FreeBSD
compatibility).

It's also possible that the fakeroot jails would have the
same problem on Linux, in which case, I'm misidentifying
the source of my headaches.

But I don't think either justifies calling it FUD. There
are real reasons to be wary of using FreeBSD, especially
if you are developing on Linux.  You definitely will see
problems when you port your code.

Cheers,
Terry




--
Terry Hancock ( hancock at anansispaceworks.com )
Anansi Spaceworks  http://www.anansispaceworks.com



More information about the Zope mailing list