dovecot -2.2.24 on Fedora 31

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

dovecot -2.2.24 on Fedora 31

Dovecot mailing list
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
Reply | Threaded
Open this post in threaded view
|

Re: dovecot -2.2.24 on Fedora 31

Dovecot mailing list

> On 11/11/2019 17:22 Frank Elsner via dovecot <[hidden email]> 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
Reply | Threaded
Open this post in threaded view
|

Re: dovecot -2.2.24 on Fedora 31

Dovecot mailing list
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
Reply | Threaded
Open this post in threaded view
|

Re: dovecot -2.2.24 on Fedora 31

Dovecot mailing list
In reply to this post by Dovecot mailing list
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
Reply | Threaded
Open this post in threaded view
|

Re: dovecot -2.2.24 on Fedora 31

Dovecot mailing list
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

Reply | Threaded
Open this post in threaded view
|

Re: dovecot -2.2.24 on Fedora 31

Dovecot mailing list
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

Reply | Threaded
Open this post in threaded view
|

Re: dovecot -2.2.24 on Fedora 31

Dovecot mailing list
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
>
Reply | Threaded
Open this post in threaded view
|

Re: dovecot -2.2.24 on Fedora 31

Dovecot mailing list
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 = [hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: dovecot -2.2.24 on Fedora 31

Dovecot mailing list

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