Fatal error in http-client.c when passdb is oauth2 and userdb is sql
On 18/07/2023 15:10 EEST Евгений Бахтин <mail@eugene.su> wrote:
Dovecot version: 2.3.20
Dear Colleagues! passdb is set to oauth2 and userdb is set to sql. On attempt of authorization a fatal error is rising. The case reproducible 100%. The following suggested configuration files allow you to reproduce the case. Thank you!
Can you send auth_debug=yes and debug=yes (in oauth2 config) logs?
Aki
Aki Tuomi wrote:
Can you send auth_debug=yes and debug=yes (in oauth2 config) logs?
This is with debug.
Jul 18 15:29:14 mail01 dovecot: master: Dovecot v2.3.20 (80a5ac675d) starting up for imap (core dumps disabled) Jul 18 15:29:21 mail01 dovecot: auth: Debug: Loading modules from directory: /usr/lib/dovecot/modules/auth Jul 18 15:29:21 mail01 dovecot: auth: Debug: Module loaded: /usr/lib/dovecot/modules/auth/lib20_auth_var_expand_crypt.so Jul 18 15:29:21 mail01 dovecot: auth: Debug: Module loaded: /usr/lib/dovecot/modules/auth/libdriver_pgsql.so Jul 18 15:29:21 mail01 dovecot: auth: Debug: sqlpool(pgsql): Creating new connection Jul 18 15:29:21 mail01 dovecot: auth: Debug: Read auth token secret from /run/dovecot/auth-token-secret.dat Jul 18 15:29:21 mail01 dovecot: auth: Debug: sqlpool(pgsql): Creating new connection Jul 18 15:29:21 mail01 dovecot: auth: Panic: file http-client.c: line 646 (http_client_context_close): assertion failed: (cctx->clients_list == NULL) Jul 18 15:29:21 mail01 dovecot: auth: Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(backtrace_append+0x3d) [0x7f8bd1f0c85d] -> /usr/lib/dovecot/libdovecot.so.0(backtrace_get+0x1e) [0x7f8bd1f0c97e] -> /usr/lib/dovecot/libdovecot.so.0(+0x10091b) [0x7f8bd1f1991b] -> /usr/lib/dovecot/libdovecot.so.0(+0x1009b1) [0x7f8bd1f199b1] -> /usr/lib/dovecot/libdovecot.so.0(+0x54b7c) [0x7f8bd1e6db7c] -> /usr/lib/dovecot/libdovecot.so.0(+0x4d208) [0x7f8bd1e66208] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_set_current+0x75) [0x7f8bd1f2eca5] -> /usr/lib/dovecot/modules/auth/libdriver_pgsql.so(+0x4686) [0x7f8bd1b43686] -> /usr/lib/dovecot/modules/auth/libdriver_pgsql.so(+0x49b7) [0x7f8bd1b439b7] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x69) [0x7f8bd1f2fe59] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x131) [0x7f8bd1f31481] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x4c) [0x7f8bd1f2fefc] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x40) [0x7f8bd1f30080] -> /usr/lib/dovecot/modules/auth/libdriver_pgsql.so(+0x57ec) [0x7f8bd1b447ec] -> /usr/lib/dovecot/modules/auth/libdriver_pgsql.so(+0x405b) [0x7f8bd1b4305b] -> dovecot/auth(+0x4728b) [0x649266d1628b] -> dovecot/auth(+0x36ca1) [0x649266d05ca1] -> dovecot/auth(userdb_init+0x1a) [0x649266d0370a] -> dovecot/auth(auths_init+0xc9) [0x649266ce4ce9] -> dovecot/auth(main+0x398) [0x649266ce3b78] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7f8bd1bc709b] -> dovecot/auth(_start+0x2a) [0x649266ce3d8a] Jul 18 15:29:21 mail01 dovecot: master: Error: service(auth): command startup failed, throttling for 2.000 secs Jul 18 15:29:21 mail01 dovecot: auth: Fatal: master: service(auth): child 12988 killed with signal 6 (core dumps disabled - https://dovecot.org/bugreport.html#coredumps)
I think this mail related to the problem.
https://dovecot.org/mailman3/archives/list/dovecot@dovecot.org/message/X5PBA...
It looks very similar to fixed problem in v2.3.13:
- doveadm-server: Crash could occur if logging was done outside command handling. For example http-client could have done debug logging afterwards, resulting in either segfault or Panic: file http-client.c: line 642 (http_client_context_close): assertion failed: (cctx->clients_list == NULL).
participants (5)
-
Aki Tuomi
-
Eugene Su
-
mail@eugene.su
-
Евгений
-
Евгений Бахтин