Dovecot crashing when attempting to search in virtual folder with fts_squat activated

Benjamin Godbersen benjamin at godbersen.info
Wed Mar 20 22:19:14 EET 2019


Hi Michael,

thanks for getting back to me. I understand the alternatives to squat 
are solr and lucene and have to be explicitly included into dovecot at 
compilation. Unfortunately I am not in a position to manually compile 
dovecot.

What other option do I have to use full text search in dovecot without 
manually compilating my package?

Thanks and cheers
Benjamin

Am 20.03.2019 um 20:31 schrieb Michael Slusarz via dovecot:
> fts_squat was deprecated in 2.1.  There's a high likelihood it is 
> buggy in a variety of ways in any recent Dovecot release.
>
> michael
>
>> On March 20, 2019 at 1:21 PM Benjamin Godbersen via dovecot 
>> <dovecot at dovecot.org> wrote:
>>
>> Hi everyone,
>>
>> I have now updated to dovecot 2.3.4.1 - unfortunately the issue still 
>> persists. Can anyone help me figure out if this is due to a 
>> misconfiguration on my part or another error?
>>
>> Any help is greatly appreciated!
>>
>> Cheers
>> Benjamin
>>
>> Am 14.03.2019 um 23:28 schrieb benjamin at godbersen.info 
>> <mailto:benjamin at godbersen.info>:
>>> Hi everyone,
>>>
>>> I am running into a problem when trying to use fts_squat in a 
>>> virtual folder. Without fts_squat plugin the search (from, 
>>> subject...) works in all folders. With activated fts the search on 
>>> the inbox folders works expectedly well but any attempt to search 
>>> anything in any virtual folder leads to the following error. 
>>> Similarly when attempting "doveadm fts lookup". I also noticed that 
>>> no search index for the virtual folders gets build - is this 
>>> expected behaviour?
>>>
>>>     Mar 14 23:14:58 *** dovecot: service=imap, user=***, ip=[::1].
>>>     Panic: file mail-storage.c: line 1913 (mailbox_get_open_status):
>>>     assertion failed: (box->opened)
>>>     Mar 14 23:14:58 *** dovecot: service=imap, user=***, ip=[::1].
>>>     Error: Raw backtrace:
>>>     /usr/lib/x86_64-linux-gnu/dovecot/libdovecot.so.0(+0xba731)
>>>     [0x7f553a7ff731] ->
>>>     /usr/lib/x86_64-linux-gnu/dovecot/libdovecot.so.0(+0xba7fa)
>>>     [0x7f553a7ff7fa] ->
>>>     /usr/lib/x86_64-linux-gnu/dovecot/libdovecot.so.0(i_fatal+0)
>>>     [0x7f553a771638] ->
>>>     /usr/lib/x86_64-linux-gnu/dovecot/libdovecot-storage.so.0(mailbox_get_open_status+0x68)
>>>     [0x7f553aae4a78] ->
>>>     /usr/lib/dovecot/modules/lib21_fts_squat_plugin.so(+0x3684)
>>>     [0x7f553677a684] ->
>>>     /usr/lib/dovecot/modules/lib21_fts_squat_plugin.so(+0x3820)
>>>     [0x7f553677a820] ->
>>>     /usr/lib/dovecot/modules/lib20_fts_plugin.so(fts_backend_lookup_multi+0x163)
>>>     [0x7f5539b016a3] ->
>>>     /usr/lib/dovecot/modules/lib20_fts_plugin.so(+0xd728)
>>>     [0x7f5539b06728] ->
>>>     /usr/lib/dovecot/modules/lib20_fts_plugin.so(fts_search_lookup+0xeb)
>>>     [0x7f5539b06bbb] ->
>>>     /usr/lib/dovecot/modules/lib20_fts_plugin.so(+0xf8b8)
>>>     [0x7f5539b088b8] -> dovecot/imap(imap_search_start+0x6a)
>>>     [0x5654cb5a0d6a] -> dovecot/imap(cmd_sort+0x293)
>>>     [0x5654cb593553] -> dovecot/imap(command_exec+0x64)
>>>     [0x5654cb599874] -> dovecot/imap(+0x1bd22) [0x5654cb597d22] ->
>>>     dovecot/imap(+0x1bdbc) [0x5654cb597dbc] ->
>>>     dovecot/imap(client_handle_input+0x1b5) [0x5654cb5981c5] ->
>>>     dovecot/imap(client_input+0xa4) [0x5654cb5987e4] ->
>>>     /usr/lib/x86_64-linux-gnu/dovecot/libdovecot.so.0(io_loop_call_io+0x69)
>>>     [0x7f553a8174a9] ->
>>>     /usr/lib/x86_64-linux-gnu/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x12e)
>>>     [0x7f553a818d1e] ->
>>>     /usr/lib/x86_64-linux-gnu/dovecot/libdovecot.so.0(io_loop_handler_run+0x4c)
>>>     [0x7f553a8175ac] ->
>>>     /usr/lib/x86_64-linux-gnu/dovecot/libdovecot.so.0(io_loop_run+0x38)
>>>     [0x7f553a8177b8] ->
>>>     /usr/lib/x86_64-linux-gnu/dovecot/libdovecot.so.0(master_service_run+0x13)
>>>     [0x7f553a7940a3] -> dovecot/imap(main+0x339) [0x5654cb58a539] ->
>>>     /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)
>>>     [0x7f553a375b97] -> dovecot/imap(_start+0x2a) [0x5654cb58a71a]
>>>     Mar 14 23:14:58 *** dovecot: service=imap, user=***, ip=[::1].
>>>     Fatal: master: service(imap): child 6436 killed with signal 6
>>>     (core dumps disabled)
>>>
>>> This is my config:
>>>
>>>     # 2.3.0.1 (ffd8a29): /etc/dovecot/dovecot.conf
>>>     # Pigeonhole version 0.5.0.1 (d33dca20)
>>>     # OS: Linux 4.15.0-46-generic x86_64 Ubuntu 18.04.2 LTS ext4
>>>     auth_mechanisms = plain login digest-md5 cram-md5 apop
>>>     auth_username_chars =
>>>     abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890&.-_@'
>>>     default_vsz_limit = 8096 M
>>>     disable_plaintext_auth = no
>>>     first_valid_uid = 30
>>>     imap_client_workarounds = delay-newmail
>>>     imap_logout_format = rcvd=%i, sent=%o
>>>     mail_home = /var/qmail/mailnames/%Ld/%Ln
>>>     mail_location = maildir:/var/qmail/mailnames/%Ld/%Ln/Maildir
>>>     mail_log_prefix = "service=%s, user=%u, ip=[%r]. "
>>>     mail_max_userip_connections = 100
>>>     mail_plugins = quota fts fts_squat virtual
>>>     managesieve_logout_format = rcvd=%i, sent=%o
>>>     managesieve_notify_capability = mailto
>>>     managesieve_sieve_capability = fileinto reject envelope
>>>     encoded-character vacation subaddress comparator-i;ascii-numeri$
>>>     namespace inbox {
>>>       inbox = yes
>>>       location =
>>>       prefix = INBOX.
>>>       separator = .
>>>     }
>>>     namespace virtual {
>>>       hidden = no
>>>       inbox = no
>>>       list = yes
>>>       location =
>>>     virtual:/var/qmail/mailnames/%Ld/%Ln/virtual/:INDEX=/var/qmail/mailnames/%Ld/%Ln/virtual/
>>>       prefix =
>>>       separator = .
>>>     }
>>>     passdb {
>>>       driver = plesk
>>>     }
>>>     plugin {
>>>       fts = squat
>>>       fts_squat = partial=4 full=10
>>>       quota = maildir:User quota
>>>       quota_grace = 0
>>>       sieve = ~/.dovecot.sieve
>>>       sieve_dir = ~/sieve
>>>       sieve_extensions = +notify +imapflags
>>>     }
>>>     pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
>>>     pop3_logout_format = rcvd=%i, sent=%o, top=%t/%p, retr=%r/%b,
>>>     del=%d/%m, size=%s
>>>     protocols = imap pop3 sieve
>>>     service auth-worker {
>>>       group =
>>>       user =
>>>     }
>>>     service auth {
>>>       group =
>>>       unix_listener auth-userdb {
>>>         group = popuser
>>>         mode = 0600
>>>         user = popuser
>>>       }
>>>       user =
>>>     }
>>>     service imap-login {
>>>       process_limit = 2048
>>>       service_count = 1
>>>     }
>>>     service imap {
>>>       process_limit = 2048
>>>       service_count = 1
>>>     }
>>>     service pop3-login {
>>>       process_limit = 2048
>>>       service_count = 1
>>>     }
>>>     service pop3 {
>>>       process_limit = 2048
>>>       service_count = 1
>>>     }
>>>     ssl_cert = </etc/dovecot/private/dovecot.pem
>>>     ssl_cipher_list = HIGH:!aNULL:!MD5
>>>     ssl_dh =  # hidden, use -P to show it
>>>     ssl_key =  # hidden, use -P to show it
>>>     ssl_prefer_server_ciphers = yes
>>>     userdb {
>>>       args = uid=popuser gid=popuser
>>>       driver = static
>>>     }
>>>     protocol imap {
>>>       mail_plugins = quota fts fts_squat virtual imap_quota
>>>     }
>>>     protocol pop3 {
>>>       pop3_uidl_format = UID%u-%v
>>>     }
>>>     protocol sieve {
>>>       mail_plugins = quota fts fts_squat virtual
>>>     }
>>>     protocol lda {
>>>       mail_plugins = quota fts fts_squat virtual sieve
>>>     }
>>>
>>> dovecot --version -> 2.3.0.1 (ffd8a29)
>>>
>>> I will be greatful for any tips hinting me on how to resolve this 
>>> behaviour. Thank you very much in advance
>>> Benjamin
>>>
>>>
>>>
>>>
>>>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20190320/41c372c1/attachment.html>


More information about the dovecot mailing list