Bug in dovecot 2.3 virtual plugin

Jakobus Schürz wertstoffe at nurfuerspam.de
Fri Jan 5 12:26:27 EET 2018


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