Bug in dovecot 2.3 virtual plugin

Aki Tuomi aki.tuomi at dovecot.fi
Fri Jan 5 12:27:38 EET 2018


Does it always happen with 2.2 and 2.3? I was not immediately able to
reproduce your problem.

Aki


On 05.01.2018 12:26, Jakobus Schürz wrote:
> Ok!
> So the subject for this bug is correct...
>
> Do you need some configs and deeper descriptions from me?
>
> I have two namespaces with virtual mailboxes:
> The first "Real" is normally hidden. It's not hidden now for
> debug-purpose.
>
> namespace Real {
>   hidden = no
>   ignore_on_failure = yes
>   list = children
>   location =
> virtual:/var/mail/real:INDEX=/var/lib/dovecot/db/indexes/real/%u
>   prefix = Real/
>   separator = /
>   subscriptions = no
> }
>
> namespace Synoptic {
>   hidden = no
>   ignore_on_failure = yes
>   list = children
>   location =
> virtual:/var/mail/virtual:INDEX=/var/lib/dovecot/db/indexes/virtual/%u
>   mailbox INBOX/Archives {
>     auto = no
>     special_use = \Archive
>   }
>   mailbox INBOX/Drafts {
>     auto = no
>     special_use = \Drafts
>   }
>   mailbox INBOX/Entwürfe {
>     auto = no
>     special_use = \Drafts
>   }
>   mailbox INBOX/Junk {
>     auto = no
>     special_use = \Junk
>   }
>   mailbox INBOX/Sent {
>     auto = no
>     special_use = \Sent
>   }
>   mailbox INBOX/Spam {
>     auto = no
>     special_use = \Junk
>   }
>   prefix = Synoptic/
>   separator = /
>   subscriptions = no
> }
>
> The "Real" namespace is to get a first filter for emails for all, the
> last 1, 2 and 3 years:
>
> Here is the virtual-mailbox-definition:
>
> /var/mail/real: # tree
> .
> ├── Alle
> │   └── dovecot-virtual
> ├── dovecot-acl-list
> ├── dreijahr
> │   └── dovecot-virtual
> ├── einjahr
> │   └── dovecot-virtual
> └── zweijahr
>     └── dovecot-virtual
>
> and the index-files
> /var/lib/dovecot/db/indexes: # tree real/
> real/
> └── jakob
>     ├── Alle
>     │   └── dovecot.index.log
>     ├── dovecot.list.index.log
>     ├── dreijahr
>     │   └── dovecot.index.log
>     ├── einjahr
>     │   └── dovecot.index.log
>     └── zweijahr
>         └── dovecot.index.log
>
>
> /var/mail/real: # cat Alle/dovecot-virtual
> !INBOX
> INBOX/*
> -INBOX/Trash
> -INBOX/Trash/*
> -INBOX/Archives
> -INBOX/Archives/*
> -INBOX/Drafts
> -INBOX/Drafts/*
> -INBOX/Junk
> -INBOX/Junk/*
> -INBOX/SYSTEM
> -INBOX/SYSTEM/*
>  all
>
> /var/mail/real: # cat einjahr/dovecot-virtual
> Real/Alle
>  all younger 31536000
>
> And the namespace Synoptic is the one, i can subscribe. It has as
> Background the "Real"-namespace:
>
> /var/mail/virtual: # tree
> .
> ├── AKTUELL
> │   └── dovecot-virtual
> ├── Archives
> │   └── dovecot-virtual
> ├── dovecot-acl-list
> ├── Drafts
> │   └── dovecot-virtual
> ├── GINBOX
> │   └── dovecot-virtual
> ├── Markierte
> │   └── dovecot-virtual
> ├── Neue
> │   └── dovecot-virtual
> ├── Sent
> │   └── dovecot-virtual
> ├── Trash
> │   └── dovecot-virtual
> ├── Ungelesene
> │   └── dovecot-virtual
> └── WICHTIG
>     └── dovecot-virtual
>
> /var/mail/virtual: # cat AKTUELL/dovecot-virtual
> Real/einjahr
>  inthread refs younger 2592000
>
> /var/mail/virtual: # cat Markierte/dovecot-virtual
> Real/Alle
>  flagged
>
> The error only appears in a Mailbox from one of this two namespaces.
> Every other mailboxes (public, private, shared) are working correct.
> When i try to open a mailbox from one of this two namespaces, the
> error below (Panic: Leaked view for index) is throwen
>
> jakob
>
>
> Am 05.01.2018 um 10:25 schrieb Aki Tuomi:
>> This is a different bug, and I suspect it might be caused by virtual
>> plugin. We'll look into it.
>>
>> Aki
>>
>> On 04.01.2018 23:41, Jakob Schürz wrote:
>>> Hi!
>>>
>>> This is very strange...
>>> This error affects only one mailaccount, and it happend not yesterday.
>>> The file
>>>
>>> /var/lib/dovecot/db/indexes/Maildir/jakob/INBOX/dovecot.index
>>>
>>> which hat "Panic: Leaked view for index" does not exist. only
>>> dovecot.index.log and .cache exists in this mailbox. (which is normal
>>> for small mailboxes, i've read). But why is dovecot throwing an error?
>>>
>>> And i could find out, this is only, when i try to open a virtual
>>> folder.
>>>
>>> I switched back to older self-compiled dovecot-versions... but the
>>> error
>>> exists also there (but not before the update!!!)
>>>
>>> I also deleted all the dovecot.index-files, dovecot.index.log and
>>> dovecot.index.cache-files to let rebuild dovecot the index again... the
>>> error persists.
>>>
>>> Is it a misconfiguration?
>>>
>>> So i tried to build for the virtual-Mailboxes the Index in memory...
>>> the
>>> error persists and dovecot wants to read this index-file.
>>>
>>> My virtual folders not working any longer (on this account only!)
>>>
>>> For debug purpose i deleted all the emails in this mailbox, the error
>>> dissapered on this folder, but comes back in the next folder.
>>>
>>> could this be a problem with ulimit?
>>>
>>> greez
>>> jakob
>>>
>>> Am 2018-01-04 um 11:07 schrieb Jakobus Schürz:
>>>> Hi!
>>>>
>>>> Is this a bug according to the other one?
>>>>
>>>> When i try to open a real or virtual mailbox, i often (not on every
>>>> mailbox) get this error-message:
>>>>
>>>> Jän 04 11:03:32 aldebaran dovecot[24534]:
>>>> imap(jakob)<24705><Ug/EcfBhSrDAqAAO>: Panic: Leaked view for index
>>>> /var/lib/dovecot/db/indexes/Maildir/jakob/INBOX/dovecot.index:
>>>> Opened in
>>>> index-storage.c:336
>>>> Jän 04 11:03:32 aldebaran dovecot[24534]:
>>>> imap(jakob)<24705><Ug/EcfBhSrDAqAAO>: Error: Raw backtrace:
>>>> /usr/local/lib/dovecot/libdovecot.so.0(+0xc6021) [0x7f47d5872021] ->
>>>> /usr/local/lib/dovecot/libdovecot.so.0(+0xc60ed) [0x7f47d58720ed] ->
>>>> /usr/local/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f47d57e4481] ->
>>>> /usr/local/lib/dovecot/libdovecot-storage.so.0(+0xf3942)
>>>> [0x7f47d5c11942] ->
>>>> /usr/local/lib/dovecot/libdovecot-storage.so.0(index_storage_mailbox_close+0x72)
>>>>
>>>> [0x7f47d5be8ec2] ->
>>>> /usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_close+0x1a)
>>>> [0x7f47d5b68c0a] ->
>>>> /usr/local/lib/dovecot/lib20_virtual_plugin.so(+0xa7e0)
>>>> [0x7f47d0dd37e0]
>>>> ->
>>>> /usr/local/lib/dovecot/lib20_virtual_plugin.so(virtual_backend_box_open+0x2b)
>>>>
>>>> [0x7f47d0dd397b] ->
>>>> /usr/local/lib/dovecot/lib20_virtual_plugin.so(virtual_storage_sync_init+0x1026)
>>>>
>>>> [0x7f47d0dd6926] ->
>>>> /usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_sync_init+0x4d)
>>>> [0x7f47d5b6b05d] ->
>>>> /usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_sync+0x37)
>>>> [0x7f47d5b6b117] ->
>>>> /usr/local/lib/dovecot/libdovecot-storage.so.0(index_storage_get_status+0x31)
>>>>
>>>> [0x7f47d5be7781] ->
>>>> /usr/local/lib/dovecot/lib20_virtual_plugin.so(+0x9b3d)
>>>> [0x7f47d0dd2b3d]
>>>> -> /usr/local/lib/dovecot/libdovecot-storage.so.0(+0xaded1)
>>>> [0x7f47d5bcbed1] ->
>>>> /usr/local/lib/dovecot/lib01_acl_plugin.so(+0xe975)
>>>> [0x7f47d5001975] ->
>>>> /usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_get_status+0x31)
>>>>
>>>> [0x7f47d5b6b4b1] ->
>>>> /usr/local/lib/dovecot/lib20_virtual_plugin.so(virtual_storage_sync_init+0x114d)
>>>>
>>>> [0x7f47d0dd6a4d] ->
>>>> /usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_sync_init+0x4d)
>>>> [0x7f47d5b6b05d] ->
>>>> /usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_sync+0x37)
>>>> [0x7f47d5b6b117] -> dovecot/imap [jakob 192.168.0.14
>>>> EXAMINE](cmd_select_full+0x171) [0x555d195a91a1] -> dovecot/imap
>>>> [jakob
>>>> 192.168.0.14 EXAMINE](command_exec+0x64) [0x555d195b0ca4] ->
>>>> dovecot/imap [jakob 192.168.0.14 EXAMINE](+0x1b0b2)
>>>> [0x555d195af0b2] ->
>>>> dovecot/imap [jakob 192.168.0.14 EXAMINE](+0x1b13c)
>>>> [0x555d195af13c] ->
>>>> dovecot/imap [jakob 192.168.0.14 EXAMINE](client_handle_input+0x1a5)
>>>> [0x555d195af565] -> dovecot/imap [jakob 192.168.0.14
>>>> EXAMINE](client_input+0x82) [0x555d195afbe2] ->
>>>> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x69)
>>>> [0x7f47d5889bf9] ->
>>>> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x109)
>>>>
>>>> [0x7f47d588b499] ->
>>>> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x52)
>>>> [0x7f47d5889d02]
>>>> Jän 04 11:03:32 aldebaran dovecot[24534]:
>>>> imap(jakob)<24705><Ug/EcfBhSrDAqAAO>: Fatal: master: service(imap):
>>>> child 24705 killed with signal 6 (core dumps disabled)
>>>>
>>>> I deinstalled all debian-dovecot-packages and installed the user
>>>> dovenull manually again. This is all, i did.
>>>>
>>>> jakob
>>>
>>



More information about the dovecot mailing list