著者: Jeremy Harris 日付: To: exim-users 題目: Re: [exim] [root@doctor.nl2k.ab.ca: Cron <root@doctor>
/usr/local/sbin/exim -v -q]
On 26/09/16 01:17, The Doctor wrote: > Was trying out Exim 4.88 RC 1 .
>
> What could have gone wrong?
>
>
> ----- Forwarded message from Cron Daemon <root@???> -----
>
> Date: Sun, 25 Sep 2016 16:40:00 -0600
> From: Cron Daemon <root@???>
> To: root@???
> Subject: Cron <root@doctor> /usr/local/sbin/exim -v -q
>
> LOG: MAIN
> Warning: purging the environment.
> Suggested action: use keep_environment.
> LOG: queue_run MAIN
> Start queue run: pid=40486
> delivering 1bnSeN-0002Rt-81 (queue run pid 40486)
> BDB0103 DB environment not configured for transactions
> BDB1565 DB->compact: method not permitted before handle's open method
> BDB1565 DB->compact: method not permitted before handle's open method
> BDB1565 DB->compact: method not permitted before handle's open method
> LOG: MAIN PANIC
> queue run: process 40490 crashed with signal 11 while delivering 1bnSeN-0002Rt-81
> delivering 1bnQkT-000O3J-0V (queue run pid 40486)
First, thanks for trying the RC and hence finding the issues with it.
The problem here looks like the database interface used by Exim depends
on environment variable(s), and for security reasons - exactly this sort
of hidden usage - the environment is now wiped during startup.
What platform are you running on, and with what DB libraries?
You may need to build using 'FULLECHO="" make -e' to trace the latter;
the final link line and its '-L' and '-ldb' (or similar) options
are the interesting bit. From those locate the actual path of the
library, and if possible with your system's package management tools,
work back to the package name/version that installed it.
Please say whatever you can find out.
Check any docs you have relating to the DB library for any mention
of use of environment variables. Alternatively, check the environment
normally passed to a cron job (I'm assuming cron, from your forwarded
mail) and guess at what variable/s might be relevant.
Having found the relevant environment variables, either:
- set names and values in your main config option "add_environment"
- set names in your main config option "keep_environment", to retain
the name/value pairs from the environment as called. Be aware that
the value is subject to manipulation by a possibly-untrusted caller
of Exim.
It's be nice if we could chase down the SIGSEGV crash also, but that's
a secondary issue, likely a followon from the DB open failure.
--
Cheers,
Jeremy