If a MySQL query from Zope fails for the reason that the
max_allowed_packet variable has a to small value on the MySQL
server, the Zope process consumes all available memory and
crashes... (For example if you feed the query with a big chunk
for a BLOB)
My guess is that the 'query' method of the 'DB' object (db.py)
recurses forever if the db connection is hosed. If the second try
fails, I think it should give up.