Pigeonhole 0.4.4 error with no sieve rules
I have built and installed Pigeonhole 0.4.4 with Dovecot 2.2.15. For users with no sieve at all I am getting an error on delivery. Delivery is from exim via lmtp.
Syslog: Oct 28 11:03:50 mailhost dovecot: [ID 583609 mail.crit] lmtp(18915): Fatal: master: service(lmtp): child 18915 killed with signal 11 (core not dumped - set service lmtp { drop_priv_before_exec=yes })
There is no global sieve script because there is no global sieve rule. Where an account has sieve rules delivery works as expected. To make it work again I've gone back to 2.2.15 with 0.4.3.
James.
James schreef op 28-10-2014 12:48:
I have built and installed Pigeonhole 0.4.4 with Dovecot 2.2.15. For users with no sieve at all I am getting an error on delivery. Delivery is from exim via lmtp.
Syslog: Oct 28 11:03:50 mailhost dovecot: [ID 583609 mail.crit] lmtp(18915): Fatal: master: service(lmtp): child 18915 killed with signal 11 (core not dumped - set service lmtp { drop_priv_before_exec=yes })
There is no global sieve script because there is no global sieve rule. Where an account has sieve rules delivery works as expected. To make it work again I've gone back to 2.2.15 with 0.4.3.
Hmm, I cannot reproduce this here.
Do you have dovecot -n
output for me?
LMTP logs with mail_debug=yes would be good too.
Regards,
Stephan.
Stephan Bosch schreef op 28-10-2014 14:31:
James schreef op 28-10-2014 12:48:
I have built and installed Pigeonhole 0.4.4 with Dovecot 2.2.15. For users with no sieve at all I am getting an error on delivery. Delivery is from exim via lmtp.
Syslog: Oct 28 11:03:50 mailhost dovecot: [ID 583609 mail.crit] lmtp(18915): Fatal: master: service(lmtp): child 18915 killed with signal 11 (core not dumped - set service lmtp { drop_priv_before_exec=yes })
There is no global sieve script because there is no global sieve rule. Where an account has sieve rules delivery works as expected. To make it work again I've gone back to 2.2.15 with 0.4.3.
Hmm, I cannot reproduce this here.
Do you have
dovecot -n
output for me?LMTP logs with mail_debug=yes would be good too.
Oh, of course a gdb backtrace (e.g. from a core dump) would be most useful:
http://www.dovecot.org/bugreport.html
Regards,
Stephan.
On 28/10/2014 13:58, Stephan Bosch wrote:
Oct 28 11:03:50 mailhost dovecot: [ID 583609 mail.crit] lmtp(18915): Fatal: master: service(lmtp): child 18915 killed with signal 11 (core not dumped - set service lmtp { drop_priv_before_exec=yes }) ... Oh, of course a gdb backtrace (e.g. from a core dump) would be most useful:
"core not dumped".
James.
James schreef op 28-10-2014 15:02:
On 28/10/2014 13:58, Stephan Bosch wrote:
Oct 28 11:03:50 mailhost dovecot: [ID 583609 mail.crit] lmtp(18915): Fatal: master: service(lmtp): child 18915 killed with signal 11 (core not dumped - set service lmtp { drop_priv_before_exec=yes }) ... Oh, of course a gdb backtrace (e.g. from a core dump) would be most useful:
"core not dumped".
This link provides hints on how to get a core dump:
http://www.dovecot.org/bugreport.html
Regards,
Stephan.
Stephan Bosch schreef op 28-10-2014 15:17:
James schreef op 28-10-2014 15:02:
On 28/10/2014 13:58, Stephan Bosch wrote:
Oct 28 11:03:50 mailhost dovecot: [ID 583609 mail.crit] lmtp(18915): Fatal: master: service(lmtp): child 18915 killed with signal 11 (core not dumped - set service lmtp { drop_priv_before_exec=yes }) ... Oh, of course a gdb backtrace (e.g. from a core dump) would be most useful:
"core not dumped".
This link provides hints on how to get a core dump:
Oh, and the error ^^ gives a good hint as well.
Regards,
Stephan.
On 28/10/2014 14:19, Stephan Bosch wrote:
Stephan Bosch schreef op 28-10-2014 15:17:
Oh, of course a gdb backtrace (e.g. from a core dump) would be most useful:
"core not dumped".
This link provides hints on how to get a core dump:
Oh, and the error ^^ gives a good hint as well.
Not understanding the message I assumed it was a just a statement and not an instruction.
OK, after a short delay while I rebuild with symbol tables, here is a dbx trace (I don't have gdb built/installed):
$ dbx /opt/XXXX/libexec/dovecot/lmtp core
...
(dbx) where
[1] strlen(0x0), at 0xfee7645c
[2] _ndoprnt(0xfe8657dc, 0x80476ac, 0x80475d0, 0x0), at 0xfeed1bbe
[3] vsnprintf(0x806de30, 0x11b, 0xfe8657cc, 0x80476ac), at 0xfeed4d7f
=>[4] t_noalloc_strdup_vprintf(format = (nil), args = 0x80476ac, size_r
= 0x804764c) (optimized), at 0xfedddbd0 (line ~122) in "strfuncs.c"
[5] p_strdup_vprintf(pool = 0xfee1f8e8, format = 0xfe8657cc "Sieve
script %s' not found", args = 0x80476ac) (optimized), at 0xfedddc96 (line ~146) in "strfuncs.c" [6] i_strdup_vprintf(format = 0xfe8657cc "Sieve script
%s' not
found", args = 0x80476ac) (optimized), at 0xfeda6bd9 (line ~50) in "imem.c"
[7] sieve_script_set_error(script = 0x80b0f40, error =
SIEVE_ERROR_NOT_FOUND, fmt = 0xfe8657cc "Sieve script %s' not found", ... = <value unavailable>, ...) (optimized), at 0xfe793bd7 (line ~555) in "sieve-script.c" [8] sieve_file_script_handle_error(fscript = 0x80b0f40, path = 0x80b0c38 "/PATH/TO/STORE/DOMAIN/NAME/dovecot.sieve", error_r = 0x8047898) (optimized), at 0xfe7e3350 (line ~65) in "sieve-file-script.c" [9] sieve_file_script_open(script = 0x80b0f40, error_r = 0x8047898) (optimized), at 0xfe7e3bbf (line ~346) in "sieve-file-script.c" [10] sieve_script_open(script = 0x80b0f40, error_r = (nil)) (optimized), at 0xfe792f48 (line ~174) in "sieve-script.c" [11] sieve_file_script_open_from_path(fstorage = 0x80b0730, path = 0x80b0850 "/PATH/TO/STORE/DOMAIN/NAME/dovecot.sieve", scriptname = (nil), error_r = (nil)) (optimized), at 0xfe7e375f (line ~233) in "sieve-file-script.c" [12] sieve_file_storage_active_script_open(storage = 0x80b0730) (optimized), at 0xfe7e674f (line ~288) in "sieve-file-storage-active.c" [13] sieve_storage_active_script_open(storage = 0x80b0730, error_r = 0x8047940) (optimized), at 0xfe795d06 (line ~657) in "sieve-storage.c" [14] lda_sieve_find_scripts(srctx = 0x8047990) (optimized), at 0xfe893774 (line ~668) in "lda-sieve-plugin.c" [15] lda_sieve_deliver_mail(mdctx = 0x8047a80, storage_r = 0x8047a78) (optimized), at 0xfe89432b (line ~983) in "lda-sieve-plugin.c" [16] mail_deliver(ctx = 0x8047a80, storage_r = 0x8047a78) (optimized), at 0xfee39d47 (line ~400) in "mail-deliver.c" [17] client_deliver(client = 0x807c780, rcpt = 0x807d230, src_mail = 0x80a3cb8, session = 0x80a84c8) (optimized), at 0x8058ee2 (line ~697) in "commands.c" [18] client_deliver_next(client = 0x807c780, src_mail = 0x80a3cb8, session = 0x80a84c8) (optimized), at 0x80590c6 (line ~741) in "commands.c" [19] client_input_data_write_local(client = 0x807c780, input = 0x808bd98) (optimized), at 0x80593d5 (line ~835) in "commands.c" [20] client_input_data_write(client = 0x807c780) (optimized), at 0x80598e6 (line ~947) in "commands.c" [21] client_input_data_handle(client = 0x807c780) (optimized), at 0x8059c42 (line ~1041) in "commands.c" [22] client_input_data(client = 0x807c780) (optimized), at 0x8059cc2 (line ~1050) in "commands.c" [23] io_loop_call_io(io = 0x807d158) (optimized), at 0xfedb9a89 (line ~498) in "ioloop.c" [24] io_loop_handler_run_internal(ioloop = 0x8075c50) (optimized), at 0xfedbb849 (line ~211) in "ioloop-poll.c" [25] io_loop_handler_run(ioloop = 0x8075c50) (optimized), at 0xfedb9bfe (line ~545) in "ioloop.c" [26] io_loop_run(ioloop = 0x8075c50) (optimized), at 0xfedb9b4d (line ~522) in "ioloop.c" [27] master_service_run(service = 0x8075790, callback = 0x8054c80 = &
lmtpmain.c
client_connected(struct master_service_connection *conn))
(optimized), at 0xfed18587 (line ~566) in "master-service.c"
[28] main(argc = 1, argv = 0x8047d84) (optimized), at 0x8054f8d (line
~122) in "main.c"
Sorry but I've not had time to analyse it, a task for the morning.
James.
On 10/28/2014 8:48 PM, James wrote:
On 28/10/2014 14:19, Stephan Bosch wrote:
Stephan Bosch schreef op 28-10-2014 15:17:
Oh, of course a gdb backtrace (e.g. from a core dump) would be most useful:
"core not dumped".
This link provides hints on how to get a core dump:
Oh, and the error ^^ gives a good hint as well.
Not understanding the message I assumed it was a just a statement and not an instruction.
OK, after a short delay while I rebuild with symbol tables, here is a dbx trace (I don't have gdb built/installed):
It is a SunOS system, so that is probably the reason why I cannot reproduce this bug here. If I remember correctly, the SunOS's printf doesn't like NULL as a %s parameter, so the following fix may help:
http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/6afd6d927f40
Sorry but I've not had time to analyse it, a task for the morning.
No problem.
Regards,
Stephan.
On 28/10/2014 21:39, Stephan Bosch wrote:
If I remember correctly, the SunOS's printf doesn't like NULL as a %s parameter,
That is so.
so the following fix may help:
http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/6afd6d927f40
It does.
Many thanks for looking at this and creating a solution.
James.
On 28/10/2014 13:31, Stephan Bosch wrote:
I have built and installed Pigeonhole 0.4.4 with Dovecot 2.2.15. For users with no sieve at all I am getting an error on delivery. Delivery is from exim via lmtp.
Syslog: Oct 28 11:03:50 mailhost dovecot: [ID 583609 mail.crit] lmtp(18915): Fatal: master: service(lmtp): child 18915 killed with signal 11 (core not dumped - set service lmtp { drop_priv_before_exec=yes } ...
Do you have
dovecot -n
output for me?
"dovecot -n" with mild edits, the personal paths are in capitals:
# 2.2.15: /etc/opt/XXXX/dovecot/dovecot.conf # OS: SunOS 5.10 i86pc auth_mechanisms = plain login digest-md5 cram-md5 base_dir = /var/opt/XXXX/dovecot/ lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes login_trusted_networks = 192.168.1.0/24 111.222.333.444/24 mail_gid = vmail mail_home = /PATH/TO/STORE/%d/%n mail_location = maildir:/PATH/TO/STORE/%d/%n/Maildir mail_max_userip_connections = 20 mail_uid = vmail mailbox_idle_check_interval = 10 secs managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave duplicate passdb { args = /etc/opt/XXXX/dovecot/dovecot-sql.conf driver = sql } plugin { fts_autoindex = yes quota = maildir:User quota quota_rule = *:storage=1G quota_rule2 = Trash:storage=+10% quota_warning = storage=90%% quota-warning 90 %u quota_warning2 = storage=95%% quota-warning 95 %u quota_warning3 = storage=99%% quota-warning 99 %u sieve = /PATH/TO/STORE/%d/%n/dovecot.sieve sieve_dir = /PATH/TO/STORE/%d/%n/sieve } protocols = imap lmtp sieve service auth { unix_listener auth-client { mode = 0660 } unix_listener auth-master { mode = 0600 } user = root } service lmtp { group = vmail unix_listener lmtp { mode = 0666 } user = vmail } service quota-warning { executable = script /etc/opt/XXXX/dovecot/quota-warning user = vmail } ssl_cert =
LMTP logs with mail_debug=yes would be good too.
From syslog with the syslog identity prefixes and dates removed, personal paths replaced with capitals:
sieve: include: sieve_global is not set; it is currently not possible to
include :global' scripts. vOFIJHGAT1TlPAAAs831Jw: sieve: file storage: Using script storage path: /PATH/TO/STORE/DOMAIN/NAME/sieve vOFIJHGAT1TlPAAAs831Jw: sieve: file storage: Using active Sieve script path: /PATH/TO/STORE/DOMAIN/NAME/dovecot.sieve vOFIJHGAT1TlPAAAs831Jw: sieve: file storage: Relative path to sieve storage in active link: sieve/ vOFIJHGAT1TlPAAAs831Jw: sieve: file storage: Using script storage path: /PATH/TO/STORE/DOMAIN/NAME/dovecot.sieve lmtp(NAME@DOMAIN): Debug: vOFIJHGAT1TlPAAAs831Jw: sieve: file script: File
/PATH/TO/STORE/DOMAIN/NAME/dovecot.sieve' not found
Thank you for your interest. James.
On Tue, Oct 28, 2014 at 11:48:16AM +0000, James wrote:
Syslog: Oct 28 11:03:50 mailhost dovecot: [ID 583609 mail.crit] lmtp(18915):
Fatal: master: service(lmtp): child 18915 killed with signal 11 (core
not dumped - set service lmtp { drop_priv_before_exec=yes })
For Solaris, please look into 'man coreadm'
If you would like to inspect your coredumps, you will have to to something like this. Ensure that you have some space for /var/core or whereever you would like to place them.
mkdir /var/core chmod 700 /var/core coreadm -g /var/core/core.%f.%p coreadm -e process coreadm -e global
hmk
participants (3)
-
Hans Morten Kind
-
James
-
Stephan Bosch