[Dovecot] Problem with Dovecot 2.0/2.1 and MySQL 5.1
Mark Schmale
masch at masch.it
Wed Jun 20 20:07:44 EEST 2012
Hi everyone,
since some time I got problems with dovecot & mysql.
I got the problem with version 2.0.x and upgraded to 2.1.7 to check if
its gone. But its not :(
The logs just tell me this:
dovecot: auth: Error: auth worker: Aborted request: Worker process died
unexpectedly
If I change to a sqlite setup, everything works fine.
Here are some informations. I hope someone can tell me whats wrong with
my system/setup. I really dont think that this is a bug because someone
else should have hit that before me.
doveconf - n
# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.2-hardened-r1 x86_64 Gentoo Base System release 2.1
auth_verbose = yes
mail_location = maildir:~/%d/mail/%n
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 namespace inbox { inbox = yes location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
plugin {
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
protocols = imap pop3 lmtp sieve
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-userdb {
group = vmail
user = vmail
}
}
ssl_cert = </etc/ssl/dovecot/server.pem
ssl_key = </etc/ssl/dovecot/server.key
userdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
protocol lda {
mail_plugins = sieve
}
contents of dovecot-sql.conf:
default_pass_scheme = PLAIN-MD5
driver = mysql
connect = host=localhost dbname=config user=user password=pass
password_query = SELECT CONCAT( u.username, '@', d.name ) AS user,
password FROM mail_user AS u LEFT JOIN mail_domains AS d ON u.domain =
d.id WHERE u.username = '%n' AND d.name = '%d'
user_query = SELECT home, uid, gid FROM mail_user AS u LEFT JOIN
mail_domains AS d ON u.domain = d.id WHERE u.username = '%n' AND d.name
= '%d'
// linebreaks added by mailclient for readability
bt full with gdb:
[Thread debx7fb891e85977 "216be49381eb03d180103cdf6eb90483"
fields_count = 2
name = 0x0
#1 sql_query_callback (result=0x7fb891e82f60,
sql_request=0x7fb891e82c08) at passdb-sql.c:87 auth_request =
0x7fb891e82a80 _module = <optimized out>
module = <optimized out>
passdb_result = PASSDB_RESULT_INTERNAL_FAILURE
password = 0x0
scheme = <optimized out>
ret = <optimized out>
__FUNCTION__ = "sql_query_callback"
#2 0x00007fb891c3c940 in driver_sqlpool_query_callback
(result=0x7fb891e82f60, request=0x7fb891e82e50) at
driver-sqlpool.c:635 db = 0x7fb891e66540 conn = 0x0
conndb = 0x7fb891e66910
#3 0x00007fb891c3dbe0 in driver_mysql_query (db=<optimized out>,
query=<optimized out>, callback=0x7fb891c3c8c0
<driver_sqlpool_query_callback>, context=0x7fb891e82e50) at
driver-mysql.c:296 result = 0x7fb891e82f60 #4 0x00007fb891c3cc41 in
driver_sqlpool_query (_db=0x7fb891e66540, query=0x7fb891e561c8 "SELECT
CONCAT( u.username, '@', d.name ) AS user, password FROM mail_user AS
u LEFT JOIN mail_domains AS d ON u.domain = d.id WHERE u.username =
'masch' AND d.name = 'masch.it'", callback=0x7fb891c31960
<sql_query_callback>, context=0x7fb891e82c08) at driver-sqlpool.c:657
db = 0x7fb891e66540 request = 0x7fb891e82e50 conn = 0x7fb891e667c0 #5
0x00007fb891c23b49 in auth_worker_handle_passv (args=0x7fb891e560b8,
id=1, client=<optimized out>) at auth-worker-client.c:200 auth_request
= 0x7fb891e82a80 passdb = <optimized out> password = 0x7fb891e55ff2
"somepassword" passdb_id = 1 #6 auth_worker_handle_line
(line=<optimized out>, client=<optimized out>) at
auth-worker-client.c:559 args = out>0x7fb891e560a8
id = 1
ret = false
#7 auth_worker_input (client=0x7fb891e80650) at
auth-worker-client.c:647 _data_stack_cur_id = 3
line = <optimized out>
ret = true
#8 0x00007fb89179f4b6 in io_loop_call_io (io=0x7fb891e80970) at
ioloop.c:379 ioloop = 0x7fb891e5e390
t_id = 2
#9 0x00007fb8917a043f in io_loop_handler_run (ioloop=<optimized out>)
at ioloop-epoll.c:213 ctx = 0x7fb891e69100
events = <optimized out>
event = 0x7fb891e69170
list = 0x7fb891e809c0
io = <optimized out>
tv = {tv_sec = 59, tv_usec = 999508}
msecs = <optimized out>
ret = 1
i = <optimized out>
j = <optimized out>
call = <optimized out>
#10 0x00007fb89179ed50 in io_loop_run (ioloop=0x7fb891e5e390) at
ioloop.c:398 No locals.
#11 0x00007fb891786a87 in master_service_run (service=0x7fb891e5e240,
callback=<optimized out>) at master-service.c:544 No locals.
#12 0x00007fb891c289a3 in main (argc=2, argv=0x7fb891e5e080) at
main.c:373 c = <optimized out>
best regards,
Mark Schmale
More information about the dovecot
mailing list