Problem with Lua notification script since 2.3.15 update

Ralf Becker rb at egroupware.org
Mon Jun 28 12:31:33 EEST 2021


If the Lua-notifications are enabled, Dovecot imap dies immediately at 
authentication:

Jun 28 09:17:29 imap-login: Info: Login: user=<ralf>, method=PLAIN, 
rip=172.18.0.12, lip=172.18.0.16, mpid=16, TLS, session=<dDhm9c/FYtqsEgAM>
Jun 28 09:17:29 imap(ralf)<16><dDhm9c/FYtqsEgAM>: Panic: file 
dlua-script.c: line 224 (dlua_script_init): assertion failed: 
(lua_gettop(script->L) == 0)
Jun 28 09:17:29 imap(ralf)<16><dDhm9c/FYtqsEgAM>: Error: Raw backtrace: 
/usr/lib/dovecot/libdovecot.so.0(backtrace_append+0x41) [0x7f9f537ca5c1] 
-> /usr/lib/dovecot/libdovecot.so.0(backtrace_get+0x22) [0x7f9f537ca6e2] 
-> /usr/lib/dovecot/libdovecot.so.0(+0x1070bb) [0x7f9f537d70bb] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x107157) [0x7f9f537d7157] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x5bb2b) [0x7f9f5372bb2b] -> 
/usr/lib/dovecot/libdovecot-lua.so.0(+0x5354) [0x7f9f53311354] -> 
/usr/lib/dovecot/modules/lib22_push_notification_lua_plugin.so(+0x3842) 
[0x7f9f532c6842] -> 
/usr/lib/dovecot/modules/lib20_push_notification_plugin.so(push_notification_driver_init+0x19c) 
[0x7f9f532d062c] -> 
/usr/lib/dovecot/modules/lib20_push_notification_plugin.so(+0x846f) 
[0x7f9f532d246f] -> 
/usr/lib/dovecot/modules/lib20_push_notification_plugin.so(+0x8b6a) 
[0x7f9f532d2b6a] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(hook_mail_user_created+0x211) 
[0x7f9f539084e1] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(mail_user_init+0x20b) 
[0x7f9f5390e80b] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(mail_storage_service_next_with_session_suffix+0x587) 
[0x7f9f5390bd57] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(mail_storage_service_lookup_next+0x53) 
[0x7f9f5390c4c3] -> dovecot/imap(client_create_from_input+0x180) 
[0x5626eb18fe40] -> dovecot/imap(+0x3112a) [0x5626eb19012a] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x8d60e) [0x7f9f5375d60e] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x8d97b) [0x7f9f5375d97b] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x8e8be) [0x7f9f5375e8be] -> 
/usr/lib/dovecot/libdovecot.so.0(connection_input_default+0x15e) 
[0x7f9f537cef5e] -> 
/usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x6d) [0x7f9f537ed3ed] 
-> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x145) 
[0x7f9f537eea15] -> 
/usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x54) 
[0x7f9f537ed494] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x40) 
[0x7f9f537ed600] -> 
/usr/lib/dovecot/libdovecot.so.0(master_service_run+0x17) 
[0x7f9f537609e7] -> dovecot/imap(main+0x469) [0x5626eb172c19] -> 
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f9f535020b3] 
-> dovecot/imap(_start+0x2e) [0x5626eb172cae]
Jun 28 09:17:29 imap(ralf)<16><dDhm9c/FYtqsEgAM>: Fatal: master: 
service(imap): child 16 killed with signal 6 (core dumps disabled - 
https://dovecot.org/bugreport.html#coredumps)

I use the following Dovecot configuration:

# Store METADATA information in a file dovecot-metadata in user's home
mail_attribute_dict = file:%h/dovecot-metadata

# enable metadata
protocol imap {
   imap_metadata = yes
}

# add necessary plugins for Lua push notifications
mail_plugins = $mail_plugins mail_lua notify push_notification 
push_notification_lua

# Lua notification script and URL of EGroupware push server
plugin {
   push_notification_driver = lua:file=/etc/dovecot/dovecot-push.lua
   push_lua_url = 
https://Bearer:secret@boulder.egroupware.org/egroupware/push
}

The Lua script is available under 
https://github.com/EGroupware/swoolepush/blob/master/doc/dovecot-push.lua

The whole Dovecot configurations is available under

https://github.com/EGroupware/build.opensuse.org/tree/master/server:eGroupWare/egroupware-mail/egroupware-mail/dovecot

Dovecot runs in a Ubuntu 20.04 based container and seems to use the 
correct liblua5.3:

root at 750978e5c0ee:/# dpkg -l|grep -i lua
ii  dovecot-lua                2:2.3.15-1+ubuntu20.04 amd64        
secure POP3/IMAP server - LUA support
ii  liblua5.3-0:amd64          5.3.3-1.1ubuntu2 amd64        Shared 
library for the Lua interpreter version 5.3
ii  lua-json                   1.3.4-2 all          JSON decoder/encoder 
for Lua
ii  lua-lpeg:amd64             1.0.2-1 amd64        LPeg library for the 
Lua language
ii  lua-socket:amd64           3.0~rc1+git+ac3201d-4 amd64        
TCP/UDP socket library for the Lua language

Everything was running fine with 2.3.13, have not tried with 2.3.14 yet.

Any ideas?

Ralf

-- 
Ralf Becker
EGroupware GmbH [www.egroupware.org]
Handelsregister HRB Kaiserslautern 3587
Geschäftsführer Birgit und Ralf Becker
Leibnizstr. 17, 67663 Kaiserslautern, Germany
Telefon +49 631 31657-0




More information about the dovecot mailing list