[Dovecot] 2.0.12 Coredump under Solaris 10
hi,
I've installed a testversion from 2.0.12 and getting coredumps after login via IMAP/POP3. I don't know, if it is a simple config error or something else.
====== dovecot: [ID 583609 local7.error] master: Error: service(imap): child 29333 killed with signal 11 (core dumped)
[ID 583609 local7.error] master: Error: service(imap): child 29335 killed with signal 11 (core dumped)
my configure:
CPPFLAGS="-D_POSIX_PTHREAD_SEMANTICS" LDFLAGS="-L/opt/csw/lib -L/usr/lib -R/opt/csw/lib/" ./configure --prefix=/usr/local/dovecot/2.0.12-testinstanz --with-ssl=openssl --with-rundir=/var/run/dovecot-testinstanz --with-storages=maildir,mbox,sdbox,mdbox --with-ldap=yes --sysconfdir=/usr/local/dovecot/etc-testinstanz
2.0.9 works.
The gdb coredump shows:
gdb ../../dovecot2-testinstanz/libexec/dovecot/imap /var/run/dovecot-testinstanz/core
GNU gdb 6.6 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-pc-solaris2.8"... Reading symbols from /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/libdovecot-storage.so.0...done. Loaded symbols for /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/libdovecot-storage.so.0 Reading symbols from /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/libdovecot.so.0...done. Loaded symbols for /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/libdovecot.so.0 Reading symbols from /opt/csw/lib/libiconv.so.2...done. Loaded symbols for /opt/csw/lib//libiconv.so.2 Reading symbols from /lib/libnsl.so.1...done. Loaded symbols for /lib/libnsl.so.1 Reading symbols from /lib/libsocket.so.1...done. Loaded symbols for /lib/libsocket.so.1 Reading symbols from /lib/librt.so.1...done. Loaded symbols for /lib/librt.so.1 Reading symbols from /lib/libsendfile.so.1...done. Loaded symbols for /lib/libsendfile.so.1 Reading symbols from /lib/libc.so.1...done. Loaded symbols for /lib/libc.so.1 Reading symbols from /usr/sfw/lib/libgcc_s.so.1...done. Loaded symbols for /usr/sfw/lib/libgcc_s.so.1 Reading symbols from /lib/libaio.so.1...done. Loaded symbols for /lib/libaio.so.1 Reading symbols from /lib/libmd.so.1...done. Loaded symbols for /lib/libmd.so.1 Reading symbols from /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/lib01_acl_plugin.so...done. Loaded symbols for /usr/local/dovecot/dovecot2-testinstanz/lib/dovecot//lib01_acl_plugin.so Reading symbols from /lib/libscf.so.1...done. Loaded symbols for /lib/libscf.so.1 Reading symbols from /lib/libdoor.so.1...done. Loaded symbols for /lib/libdoor.so.1 Reading symbols from /lib/libuutil.so.1...done. Loaded symbols for /lib/libuutil.so.1 Reading symbols from /lib/libgen.so.1...done. Loaded symbols for /lib/libgen.so.1 Reading symbols from /lib/libmp.so.2...done. Loaded symbols for /lib/libmp.so.2 Reading symbols from /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/lib02_imap_acl_plugin.so...done. Loaded symbols for /usr/local/dovecot/dovecot2-testinstanz/lib/dovecot//lib02_imap_acl_plugin.so Reading symbols from /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/lib10_quota_plugin.so...done. Loaded symbols for /usr/local/dovecot/dovecot2-testinstanz/lib/dovecot//lib10_quota_plugin.so Reading symbols from /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/lib11_imap_quota_plugin.so...done. Loaded symbols for /usr/local/dovecot/dovecot2-testinstanz/lib/dovecot//lib11_imap_quota_plugin.so Reading symbols from /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/lib11_trash_plugin.so...done. Loaded symbols for /usr/local/dovecot/dovecot2-testinstanz/lib/dovecot//lib11_trash_plugin.so Reading symbols from /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/lib15_notify_plugin.so...done. Loaded symbols for /usr/local/dovecot/dovecot2-testinstanz/lib/dovecot//lib15_notify_plugin.so Reading symbols from /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/lib20_autocreate_plugin.so...done. Loaded symbols for /usr/local/dovecot/dovecot2-testinstanz/lib/dovecot//lib20_autocreate_plugin.so Reading symbols from /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/lib20_fts_plugin.so...done. Loaded symbols for /usr/local/dovecot/dovecot2-testinstanz/lib/dovecot//lib20_fts_plugin.so Reading symbols from /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/lib20_listescape_plugin.so...done. Loaded symbols for /usr/local/dovecot/dovecot2-testinstanz/lib/dovecot//lib20_listescape_plugin.so Reading symbols from /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/lib20_mail_log_plugin.so...done. Loaded symbols for /usr/local/dovecot/dovecot2-testinstanz/lib/dovecot//lib20_mail_log_plugin.so Reading symbols from /usr/local/dovecot/2.0.12-testinstanz/lib/dovecot/lib20_zlib_plugin.so...done. Loaded symbols for /usr/local/dovecot/dovecot2-testinstanz/lib/dovecot//lib20_zlib_plugin.so Reading symbols from /opt/csw/lib/libz.so.1...done. Loaded symbols for /opt/csw/lib//libz.so.1 Reading symbols from /opt/csw/lib/libbz2.so.1.0...done. Loaded symbols for /opt/csw/lib//libbz2.so.1.0 Reading symbols from /lib/ld.so.1...done. Loaded symbols for /lib/ld.so.1 Core was generated by `dovecot/imap'. Program terminated with signal 11, Segmentation fault. #0 0xfeb559f8 in strcmp () from /lib/libc.so.1
The same from pop3 after entering username/password
======= config =========
/usr/local/dovecot/dovecot2-testinstanz/sbin/dovecot -n
# 2.0.12: /usr/local/dovecot/etc-testinstanz/dovecot/dovecot.conf # OS: SunOS 5.10 i86pc zfs auth_debug = yes auth_username_format = %Lu auth_verbose = yes debug_log_path = /var/log/dovecot-testinstanz-debug.log disable_plaintext_auth = no hostname = xfire05.rbg.informatik.tu-darmstadt.de info_log_path = /var/log/dovecot-testinstanz.log lda_mailbox_autocreate = yes login_greeting = I'm alive for testing mail_debug = yes mail_gid = vmail mail_home = /imap/spool/%d/%1n/%n mail_location = maildir:/imap/spool/%d/%1n/%n:INDEX=/imap/spool/% d/indexes/%1n/%n mail_plugin_dir = /usr/local/dovecot/dovecot2-testinstanz/lib/dovecot/ mail_plugins = acl quota fts mail_privileged_group = vmail mail_temp_dir = /imap/spool/tmp mail_uid = vmail 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 imapflags namespace { hidden = no inbox = yes location = prefix = separator = / subscriptions = yes type = private } namespace { inbox = no location = maildir:/imap/spool/public prefix = public/ separator = / subscriptions = no type = public } passdb { args = /usr/local/dovecot/etc-testinstanz/dovecot/conf.d/dovecot-ldap.conf.ext driver = ldap } passdb { args = scheme=plain-md5 username_format=% Lu /usr/local/dovecot/etc-testinstanz/dovecot/other-domain-users driver = passwd-file } plugin { acl = vfile:/imap/spool/%d/acl autocreate = Sent autocreate2 = Drafts autocreate3 = Trash autocreate4 = Spam autosubscribe = Sent autosubscribe2 = Drafts autosubscribe3 = Trash autosubscribe4 = Spam fts = squat fts_squat = partial=4 full=10 quota = maildir:User quota quota_rule2 = Trash:storage=+10%% quota_rule3 = Spam:storage=+20%% quota_warning = storage=80% % /usr/local/dovecot/dovecot2/bin/quota-warning.sh 80 quota_warning2 = storage=90% % /usr/local/dovecot/dovecot2/bin/quota-warning.sh 90 quota_warning3 = storage=95% % /usr/local/dovecot/dovecot2/bin/quota-warning.sh 95 sieve = /imap/spool/%d/%1n/%n/sieve/default.sieve sieve_dir = /imap/spool/%d/%1n/%n/sieve sieve_extensions = +imapflags trash = /usr/local/dovecot/etc-testinstanz/dovecot/conf.d/dovecot-trash.conf } postmaster_address = postmaster@domain.foo protocols = imap pop3 sieve service auth { unix_listener /var/spool/postfix/private/auth-testinstanz { group = postdrop mode = 0600 user = postfix } } service imap-login { inet_listener imap { port = 1433 } inet_listener imaps { port = 9933 ssl = yes } process_min_avail = 8 vsz_limit = 1 G } service lmtp { unix_listener /var/spool/postfix/private/dovecot-testinstanz-lmtp { group = postdrop mode = 0666 user = postfix } } service managesieve-login { inet_listener sieve { port = 41900 } inet_listener sieve_deprecated { port = 20011 } } service pop3-login { inet_listener pop3 { port = 1100 } inet_listener pop3s { port = 9955 ssl = yes } } ssl_cert =
I'm changed several paths to make my "update way" easier with testing the new release before change the production version. Maybe, there are some typos ...
cu denny
On Wed, 2011-04-27 at 10:24 +0200, Denny Schierz wrote:
The gdb coredump shows:
Almost great bug report! Just:
gdb ../../dovecot2-testinstanz/libexec/dovecot/imap /var/run/dovecot-testinstanz/core
Core was generated by `dovecot/imap'. Program terminated with signal 11, Segmentation fault. #0 0xfeb559f8 in strcmp () from /lib/libc.so.1
Give "bt full" command here and show the output.
hi,
Am Mittwoch, den 27.04.2011, 12:37 +0300 schrieb Timo Sirainen:
Give "bt full" command here and show the output.
lot of lines :-)
============================
(gdb) bt full
#0 0xfeb559f8 in strcmp () from /lib/libc.so.1
No symbol table info available.
#1 0xfee73e7a in settings_find_key_nth (ctx=0x809bec0, key=0x807ab38
"plugin//imap", n=0x80477f0, def_r=0x80477f4, link_r=0x80477f8)
at settings-parser.c:699
parent_n = 1
parent_def = (const struct setting_define *) 0x0
parent_link = (struct setting_link *) 0x809bf40
def = (const struct setting_define *) 0x7ffffffb
link = (struct setting_link *) 0x807ab48
parent_key = 0x807ab48 "plugin/"
i = 134720328
__FUNCTION__ = "settings_find_key_nth"
#2 0xfee73e57 in settings_find_key_nth (ctx=0x809bec0, key=0x807ab20
"plugin//imap/spool", n=0x8047830, def_r=0x8047834, link_r=0x8047838)
at settings-parser.c:693
parent_n = 1
parent_def = (const struct setting_define *) 0x807ab20
parent_link = (struct setting_link *) 0x8047848
def = (const struct setting_define *) 0x7ffffffb
link = (struct setting_link *) 0x807ab48
parent_key = 0x807ab38 "plugin//imap"
i = 134720312
__FUNCTION__ = "settings_find_key_nth"
#3 0xfee73e57 in settings_find_key_nth (ctx=0x809bec0, key=0x807ab08
"plugin//imap/spool/%d", n=0x8047870, def_r=0x8047874, link_r=0x8047878)
at settings-parser.c:693
parent_n = 1
parent_def = (const struct setting_define *) 0x807ab08
parent_link = (struct setting_link *) 0x8047888
def = (const struct setting_define *) 0x7ffffffb
link = (struct setting_link *) 0x807ab48
parent_key = 0x807ab20 "plugin//imap/spool"
i = 134720288
__FUNCTION__ = "settings_find_key_nth"
#4 0xfee73e57 in settings_find_key_nth (ctx=0x809bec0, key=0x807aae8
"plugin//imap/spool/%d/%1n", n=0x80478b0, def_r=0x80478b4,
link_r=0x80478b8)
at settings-parser.c:693
parent_n = 1
parent_def = (const struct setting_define *) 0x807aae8
parent_link = (struct setting_link *) 0x80478c8
def = (const struct setting_define *) 0x7ffffffb
link = (struct setting_link *) 0x807ab48
parent_key = 0x807ab08 "plugin//imap/spool/%d"
i = 134720264
__FUNCTION__ = "settings_find_key_nth"
#5 0xfee73e57 in settings_find_key_nth (ctx=0x809bec0, key=0x807aac8
"plugin//imap/spool/%d/%1n/%n", n=0x8047930, def_r=0x8047934,
link_r=0x8047938)
at settings-parser.c:693
parent_n = 1
parent_def = (const struct setting_define *) 0x0
parent_link = (struct setting_link *) 0x1d
def = (const struct setting_define *) 0x7ffffffb
link = (struct setting_link *) 0x807ab48
parent_key = 0x807aae8 "plugin//imap/spool/%d/%1n"
i = 134720232
__FUNCTION__ = "settings_find_key_nth"
#6 0xfee73806 in settings_parse_keyvalue (ctx=0x809bec0, key=0x807aac8
"plugin//imap/spool/%d/%1n/%n", value=0x807aab5 "/home/testds")
at settings-parser.c:767
---Type <return> to continue, or q <return> to quit---
def = (const struct setting_define *) 0x807aa98
link = (struct setting_link *) 0x807aab4
n = 1
#7 0xfee74322 in settings_parse_line (ctx=0x809bec0, line=0x807aa98
"plugin//imap/spool/%d/%1n/%n=/home/testds") at settings-parser.c:869
_data_stack_cur_id = 4
key = 0x807aac8 "plugin//imap/spool/%d/%1n/%n"
ret = 134720200
#8 0xfef0b740 in mail_storage_service_lookup (ctx=0x80852f0,
input=0x8047b60, user_r=0x8047a98, error_r=0x8047b3c) at
mail-storage-service.c:134
_data_stack_cur_id = 3
flags = MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT
user = (struct mail_storage_service_user *) 0x8088988
username = 0x807a89b "testds@domain.foo"
user_info = (const struct setting_parser_info *) 0x8089d80
user_set = (const struct mail_user_settings *) 0xfef7fc99
userdb_fields = (const char * const *) 0x807a908
error = 0xfeff0540 ""
reply = {uid = -1, gid = -1, home = 0x0, chroot = 0x0,
extra_fields = {arr = {buffer = 0x809b6b8, element_size = 4}, v =
0x809b6b8,
v_modifiable = 0x809b6b8}}
set_parser = (struct setting_parser_context *) 0x8093d40
user_pool = (pool_t) 0x8088918
temp_pool = (pool_t) 0x809b6a8
ret = 1
#9 0xfef0be8f in mail_storage_service_lookup_next (ctx=0x80852f0,
input=0x8047b60, user_r=0x807ab48, mail_user_r=0x8047adc,
error_r=0x8047b3c)
at mail-storage-service.c:1001
user = (struct mail_storage_service_user *) 0x0
ret = 134768152
#10 0x080658cd in client_create_from_input (input=0x807ab48,
login_client=0x8086618, fd_in=10, fd_out=10, input_buf=0x8047b40,
error_r=0x8047b3c)
at main.c:202
user = (struct mail_storage_service_user *) 0x870
mail_user = (struct mail_user *) 0x1
client = (struct client *) 0x8047b40
set = (const struct imap_settings *) 0x807ab48
flags = 134720328
#11 0x08065b2d in login_client_connected (client=0x8086618,
username=0x807ab48 "plugin/", extra_fields=0x807ab48) at main.c:267
input = {module = 0x8069b86 "imap", service = 0x8069b86 "imap",
username = 0x807a89b "testds@domain.foo", local_ip = {
family = 2, u = {ip6 = {_S6_un = {_S6_u8 = "\202S�O", '\0'
==============================
On Wed, 2011-04-27 at 12:19 +0200, Denny Schierz wrote:
#7 0xfee74322 in settings_parse_line (ctx=0x809bec0, line=0x807aa98 "plugin//imap/spool/%d/%1n/%n=/home/testds") at settings-parser.c:869
That's an interesting setting you have there.. I tried to reproduce but I can't seem to make it crash with it.
What's in your dovecot-ldap.conf.ext? (This user was looked up from LDAP, right?)
hi,
Am Donnerstag, den 28.04.2011, 21:40 +0300 schrieb Timo Sirainen:
That's an interesting setting you have there.. I tried to reproduce but I can't seem to make it crash with it.
same setup as for 2.0.9
What's in your dovecot-ldap.conf.ext? (This user was looked up from LDAP, right?)
jupp,
hosts = ldap.domain.foo ldap2.domain.foo auth_bind = yes #auth_bind_userdn = uid=%u,cn=accounts,dc=domain,dc=foo ldap_version = 3 base = cn=accounts,dc=domain,dc=foo user_attrs = postalAddress=domain, homeDirectory=/imap/spool/%d/%1n/%n, myMailQuota=quota_rule=*:storage=%$M user_filter = (&(objectClass=posixAccount)(uid=%n)) pass_attrs = postalAddress=domain, uid=user, userPassword=password pass_filter = (&(objectClass=posixAccount)(uid=%n)) default_pass_scheme = MD5
On 29.4.2011, at 12.09, Denny Schierz wrote:
user_attrs = postalAddress=domain, homeDirectory=/imap/spool/%d/%1n/%n, myMailQuota=quota_rule=*:storage=%$M
The problem is that homeDirectory in there. It's not used at all currently. You probably want to replace it with:
=home=/imap/spool/%d/%1n/%n
It of course shouldn't crash anyway. I'll try to figure it out.
participants (2)
-
Denny Schierz
-
Timo Sirainen