Hi,
I try to compile dovecot -2.2.24 on Fedora 31 and get the following error:
iostream-openssl.c: In function ‘openssl_iostream_verify_client_cert’: iostream-openssl.c:118:37: error: dereferencing pointer to incomplete type ‘X509_STORE_CTX’ {aka ‘struct x509_store_ctx_st’} 118 | subject = X509_get_subject_name(ctx->current_cert); | ^~ make[3]: *** [Makefile:561: iostream-openssl.lo] Error 1
All openssl packages installed. What's the reason and how solve the problem?
Kind regards, Frank Elsner
On 11/11/2019 17:22 Frank Elsner via dovecot <dovecot@dovecot.org> wrote:
Hi,
I try to compile dovecot -2.2.24 on Fedora 31 and get the following error:
iostream-openssl.c: In function ‘openssl_iostream_verify_client_cert’: iostream-openssl.c:118:37: error: dereferencing pointer to incomplete type ‘X509_STORE_CTX’ {aka ‘struct x509_store_ctx_st’} 118 | subject = X509_get_subject_name(ctx->current_cert); | ^~ make[3]: *** [Makefile:561: iostream-openssl.lo] Error 1
All openssl packages installed. What's the reason and how solve the problem?
Kind regards, Frank Elsner
Is there some reason you want to use ancient dovecot? You should use 2.2.36 at least.
Aki
On Mon, 11 Nov 2019 17:30:37 +0200 (EET) Aki Tuomi via dovecot wrote:
[ ... ]
Is there some reason you want to use ancient dovecot? You should use 2.2.36 at least.
Migration from 32bit to 64bit. I want to avoid problems, so I used the version I have compiled and used on the 32bit system.
--Frank
On Mon, 11 Nov 2019 17:30:37 +0200 (EET) Aki Tuomi via dovecot wrote:
[ ... ]
Is there some reason you want to use ancient dovecot? You should use 2.2.36 at least.
I got dovecot-2.2.36.4 compiled but at start the log shows
dovecot[342614]: master: Dovecot v2.2.36.4 (baf9232c1) starting up for imap dovecot[342617]: ssl-params: Generating SSL parameters dovecot[342614]: master: Error: service(auth): command startup failed, throttling for 2 secs dovecot[342617]: auth: Fatal: master: service(auth): child 342623 killed with signal 11 (core dumped) dovecot[342614]: master: Error: service(auth): command startup failed, throttling for 4 secs
The configuration files are from dovecot-2.2.24 whre they worked perfect.
What to do to get it working? conf.d PS: I can provide dovecot.conf and conf.d/10-auth.conf if necessary.
--Frank
On Mon, 11 Nov 2019 23:47:27 +0100 Frank Elsner via dovecot wrote:
[ ... ]
I got dovecot-2.2.36.4 compiled but at start the log shows
dovecot[342614]: master: Dovecot v2.2.36.4 (baf9232c1) starting up for imap dovecot[342617]: ssl-params: Generating SSL parameters dovecot[342614]: master: Error: service(auth): command startup failed, throttling for 2 secs dovecot[342617]: auth: Fatal: master: service(auth): child 342623 killed with signal 11 (core dumped) dovecot[342614]: master: Error: service(auth): command startup failed, throttling for 4 secs
The configuration files are from dovecot-2.2.24 whre they worked perfect.
I narrowed the probelem down to the warnings
Warning: service auth { client_limit=128 } is lower than required under max. load (768) Warning: service anvil { client_limit=256 } is lower than required under max. load (643)
Where comes max. load from?
--Frank
On Tue, 12 Nov 2019 00:17:28 +0100 Frank Elsner via dovecot wrote:
On Mon, 11 Nov 2019 23:47:27 +0100 Frank Elsner via dovecot wrote:
[ ... ]
I narrowed the probelem down to the warnings
Warning: service auth { client_limit=128 } is lower than required under max. load (768) Warning: service anvil { client_limit=256 } is lower than required under max. load (643)
These messages disappear after changes in the auth and anvil config but I ran into the following problem:
dovecot[355234]: master: Dovecot v2.2.36.4 (baf9232c1) starting up for imap dovecot[355234]: master: Error: service(auth): command startup failed, throttling for 2 secs dovecot[355237]: auth: Fatal: master: service(auth): child 355242 killed with signal 11 (core dumped) dovecot[355234]: master: Error: service(auth): command startup failed, throttling for 4 secs dovecot[355237]: auth: Fatal: master: service(auth): child 355256 killed with signal 11 (core dumped) dovecot[355234]: master: Error: service(auth): command startup failed, throttling for 8 secs dovecot[355237]: auth: Fatal: master: service(auth): child 355271 killed with signal 11 (core dumped) dovecot[355234]: master: Error: service(auth): command startup failed, throttling for 16 secs dovecot[355237]: auth: Fatal: master: service(auth): child 355285 killed with signal 11 (core dumped) dovecot[355234]: master: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill) dovecot[355237]: imap-login: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill) dovecot[355237]: anvil: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill) dovecot[355237]: config: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill) dovecot[355237]: log: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
I guess the solution is simple but I can't find it :-(
--Frank
Hi!
Can you try follow this guide to get a core dump
https://www.dovecot.org/bugreport-mail
then provide
gdb /usr/lib/dovecot/auth /path/to/core
bt full
on it. Would help narrowing down that bug.
Also doveconf -n could be useful.
Aki
On 12.11.2019 9.19, Frank Elsner wrote:
On Tue, 12 Nov 2019 00:17:28 +0100 Frank Elsner via dovecot wrote:
On Mon, 11 Nov 2019 23:47:27 +0100 Frank Elsner via dovecot wrote: [ ... ]
I narrowed the probelem down to the warnings
Warning: service auth { client_limit=128 } is lower than required under max. load (768) Warning: service anvil { client_limit=256 } is lower than required under max. load (643) These messages disappear after changes in the auth and anvil config but I ran into the following problem:
dovecot[355234]: master: Dovecot v2.2.36.4 (baf9232c1) starting up for imap dovecot[355234]: master: Error: service(auth): command startup failed, throttling for 2 secs dovecot[355237]: auth: Fatal: master: service(auth): child 355242 killed with signal 11 (core dumped) dovecot[355234]: master: Error: service(auth): command startup failed, throttling for 4 secs dovecot[355237]: auth: Fatal: master: service(auth): child 355256 killed with signal 11 (core dumped) dovecot[355234]: master: Error: service(auth): command startup failed, throttling for 8 secs dovecot[355237]: auth: Fatal: master: service(auth): child 355271 killed with signal 11 (core dumped) dovecot[355234]: master: Error: service(auth): command startup failed, throttling for 16 secs dovecot[355237]: auth: Fatal: master: service(auth): child 355285 killed with signal 11 (core dumped) dovecot[355234]: master: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill) dovecot[355237]: imap-login: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill) dovecot[355237]: anvil: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill) dovecot[355237]: config: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill) dovecot[355237]: log: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
I guess the solution is simple but I can't find it :-(
--Frank
On Tue, 12 Nov 2019 09:22:56 +0200 Aki Tuomi via dovecot wrote:
Hi!
Can you try follow this guide to get a core dump
https://www.dovecot.org/bugreport-mail
then provide
gdb /usr/lib/dovecot/auth /path/to/core
bt full
Sorry, I'm not familiar with gdb and can only provide this
# gdb /usr/local/dovecot//libexec/dovecot/auth GNU gdb (GDB) Fedora 8.3.50.20190824-24.fc31 Copyright (C) 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>.
For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /usr/local/dovecot//libexec/dovecot/auth... (gdb) bt full No stack. (gdb) r Starting program: /usr/local/dovecot/libexec/dovecot/auth [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault. __strcmp_ssse3 () at ../sysdeps/x86_64/multiarch/../strcmp.S:173 173 movlpd (%rdi), %xmm1
Also doveconf -n could be useful.
Here it is:
# 2.2.36.4 (baf9232c1): /usr/local/dovecot/etc/dovecot/dovecot.conf # OS: Linux 5.3.8-300.fc31.x86_64 x86_64 Fedora release 31 (Thirty One) ext3 # Hostname: seymour.fritz.box auth_mechanisms = plain login default_client_limit = 1024 default_process_limit = 256 default_vsz_limit = 512 M first_valid_uid = 200 last_valid_uid = 65534 listen = * lmtp_save_to_detail_mailbox = yes login_greeting = m28a.ddns.net - IMAPs Service (dovecot) ready. login_log_format_elements = %u %r %c mail_location = maildir:/var/spool/mail/%u:LAYOUT=fs mail_log_prefix = "%Us(%u,%r): " mail_plugin_dir = /usr/dovecot/lib/dovecot/ mail_plugins = notify quota fts fts_squat acl namespace inbox { inbox = yes list = yes location = mailbox Drafts { special_use = \Drafts } mailbox Gesendet { special_use = \Sent } mailbox SPAM { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = subscriptions = yes type = private } passdb { args = dovecot driver = pam } plugin { fts = squat fts_squat = partial=4 full=10 mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename flag_change append mail_log_fields = uid box from subject msgid size flags mail_log_group_events = yes quota = maildir:User quota quota_rule = ?:storage=5G quota_rule2 = Trash:storage=+100M } postmaster_address = frank.elsner@mailbox.org protocols = imap service anvil { client_limit = 1024 } service auth { unix_listener auth-client { group = exim mode = 0660 user = exim } } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } process_limit = 512 process_min_avail = 3 } service imap-postlogin { executable = script-login /usr/local/sbin/dovecot-imap-post-login } service imap { executable = imap imap-postlogin process_limit = 128 } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } } service pop3 { process_limit = 128 } ssl_cert = </usr/local/etc/m28a.crt ssl_key = # hidden, use -P to show it userdb { driver = passwd } verbose_proctitle = yes protocol lmtp { mail_plugins = notify quota fts fts_squat acl } protocol lda { mail_plugins = notify quota fts fts_squat acl } protocol imap { imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags imap_id_log = * imap_logout_format = [%i/%o] mail_max_userip_connections = 0 mail_plugins = notify quota fts fts_squat acl quota imap_quota listescape fts fts_squat }
--Frank
On 12.11.2019 9.49, Frank Elsner wrote:
On Tue, 12 Nov 2019 09:22:56 +0200 Aki Tuomi via dovecot wrote:
Hi!
Can you try follow this guide to get a core dump
https://www.dovecot.org/bugreport-mail
then provide
gdb /usr/lib/dovecot/auth /path/to/core
bt full Sorry, I'm not familiar with gdb and can only provide this
# gdb /usr/local/dovecot//libexec/dovecot/auth GNU gdb (GDB) Fedora 8.3.50.20190824-24.fc31 Copyright (C) 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>.
For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /usr/local/dovecot//libexec/dovecot/auth... (gdb) bt full No stack. (gdb) r Starting program: /usr/local/dovecot/libexec/dovecot/auth [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault. __strcmp_ssse3 () at ../sysdeps/x86_64/multiarch/../strcmp.S:173 173 movlpd (%rdi), %xmm1
Well, you need to get a core file first, which is documented in the page I linked.
Once you have a core file, somewhere, you should use
gdb /usr/lib/dovecot/auth /var/core/1234
and then try bt full.
There is no point using gdb without core file in this particular case.
If you are using systemd, you can do
systemctl edit dovecot
[Service]
LimitCORE=unlimited
Aki
participants (2)
-
Aki Tuomi
-
Frank Elsner