Re: Bug#876364: dovecot-sieve: Just discovered imap_sieve/sieve_imapsieve is not set up to work with virtual mailboxes.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Bug#876364: dovecot-sieve: Just discovered imap_sieve/sieve_imapsieve is not set up to work with virtual mailboxes.

Apollon Oikonomopoulos
Control: tags -1 + moreinfo upstream

[Forwarding this to the Dovecot mailing list, just in case someone can help]

Hi,

Thanks for the report! See my comments inline.

On 11:56 Thu 21 Sep     , Thurgood Angelou wrote:

> Package: dovecot-core
> Version: 1:2.2.32-2
>
> I've just discovered a bug where the sieve plugin (especially IMAP)
> will not work with a virtual mailbox. I recently found this out when
> testing a virtual mailbox setup and I use imap_sieve for SPAM
> filtering so to lose that would be painful.
>
> This is what is reported in dovecot's debug log...
>
> Sep 21 10:53:01 imap([hidden email]): Panic: file mail-index-map.c: line 549 (mail_index_map_lookup_seq_range): assertion failed: (first_uid > 0)
> Sep 21 10:53:01 imap([hidden email]): Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x9f0a2) [0x7f4226fd50a2] -> /usr/lib/dovecot/libdovecot.so.0(+0x9f19a) [0x7f4226fd519a] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f4226f65cf8] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_map_lookup_seq_range+0x120) [0x7f422733dae0] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xe8d1d) [0x7f422734cd1d] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_lookup_seq+0xf) [0x7f4227350e9f] -> /usr/lib/dovecot/modules/lib20_virtual_plugin.so(+0x82aa) [0x7f422678a2aa] -> /usr/lib/dovecot/modules/lib95_imap_sieve_plugin.so(+0x708c) [0x7f422657d08c] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_transaction_commit_get_changes+0x52) [0x7f42272adca2] -> dovecot/imap(+0x10084) [0x556502adb084] -> dovecot/imap(command_exec+0x5c) [0x556502ae7d9c] -> dovecot/imap(+0x1b322) [0x556502ae6322] -> dovecot/imap(+0x1b3bc) [0x556502ae63bc] -> dovecot/imap(client_handle_input
>  +0x18d) [0x556502ae677d] -> dovecot/imap(client_input+0xac) [0x556502ae6ccc] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x52) [0x7f4226fea742] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x12e) [0x7f4226febd8e] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x36) [0x7f4226fea7d6] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f4226fea988] -> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f4226f70353] -> dovecot/imap(main+0x329) [0x556502ad9139] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f4226bb92e1] -> dovecot/imap(_start+0x2a) [0x556502ad92ca]

After mixing in the debug symbols, this backtrace becomes:

/usr/lib/dovecot/libdovecot.so.0(+0x9f0a2) [0x7f4226fd50a2]
    default_fatal_finish at ./src/lib/failures.c:195
/usr/lib/dovecot/libdovecot.so.0(+0x9f19a) [0x7f4226fd519a]
    ?? at ./src/lib/failures.c:670
/usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f4226f65cf8]
    i_fatal at ./src/lib/failures.c:280
/usr/lib/dovecot/libdovecot-storage.so.0(mail_index_map_lookup_seq_range+0x120) [0x7f422733dae0]
    mail_index_map_lookup_seq_range at ./src/lib-index/mail-index-map.c:550
/usr/lib/dovecot/libdovecot-storage.so.0(+0xe8d1d) [0x7f422734cd1d]
    tview_lookup_seq_range at ./src/lib-index/mail-index-transaction-view.c:178
/usr/lib/dovecot/libdovecot-storage.so.0(mail_index_lookup_seq+0xf) [0x7f4227350e9f]
    mail_index_lookup_seq at ./src/lib-index/mail-index-view.c:522
/usr/lib/dovecot/modules/lib20_virtual_plugin.so(+0x82aa) [0x7f422678a2aa]
    virtual_mail_set_uid at ./src/plugins/virtual/virtual-mail.c:213                                              
/usr/lib/dovecot/modules/lib95_imap_sieve_plugin.so(+0x708c) [0x7f422657d08c]
    imap_sieve_mailbox_transaction_run at ./pigeonhole/src/plugins/imapsieve/imap-sieve-storage.c:752 (inlined by: imap_sieve_mailbox_transaction_commit at ./pigeonhole/src/plugins/imapsieve/imap-sieve-storage.c:807)
/usr/lib/dovecot/libdovecot-storage.so.0(mailbox_transaction_commit_get_changes+0x52) [0x7f42272adca2]
    mailbox_transaction_commit_get_changes at ./src/lib-storage/mail-storage.c:2083
dovecot/imap(+0x10084) [0x556502adb084]
    cmd_copy_full at ./src/imap/cmd-copy.c:146
dovecot/imap(command_exec+0x5c) [0x556502ae7d9c]
    command_exec at ./src/imap/imap-commands.c:200
dovecot/imap(+0x1b322) [0x556502ae6322]
    client_command_input at ./src/imap/imap-client.c:1088
dovecot/imap(+0x1b3bc) [0x556502ae63bc]
    client_command_input at ./src/imap/imap-client.c:1150
dovecot/imap(client_handle_input+0x18d) [0x556502ae677d]
    client_handle_input at ./src/imap/imap-client.c:1203
dovecot/imap(client_input+0xac) [0x556502ae6ccc]
    client_input at ./src/imap/imap-client.c:1249
/usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x52) [0x7f4226fea742]
    io_loop_call_io at ./src/lib/ioloop.c:600
/usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x12e) [0x7f4226febd8e]
    io_loop_handler_run_internal at ./src/lib/ioloop-epoll.c:223
/usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x36) [0x7f4226fea7d6]
    io_loop_handler_run at ./src/lib/ioloop.c:648
/usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f4226fea988]
    io_loop_run at ./src/lib/ioloop.c:622
/usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f4226f70353]
    master_service_run at ./src/lib-master/master-service.c:667
dovecot/imap(main+0x329) [0x556502ad9139]
    main at ./src/imap/main.c:491                                                        
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f4226bb92e1]
    __libc_start_main at ../csu/libc-start.c:325
dovecot/imap(_start+0x2a) [0x556502ad92ca]
    start at ??:0                                            

> -- System Information:
> Debian Release: 8.2
>   APT prefers oldstable-updates
>   APT policy: (500, 'oldstable-updates'), (500, 'unstable'), (500, 'testing'), (500, 'oldstable')
> Architecture: amd64 (x86_64)
>
> Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores)
> Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
> Init: systemd (via /run/systemd/system)
>
> Versions of packages dovecot-sieve depends on:
> ii  dovecot-core  1:2.2.32-2
> ii  libc6         2.24-17
> ii  ucf           3.0030
>
> dovecot-sieve recommends no packages.
>
> dovecot-sieve suggests no packages.
>
> Versions of packages dovecot-sieve is related to:
> ii  dovecot-core [dovecot-common]  1:2.2.32-2
> pn  dovecot-dbg                    <none>
> pn  dovecot-dev                    <none>
> ii  dovecot-gssapi                 1:2.2.32-2
> ii  dovecot-imapd                  1:2.2.32-2
> ii  dovecot-ldap                   1:2.2.32-2
> ii  dovecot-lmtpd                  1:2.2.32-2
> ii  dovecot-managesieved           1:2.2.32-2
> ii  dovecot-mysql                  1:2.2.32-2
> pn  dovecot-pgsql                  <none>
> pn  dovecot-pop3d                  <none>
> ii  dovecot-sieve                  1:2.2.32-2
> pn  dovecot-sqlite                 <none>

Could you also include the output of doveconf -n?

Regards,
Apollon
Reply | Threaded
Open this post in threaded view
|

Fwd: Bug#876364: dovecot-sieve: Just discovered imap_sieve/sieve_imapsieve is not set up to work with virtual mailboxes.

Thurgood Angelou
Hi... The output of my doveconf -n is as folllows.

# 2.2.32 (dfbe293d4): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.20 (7cd71ba)
doveconf: Warning: /etc/dovecot/dovecot.conf line 105: Global setting
mail_plugins won't change the setting inside an earlier filter at
/etc/dovecot/conf.d/15-lda.conf line 47 (if this is intentional, avoid this
warning by moving the global setting before /etc/dovecot/conf.d/15-lda.conf
line 47)
doveconf: Warning: /etc/dovecot/dovecot.conf line 105: Global setting
mail_plugins won't change the setting inside an earlier filter at
/etc/dovecot/conf.d/15-lda.conf line 47 (if this is intentional, avoid this
warning by moving the global setting before /etc/dovecot/conf.d/15-lda.conf
line 47)
# OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.2 ext4
auth_default_realm = othersider92.com
auth_mechanisms = plain login
first_valid_uid = 100
log_path = /var/log/dovecot.log
mail_location = maildir:/var/mail/%d/%n
mail_plugins = " virtual"
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags
copy include variables body enotify environment mailbox date index ihave
duplicate mime foreverypart extracttext imapsieve vnd.dovecot.imapsieve
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    auto = create
    special_use = \Drafts
  }
  mailbox Junk {
    auto = create
    autoexpunge = 1 weeks
    special_use = \Junk
  }
  mailbox Promotions {
    auto = subscribe
  }
  mailbox Sent {
    auto = create
    special_use = \Sent
  }
  mailbox Trash {
    auto = create
    autoexpunge = 30 days
    special_use = \Trash
  }
  prefix =
  separator = /
  type = private
}
namespace virtual {
  disabled = yes
  hidden = yes
  list = no
  location = virtual:/var/mail/virtual
  prefix = virtual/
  separator = /
  type = private
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  imapsieve_mailbox1_before = file:/etc/sieve/report-spam.sieve
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_name = Junk
  imapsieve_mailbox2_before = file:/etc/sieve/report-ham.sieve
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_from = Junk
  imapsieve_mailbox2_name = *
  imapsieve_mailbox3_before = file:/etc/sieve/report-spam-promo.sieve
  imapsieve_mailbox3_causes = COPY
  imapsieve_mailbox3_name = Promotions
  imapsieve_mailbox4_before = file:/etc/sieve/report-ham-promo.sieve
  imapsieve_mailbox4_causes = COPY
  imapsieve_mailbox4_from = Promotions
  imapsieve_mailbox4_name = *
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_after = /etc/sieve/conf.d/after
  sieve_before = /etc/sieve/conf.d/before
  sieve_global_extensions = +editheader +vnd.dovecot.pipe
  sieve_pipe_bin_dir = /usr/local/bin
  sieve_plugins = sieve_extprograms sieve_imapsieve
}
protocols = imap lmtp
service auth-worker {
  user = vmail
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0666
    user = postfix
  }
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }
  user = dovecot
}
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
ssl = required
ssl_cert = </etc/ssl/mail/ssl.cert
ssl_client_ca_dir = /etc/ssl/certs
ssl_key =  # hidden, use -P to show it
userdb {
  args = uid=vmail gid=vmail home=/var/mail/%d/%n
  driver = static
}
protocol lmtp {
  info_log_path = /var/log/dovecot-lmtp.log
  mail_plugins = " virtual"
}
protocol lda {
  mail_plugins = " sieve virtual"
}
protocol imap {
  mail_plugins = " virtual imap_sieve"
}

I hope this helps.

On Thu, Sep 21, 2017 at 4:47 AM, Apollon Oikonomopoulos <[hidden email]>
wrote:

> Control: tags -1 + moreinfo upstream
>
> [Forwarding this to the Dovecot mailing list, just in case someone can
> help]
>
> Hi,
>
> Thanks for the report! See my comments inline.
>
> On 11:56 Thu 21 Sep     , Thurgood Angelou wrote:
> > Package: dovecot-core
> > Version: 1:2.2.32-2
> >
> > I've just discovered a bug where the sieve plugin (especially IMAP)
> > will not work with a virtual mailbox. I recently found this out when
> > testing a virtual mailbox setup and I use imap_sieve for SPAM
> > filtering so to lose that would be painful.
> >
> > This is what is reported in dovecot's debug log...
> >
> > Sep 21 10:53:01 imap([hidden email]): Panic: file
> mail-index-map.c: line 549 (mail_index_map_lookup_seq_range): assertion
> failed: (first_uid > 0)
> > Sep 21 10:53:01 imap([hidden email]): Error: Raw backtrace:
> /usr/lib/dovecot/libdovecot.so.0(+0x9f0a2) [0x7f4226fd50a2] ->
> /usr/lib/dovecot/libdovecot.so.0(+0x9f19a) [0x7f4226fd519a] ->
> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f4226f65cf8] ->
> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_map_lookup_seq_range+0x120)
> [0x7f422733dae0] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xe8d1d)
> [0x7f422734cd1d] -> /usr/lib/dovecot/libdovecot-st
> orage.so.0(mail_index_lookup_seq+0xf) [0x7f4227350e9f] ->
> /usr/lib/dovecot/modules/lib20_virtual_plugin.so(+0x82aa)
> [0x7f422678a2aa] -> /usr/lib/dovecot/modules/lib95_imap_sieve_plugin.so(+0x708c)
> [0x7f422657d08c] -> /usr/lib/dovecot/libdovecot-st
> orage.so.0(mailbox_transaction_commit_get_changes+0x52) [0x7f42272adca2]
> -> dovecot/imap(+0x10084) [0x556502adb084] -> dovecot/imap(command_exec+0x5c)
> [0x556502ae7d9c] -> dovecot/imap(+0x1b322) [0x556502ae6322] ->
> dovecot/imap(+0x1b3bc) [0x556502ae63bc] -> dovecot/imap(client_handle_inp
> ut
> >  +0x18d) [0x556502ae677d] -> dovecot/imap(client_input+0xac)
> [0x556502ae6ccc] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x52)
> [0x7f4226fea742] -> /usr/lib/dovecot/libdovecot.so
> .0(io_loop_handler_run_internal+0x12e) [0x7f4226febd8e] ->
> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x36)
> [0x7f4226fea7d6] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x38)
> [0x7f4226fea988] -> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13)
> [0x7f4226f70353] -> dovecot/imap(main+0x329) [0x556502ad9139] ->
> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f4226bb92e1]
> -> dovecot/imap(_start+0x2a) [0x556502ad92ca]
>
> After mixing in the debug symbols, this backtrace becomes:
>
> /usr/lib/dovecot/libdovecot.so.0(+0x9f0a2) [0x7f4226fd50a2]
>     default_fatal_finish at ./src/lib/failures.c:195
> /usr/lib/dovecot/libdovecot.so.0(+0x9f19a) [0x7f4226fd519a]
>     ?? at ./src/lib/failures.c:670
> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f4226f65cf8]
>     i_fatal at ./src/lib/failures.c:280
> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_map_lookup_seq_range+0x120)
> [0x7f422733dae0]
>     mail_index_map_lookup_seq_range at ./src/lib-index/mail-index-map
> .c:550
> /usr/lib/dovecot/libdovecot-storage.so.0(+0xe8d1d) [0x7f422734cd1d]
>     tview_lookup_seq_range at ./src/lib-index/mail-index-tra
> nsaction-view.c:178
> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_lookup_seq+0xf)
> [0x7f4227350e9f]
>     mail_index_lookup_seq at ./src/lib-index/mail-index-view.c:522
> /usr/lib/dovecot/modules/lib20_virtual_plugin.so(+0x82aa) [0x7f422678a2aa]
>     virtual_mail_set_uid at ./src/plugins/virtual/virtual-mail.c:213
> /usr/lib/dovecot/modules/lib95_imap_sieve_plugin.so(+0x708c)
> [0x7f422657d08c]
>     imap_sieve_mailbox_transaction_run at ./pigeonhole/src/plugins/imapsieve/imap-sieve-storage.c:752
> (inlined by: imap_sieve_mailbox_transaction_commit at
> ./pigeonhole/src/plugins/imapsieve/imap-sieve-storage.c:807)
> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_transaction_commit_get_changes+0x52)
> [0x7f42272adca2]
>     mailbox_transaction_commit_get_changes at
> ./src/lib-storage/mail-storage.c:2083
> dovecot/imap(+0x10084) [0x556502adb084]
>     cmd_copy_full at ./src/imap/cmd-copy.c:146
> dovecot/imap(command_exec+0x5c) [0x556502ae7d9c]
>     command_exec at ./src/imap/imap-commands.c:200
> dovecot/imap(+0x1b322) [0x556502ae6322]
>     client_command_input at ./src/imap/imap-client.c:1088
> dovecot/imap(+0x1b3bc) [0x556502ae63bc]
>     client_command_input at ./src/imap/imap-client.c:1150
> dovecot/imap(client_handle_input+0x18d) [0x556502ae677d]
>     client_handle_input at ./src/imap/imap-client.c:1203
> dovecot/imap(client_input+0xac) [0x556502ae6ccc]
>     client_input at ./src/imap/imap-client.c:1249
> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x52) [0x7f4226fea742]
>     io_loop_call_io at ./src/lib/ioloop.c:600
> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x12e)
> [0x7f4226febd8e]
>     io_loop_handler_run_internal at ./src/lib/ioloop-epoll.c:223
> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x36)
> [0x7f4226fea7d6]
>     io_loop_handler_run at ./src/lib/ioloop.c:648
> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f4226fea988]
>     io_loop_run at ./src/lib/ioloop.c:622
> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f4226f70353]
>     master_service_run at ./src/lib-master/master-service.c:667
> dovecot/imap(main+0x329) [0x556502ad9139]
>     main at ./src/imap/main.c:491
> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f4226bb92e1]
>     __libc_start_main at ../csu/libc-start.c:325
> dovecot/imap(_start+0x2a) [0x556502ad92ca]
>     start at ??:0
>
> > -- System Information:
> > Debian Release: 8.2
> >   APT prefers oldstable-updates
> >   APT policy: (500, 'oldstable-updates'), (500, 'unstable'), (500,
> 'testing'), (500, 'oldstable')
> > Architecture: amd64 (x86_64)
> >
> > Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores)
> > Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8),
> LANGUAGE=en_GB:en (charmap=UTF-8)
> > Shell: /bin/sh linked to /bin/dash
> > Init: systemd (via /run/systemd/system)
> >
> > Versions of packages dovecot-sieve depends on:
> > ii  dovecot-core  1:2.2.32-2
> > ii  libc6         2.24-17
> > ii  ucf           3.0030
> >
> > dovecot-sieve recommends no packages.
> >
> > dovecot-sieve suggests no packages.
> >
> > Versions of packages dovecot-sieve is related to:
> > ii  dovecot-core [dovecot-common]  1:2.2.32-2
> > pn  dovecot-dbg                    <none>
> > pn  dovecot-dev                    <none>
> > ii  dovecot-gssapi                 1:2.2.32-2
> > ii  dovecot-imapd                  1:2.2.32-2
> > ii  dovecot-ldap                   1:2.2.32-2
> > ii  dovecot-lmtpd                  1:2.2.32-2
> > ii  dovecot-managesieved           1:2.2.32-2
> > ii  dovecot-mysql                  1:2.2.32-2
> > pn  dovecot-pgsql                  <none>
> > pn  dovecot-pop3d                  <none>
> > ii  dovecot-sieve                  1:2.2.32-2
> > pn  dovecot-sqlite                 <none>
>
> Could you also include the output of doveconf -n?
>
> Regards,
> Apollon
>
Reply | Threaded
Open this post in threaded view
|

Re: Bug#876364: dovecot-sieve: Just discovered imap_sieve/sieve_imapsieve is not set up to work with virtual mailboxes.

Aki Tuomi-2
In reply to this post by Apollon Oikonomopoulos
Hi!

Thanks for your report, we'll look into it.

Aki


On 21.09.2017 14:47, Apollon Oikonomopoulos wrote:

> Control: tags -1 + moreinfo upstream
>
> [Forwarding this to the Dovecot mailing list, just in case someone can help]
>
> Hi,
>
> Thanks for the report! See my comments inline.
>
> On 11:56 Thu 21 Sep     , Thurgood Angelou wrote:
>> Package: dovecot-core
>> Version: 1:2.2.32-2
>>
>> I've just discovered a bug where the sieve plugin (especially IMAP)
>> will not work with a virtual mailbox. I recently found this out when
>> testing a virtual mailbox setup and I use imap_sieve for SPAM
>> filtering so to lose that would be painful.
>>
>> This is what is reported in dovecot's debug log...
>>
>> Sep 21 10:53:01 imap([hidden email]): Panic: file mail-index-map.c: line 549 (mail_index_map_lookup_seq_range): assertion failed: (first_uid > 0)
>> Sep 21 10:53:01 imap([hidden email]): Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x9f0a2) [0x7f4226fd50a2] -> /usr/lib/dovecot/libdovecot.so.0(+0x9f19a) [0x7f4226fd519a] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f4226f65cf8] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_map_lookup_seq_range+0x120) [0x7f422733dae0] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xe8d1d) [0x7f422734cd1d] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_lookup_seq+0xf) [0x7f4227350e9f] -> /usr/lib/dovecot/modules/lib20_virtual_plugin.so(+0x82aa) [0x7f422678a2aa] -> /usr/lib/dovecot/modules/lib95_imap_sieve_plugin.so(+0x708c) [0x7f422657d08c] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_transaction_commit_get_changes+0x52) [0x7f42272adca2] -> dovecot/imap(+0x10084) [0x556502adb084] -> dovecot/imap(command_exec+0x5c) [0x556502ae7d9c] -> dovecot/imap(+0x1b322) [0x556502ae6322] -> dovecot/imap(+0x1b3bc) [0x556502ae63bc] -> dovecot/imap(client_handle_input
>>  +0x18d) [0x556502ae677d] -> dovecot/imap(client_input+0xac) [0x556502ae6ccc] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x52) [0x7f4226fea742] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x12e) [0x7f4226febd8e] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x36) [0x7f4226fea7d6] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f4226fea988] -> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f4226f70353] -> dovecot/imap(main+0x329) [0x556502ad9139] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f4226bb92e1] -> dovecot/imap(_start+0x2a) [0x556502ad92ca]
> After mixing in the debug symbols, this backtrace becomes:
>
> /usr/lib/dovecot/libdovecot.so.0(+0x9f0a2) [0x7f4226fd50a2]
>     default_fatal_finish at ./src/lib/failures.c:195
> /usr/lib/dovecot/libdovecot.so.0(+0x9f19a) [0x7f4226fd519a]
>     ?? at ./src/lib/failures.c:670
> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f4226f65cf8]
>     i_fatal at ./src/lib/failures.c:280
> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_map_lookup_seq_range+0x120) [0x7f422733dae0]
>     mail_index_map_lookup_seq_range at ./src/lib-index/mail-index-map.c:550
> /usr/lib/dovecot/libdovecot-storage.so.0(+0xe8d1d) [0x7f422734cd1d]
>     tview_lookup_seq_range at ./src/lib-index/mail-index-transaction-view.c:178
> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_lookup_seq+0xf) [0x7f4227350e9f]
>     mail_index_lookup_seq at ./src/lib-index/mail-index-view.c:522
> /usr/lib/dovecot/modules/lib20_virtual_plugin.so(+0x82aa) [0x7f422678a2aa]
>     virtual_mail_set_uid at ./src/plugins/virtual/virtual-mail.c:213                                              
> /usr/lib/dovecot/modules/lib95_imap_sieve_plugin.so(+0x708c) [0x7f422657d08c]
>     imap_sieve_mailbox_transaction_run at ./pigeonhole/src/plugins/imapsieve/imap-sieve-storage.c:752 (inlined by: imap_sieve_mailbox_transaction_commit at ./pigeonhole/src/plugins/imapsieve/imap-sieve-storage.c:807)
> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_transaction_commit_get_changes+0x52) [0x7f42272adca2]
>     mailbox_transaction_commit_get_changes at ./src/lib-storage/mail-storage.c:2083
> dovecot/imap(+0x10084) [0x556502adb084]
>     cmd_copy_full at ./src/imap/cmd-copy.c:146
> dovecot/imap(command_exec+0x5c) [0x556502ae7d9c]
>     command_exec at ./src/imap/imap-commands.c:200
> dovecot/imap(+0x1b322) [0x556502ae6322]
>     client_command_input at ./src/imap/imap-client.c:1088
> dovecot/imap(+0x1b3bc) [0x556502ae63bc]
>     client_command_input at ./src/imap/imap-client.c:1150
> dovecot/imap(client_handle_input+0x18d) [0x556502ae677d]
>     client_handle_input at ./src/imap/imap-client.c:1203
> dovecot/imap(client_input+0xac) [0x556502ae6ccc]
>     client_input at ./src/imap/imap-client.c:1249
> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x52) [0x7f4226fea742]
>     io_loop_call_io at ./src/lib/ioloop.c:600
> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x12e) [0x7f4226febd8e]
>     io_loop_handler_run_internal at ./src/lib/ioloop-epoll.c:223
> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x36) [0x7f4226fea7d6]
>     io_loop_handler_run at ./src/lib/ioloop.c:648
> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f4226fea988]
>     io_loop_run at ./src/lib/ioloop.c:622
> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f4226f70353]
>     master_service_run at ./src/lib-master/master-service.c:667
> dovecot/imap(main+0x329) [0x556502ad9139]
>     main at ./src/imap/main.c:491                                                        
> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f4226bb92e1]
>     __libc_start_main at ../csu/libc-start.c:325
> dovecot/imap(_start+0x2a) [0x556502ad92ca]
>     start at ??:0                                            
>
>> -- System Information:
>> Debian Release: 8.2
>>   APT prefers oldstable-updates
>>   APT policy: (500, 'oldstable-updates'), (500, 'unstable'), (500, 'testing'), (500, 'oldstable')
>> Architecture: amd64 (x86_64)
>>
>> Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores)
>> Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8)
>> Shell: /bin/sh linked to /bin/dash
>> Init: systemd (via /run/systemd/system)
>>
>> Versions of packages dovecot-sieve depends on:
>> ii  dovecot-core  1:2.2.32-2
>> ii  libc6         2.24-17
>> ii  ucf           3.0030
>>
>> dovecot-sieve recommends no packages.
>>
>> dovecot-sieve suggests no packages.
>>
>> Versions of packages dovecot-sieve is related to:
>> ii  dovecot-core [dovecot-common]  1:2.2.32-2
>> pn  dovecot-dbg                    <none>
>> pn  dovecot-dev                    <none>
>> ii  dovecot-gssapi                 1:2.2.32-2
>> ii  dovecot-imapd                  1:2.2.32-2
>> ii  dovecot-ldap                   1:2.2.32-2
>> ii  dovecot-lmtpd                  1:2.2.32-2
>> ii  dovecot-managesieved           1:2.2.32-2
>> ii  dovecot-mysql                  1:2.2.32-2
>> pn  dovecot-pgsql                  <none>
>> pn  dovecot-pop3d                  <none>
>> ii  dovecot-sieve                  1:2.2.32-2
>> pn  dovecot-sqlite                 <none>
> Could you also include the output of doveconf -n?
>
> Regards,
> Apollon
Reply | Threaded
Open this post in threaded view
|

Re: Bug#876364: dovecot-sieve: Just discovered imap_sieve/sieve_imapsieve is not set up to work with virtual mailboxes.

Stephan Bosch-2
No luck reproducing this so far.

Will continue looking once I finish merging some new v2.3 features.

Op 22-9-2017 om 10:29 schreef Aki Tuomi:

> Hi!
>
> Thanks for your report, we'll look into it.
>
> Aki
>
>
> On 21.09.2017 14:47, Apollon Oikonomopoulos wrote:
>> Control: tags -1 + moreinfo upstream
>>
>> [Forwarding this to the Dovecot mailing list, just in case someone can help]
>>
>> Hi,
>>
>> Thanks for the report! See my comments inline.
>>
>> On 11:56 Thu 21 Sep     , Thurgood Angelou wrote:
>>> Package: dovecot-core
>>> Version: 1:2.2.32-2
>>>
>>> I've just discovered a bug where the sieve plugin (especially IMAP)
>>> will not work with a virtual mailbox. I recently found this out when
>>> testing a virtual mailbox setup and I use imap_sieve for SPAM
>>> filtering so to lose that would be painful.
>>>
>>> This is what is reported in dovecot's debug log...
>>>
>>> Sep 21 10:53:01 imap([hidden email]): Panic: file mail-index-map.c: line 549 (mail_index_map_lookup_seq_range): assertion failed: (first_uid > 0)
>>> Sep 21 10:53:01 imap([hidden email]): Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x9f0a2) [0x7f4226fd50a2] -> /usr/lib/dovecot/libdovecot.so.0(+0x9f19a) [0x7f4226fd519a] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f4226f65cf8] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_map_lookup_seq_range+0x120) [0x7f422733dae0] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xe8d1d) [0x7f422734cd1d] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_lookup_seq+0xf) [0x7f4227350e9f] -> /usr/lib/dovecot/modules/lib20_virtual_plugin.so(+0x82aa) [0x7f422678a2aa] -> /usr/lib/dovecot/modules/lib95_imap_sieve_plugin.so(+0x708c) [0x7f422657d08c] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_transaction_commit_get_changes+0x52) [0x7f42272adca2] -> dovecot/imap(+0x10084) [0x556502adb084] -> dovecot/imap(command_exec+0x5c) [0x556502ae7d9c] -> dovecot/imap(+0x1b322) [0x556502ae6322] -> dovecot/imap(+0x1b3bc) [0x556502ae63bc] -> dovecot/imap(client_handle_input
>>>   +0x18d) [0x556502ae677d] -> dovecot/imap(client_input+0xac) [0x556502ae6ccc] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x52) [0x7f4226fea742] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x12e) [0x7f4226febd8e] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x36) [0x7f4226fea7d6] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f4226fea988] -> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f4226f70353] -> dovecot/imap(main+0x329) [0x556502ad9139] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f4226bb92e1] -> dovecot/imap(_start+0x2a) [0x556502ad92ca]
>> After mixing in the debug symbols, this backtrace becomes:
>>
>> /usr/lib/dovecot/libdovecot.so.0(+0x9f0a2) [0x7f4226fd50a2]
>>      default_fatal_finish at ./src/lib/failures.c:195
>> /usr/lib/dovecot/libdovecot.so.0(+0x9f19a) [0x7f4226fd519a]
>>      ?? at ./src/lib/failures.c:670
>> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f4226f65cf8]
>>      i_fatal at ./src/lib/failures.c:280
>> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_map_lookup_seq_range+0x120) [0x7f422733dae0]
>>      mail_index_map_lookup_seq_range at ./src/lib-index/mail-index-map.c:550
>> /usr/lib/dovecot/libdovecot-storage.so.0(+0xe8d1d) [0x7f422734cd1d]
>>      tview_lookup_seq_range at ./src/lib-index/mail-index-transaction-view.c:178
>> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_lookup_seq+0xf) [0x7f4227350e9f]
>>      mail_index_lookup_seq at ./src/lib-index/mail-index-view.c:522
>> /usr/lib/dovecot/modules/lib20_virtual_plugin.so(+0x82aa) [0x7f422678a2aa]
>>      virtual_mail_set_uid at ./src/plugins/virtual/virtual-mail.c:213
>> /usr/lib/dovecot/modules/lib95_imap_sieve_plugin.so(+0x708c) [0x7f422657d08c]
>>      imap_sieve_mailbox_transaction_run at ./pigeonhole/src/plugins/imapsieve/imap-sieve-storage.c:752 (inlined by: imap_sieve_mailbox_transaction_commit at ./pigeonhole/src/plugins/imapsieve/imap-sieve-storage.c:807)
>> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_transaction_commit_get_changes+0x52) [0x7f42272adca2]
>>      mailbox_transaction_commit_get_changes at ./src/lib-storage/mail-storage.c:2083
>> dovecot/imap(+0x10084) [0x556502adb084]
>>      cmd_copy_full at ./src/imap/cmd-copy.c:146
>> dovecot/imap(command_exec+0x5c) [0x556502ae7d9c]
>>      command_exec at ./src/imap/imap-commands.c:200
>> dovecot/imap(+0x1b322) [0x556502ae6322]
>>      client_command_input at ./src/imap/imap-client.c:1088
>> dovecot/imap(+0x1b3bc) [0x556502ae63bc]
>>      client_command_input at ./src/imap/imap-client.c:1150
>> dovecot/imap(client_handle_input+0x18d) [0x556502ae677d]
>>      client_handle_input at ./src/imap/imap-client.c:1203
>> dovecot/imap(client_input+0xac) [0x556502ae6ccc]
>>      client_input at ./src/imap/imap-client.c:1249
>> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x52) [0x7f4226fea742]
>>      io_loop_call_io at ./src/lib/ioloop.c:600
>> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x12e) [0x7f4226febd8e]
>>      io_loop_handler_run_internal at ./src/lib/ioloop-epoll.c:223
>> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x36) [0x7f4226fea7d6]
>>      io_loop_handler_run at ./src/lib/ioloop.c:648
>> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f4226fea988]
>>      io_loop_run at ./src/lib/ioloop.c:622
>> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f4226f70353]
>>      master_service_run at ./src/lib-master/master-service.c:667
>> dovecot/imap(main+0x329) [0x556502ad9139]
>>      main at ./src/imap/main.c:491
>> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f4226bb92e1]
>>      __libc_start_main at ../csu/libc-start.c:325
>> dovecot/imap(_start+0x2a) [0x556502ad92ca]
>>      start at ??:0
>>
>>> -- System Information:
>>> Debian Release: 8.2
>>>    APT prefers oldstable-updates
>>>    APT policy: (500, 'oldstable-updates'), (500, 'unstable'), (500, 'testing'), (500, 'oldstable')
>>> Architecture: amd64 (x86_64)
>>>
>>> Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores)
>>> Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8)
>>> Shell: /bin/sh linked to /bin/dash
>>> Init: systemd (via /run/systemd/system)
>>>
>>> Versions of packages dovecot-sieve depends on:
>>> ii  dovecot-core  1:2.2.32-2
>>> ii  libc6         2.24-17
>>> ii  ucf           3.0030
>>>
>>> dovecot-sieve recommends no packages.
>>>
>>> dovecot-sieve suggests no packages.
>>>
>>> Versions of packages dovecot-sieve is related to:
>>> ii  dovecot-core [dovecot-common]  1:2.2.32-2
>>> pn  dovecot-dbg                    <none>
>>> pn  dovecot-dev                    <none>
>>> ii  dovecot-gssapi                 1:2.2.32-2
>>> ii  dovecot-imapd                  1:2.2.32-2
>>> ii  dovecot-ldap                   1:2.2.32-2
>>> ii  dovecot-lmtpd                  1:2.2.32-2
>>> ii  dovecot-managesieved           1:2.2.32-2
>>> ii  dovecot-mysql                  1:2.2.32-2
>>> pn  dovecot-pgsql                  <none>
>>> pn  dovecot-pop3d                  <none>
>>> ii  dovecot-sieve                  1:2.2.32-2
>>> pn  dovecot-sqlite                 <none>
>> Could you also include the output of doveconf -n?
>>
>> Regards,
>> Apollon