A curious qmail bug in the aftermath of openssl-0.9.8m
Interesting Saturday morning. I did an upgrade, nothing spectacular,
except qmail-smtpd stopped receiving email, instead leaving this line
in the log for every connection attempt:
/var/qmail/bin/qmail-smtpd: error while loading shared libraries: libz.so.1: failed to map segment from shared object: Cannot allocate memory
Being somewhat confused by such a combination of finger pointing
(libz? qmail-smtpd? shared memory?), and having emerged a new kernel
(2.6.33) a few days before but not having rebooted it yet, I thought
maybe the update had failed becasue something expected the new
kernel. Besides, it hadn't had a -r1 yet, so it was probably working,
and wirth trying.
Encfs stopped working. I have .mozilla, my email archive, bank
statements, and various other documents in an encrypted partition, and
firefox tried to start me up as a brand new user -- a bit of poking
around and I discovered that encfs was awfully confused. I shut it
down before anything could be written back, except for whatever
Firefox might have done, called a friend (since I couldn't google
without a browser and didn't want to set up a brand new config just
for this) who quickly found a bug in openssl 0.9.8m, so I downgraded
to 0.9.8l-r2 and encfs worked again. Got out the backup from the
midnite before, restored the .mozilla data, and I was back in
But still no qmail. Still got that message.
To make a long story short, google eventually convinced me that the
problem was nothing to do with openssl but with the config item
SOFTLIMIT_OPTS. Its install default is 8M, but I changed it to 16M 5
years ago, and for now, changed to to 40M, and suddenly I have email
again. The comments for this options say
# we limit data and stack segments to 8mbytes, you may need to raise this if
# you are using a filter in QMAILQUEUE
I am a bit confused about this. I can easily imagine that various
libs had been gradually increasing in size and I was just a few bytes
from the 16M limit, and openssl 0.9.8m bumped over that limit, but
when I downgraded back to 0.9.8l-r2, why didn't it drop the size back
below the 16M limit? No other system libs changed during that period,
and it can't have been anything else since qmail stopped working
dyanamically, not only after the reboot. And once I changed the
config item, it started working almost instantly.
All I could think of is that the old 0.9.8l-r2 had some system string,
like the result of uname, embedded in it which had grown by just a
little since the original 0.9.8l-r2 install back in February.
Is there some way to accurately measure how much shared space is used
by an app, such as when tcpserver fires up qmail-smtpd on incoming
connections? I'm pretty curious about this. It would be interesting
to see how far over the old 16M limit it is now.
... _._. ._ ._. . _._. ._. ___ .__ ._. . .__. ._ .. ._.
Felix Finch: scarecrow repairman & rocket surgeon / email@example.com
GPG = E987 4493 C860 246C 3B1E 6477 7838 76E9 182E 8151 ITAR license #4933
I've found a solution to Fermat's Last Theorem but I see I've run out of room o