ITERINDEX not showing subfolders.

2019-10-07 Thread Erik de Waard via dovecot
# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf

Hello, we're using mail on NFS and the indexes on localdisk, with a
director setup. (18K+ users) now to get more performance i thought to use
the ITERINDEX option. however this has the side-effect on some mailboxes
that it doesn't show the subfolders under INBOX.
they seem 'disappeared'. Removing the ITERINDEX option fixes this again.

Deleting the local indexes to be recreated doesn't solve the problem.
What could cause this? and how to fix it.

# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.4 ()
# OS: Linux 4.9.0-11-amd64 x86_64 Debian 9.11
# Hostname: somemail.host.domain
auth_cache_negative_ttl = 0
auth_cache_size = 10 M
auth_cache_ttl = 1 days
auth_username_chars =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@#"
default_client_limit = 1500
default_vsz_limit = 1 G
disable_plaintext_auth = no
info_log_path = /dev/null
listen = *
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_trusted_networks = 10.0.10.0/24
mail_fsync = never
mail_max_userip_connections = 100
mail_prefetch_count = 10
mail_privileged_group = mail
mailbox_list_index_include_inbox = yes
mmap_disable = yes
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
special_use = \Drafts
  }
  mailbox Junk {
special_use = \Junk
  }
  mailbox Sent {
special_use = \Sent
  }
  mailbox "Sent Messages" {
special_use = \Sent
  }
  mailbox Trash {
special_use = \Trash
  }
  prefix = INBOX.
  separator = .
  type = private
}
passdb {
  args = username_format=%{rip} /etc/dovecot/passdb
  default_fields = noauthenticate=y
  driver = passwd-file
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
plugin {
  sieve_execute_bin_dir = /etc/dovecot/sieve-executables
  sieve_global_extensions = +vnd.dovecot.execute
  sieve_plugins = sieve_extprograms
}
protocols = imap lmtp
service anvil {
  unix_listener anvil-auth-penalty {
mode = 0600
  }
}
service auth {
  user = root
}
service imap-login {
  client_limit = 6000
  process_limit = 4
  process_min_avail = 4
  service_count = 0
  vsz_limit = 600 M
}
service imap {
  client_limit = 1
  process_limit = 1024
  service_count = 50
}
service lmtp {
  inet_listener lmtp {
port = 24
  }
}
ssl = no
ssl_cert = 

Re: fts_solr: Error: fts_solr: received invalid uid '0'

2019-10-07 Thread Stephan Bosch via dovecot




On 07/10/2019 15:13, Fabian Kuran via dovecot wrote:

Hi,

Am 23.09.2019 um 09:36 schrieb Filip Hanes >:



št 19. 9. 2019 o 15:30 Fabian via dovecot > napísal(a):


Are there any other hints or tips regarding this „invalid uid
‚0‘"-message?

from fts-solr source:
case SOLR_XML_CONTENT_STATE_UID:
if (uint32_parse(str, len, >uid) < 0 || ctx->uid == 0) {
i_error("fts_solr: received invalid uid '%s'", t_strndup(str, len));
It means that plugin tries to parse '0' when in state of parsing uid 
in xml response from solr or there is a bug in xml response parser.
I would enable rawlog_dir in config and look there for unusual 
response or extra tags near usual uid in xml response. For example:

|plugin { fts = solr fts_solr = url=... rawlog_dir=/var/log/fts-solr/ }|



Thanks for this tip! The rawlog_dir option is not yet supported in our 
version 2.3.4. What we could provide now would be the XML-Response 
from Solr. The corresponding search query sometimes causes this error. 
But Solr's answer seems to always remain the same - in my opinion this 
already indicates a bug of Dovecot?


The XML response can be downloaded here: 
https://owncloud.eideo.de/index.php/s/8oyJaf5HBK6zdbr


Based on the XML response above, I investigated this problem thoroughly 
and determined that this is a pretty severe bug in the Solr XML response 
parsing code. This occurs only when the response is rather large and the 
boundary between two read chunks falls in the middle of a numeric value 
(that happens to end in '0').


Tracking internally as DOP-1470.

I think this may also explain some of the weird reports about invalid 
UIDs that we've seen in recent history on this mailing list.


Regards,

Stephan.




Re: Is imap "list" required before imap "select" for shared folder?

2019-10-07 Thread Gene Smith via dovecot

On 10/7/19 3:50 PM, Aki Tuomi wrote:


On 07/10/2019 22:23 Gene Smith via dovecot < dovecot@dovecot.org 
> wrote:



I set up a shared mailbox with dovecot and it basically works. However,
before I can imap SELECT or STATUS the shared mailbox I have to first do
an imap LIST, i.e,

. list "" *

If list is not done first, the imap select or status command on the
shared mailbox results in a "NO" response with "mailbox doesn't exist"
response text.

I can provide more information if this is not expected behavior.

-gene


Hi!

This is not expected. Please turn on mail_debug=yes, provide doveconf -n 
and relevant logs.


---
Aki Tuomi



I found that if I disable the "listescape" plug-in, the problem goes 
away. I don't see this problem mentioned in the release notes but I 
guess it might have been solved in a newer release than I am using.


I did find the same problem reported a while back here:
https://dovecot.org/list/dovecot/2016-February/103148.html

I am attaching the requested information: configuration dump and mail 
log. Also included is the telnet session I used to produce the problem.


I am only using dovecot for testing imap related issue with Thunderbird, 
not as a "real" imap server.


-gene

# 2.2.36 (1f10bfa63): /etc/dovecot/dovecot.conf
# OS: Linux 4.18.19-100.fc27.x86_64 x86_64 Fedora release 27 (Twenty Seven) 
# Hostname: wally.dbnet.lan
disable_plaintext_auth = no
imap_capability = +SPECIAL-USE
imap_idle_notify_interval = 0
mail_access_groups = gene
mail_location = maildir:~/Maildir
mail_plugins = quota acl
mbox_write_locks = fcntl
namespace bear {
  inbox = no
  location = maildir:~/Maildir-bear
  prefix = a-bear`
  separator = `
  type = private
}
namespace inbox {
  inbox = yes
  location = 
  mailbox Archives {
special_use = \Archive
  }
  mailbox Drafts {
special_use = \Drafts
  }
  mailbox Junk {
special_use = \Junk
  }
  mailbox Sent {
special_use = \Sent
  }
  mailbox "Sent Messages" {
special_use = \Sent
  }
  mailbox Trash {
special_use = \Trash
  }
  prefix = INBOX`
  separator = `
  type = private
}
namespace share {
  list = children
  location = maildir:%%h/Maildir:INDEXPVT=~/Maildir/shared/%%u
  prefix = shared`%%u`
  separator = `
  subscriptions = yes
  type = shared
}
passdb {
  driver = pam
}
passdb {
  args = scheme=CRYPT username_format=%u /etc/dovecot/users
  driver = passwd-file
}
plugin {
  acl = vfile
  acl_shared_dict = file:/tmp/shared-mailboxes
  quota_max_mail_size = 100M
}
service auth {
  unix_listener auth-userdb {
mode = 0777
  }
}
service imap-login {
  inet_listener imap {
port = 130
  }
}
ssl = no
ssl_cipher_list = PROFILE=SYSTEM
userdb {
  driver = passwd
}
userdb {
  args = username_format=%u /etc/dovecot/users
  driver = passwd-file
}
protocol lmtp {
  mail_plugins = quota acl sieve quota
}
protocol lda {
  mail_plugins = quota acl sieve
}
protocol imap {
  mail_plugins = quota acl imap_quota imap_acl listescape
}
-

/var/log/maillog:
Oct  7 16:58:28 wally dovecot[11545]: master: Dovecot v2.2.36 (1f10bfa63) 
starting up for imap, pop3, lmtp
Oct  7 16:59:03 wally dovecot[11547]: imap-login: Login: user=, 
method=PLAIN, rip=::1, lip=::1, mpid=11560, secured, 
session=
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: Loading modules from 
directory: /usr/lib64/dovecot
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: Module loaded: 
/usr/lib64/dovecot/lib01_acl_plugin.so
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: Module loaded: 
/usr/lib64/dovecot/lib02_imap_acl_plugin.so
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: Module loaded: 
/usr/lib64/dovecot/lib10_quota_plugin.so
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: Module loaded: 
/usr/lib64/dovecot/lib11_imap_quota_plugin.so
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: Module loaded: 
/usr/lib64/dovecot/lib20_listescape_plugin.so
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: Effective uid=500, 
gid=500, home=/home/gene
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: Namespace inbox: 
type=private, prefix=INBOX`, sep=`, inbox=yes, hidden=no, list=yes, 
subscriptions=yes location=maildir:~/Maildir
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: maildir++: 
root=/home/gene/Maildir, index=, indexpvt=, control=, inbox=/home/gene/Maildir, 
alt=
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: acl: initializing 
backend with data: vfile
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: acl: acl username = 
gene
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: acl: owner = 1
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: acl vfile: Global ACLs 
disabled
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: Namespace bear: 
type=private, prefix=a-bear`, sep=`, inbox=no, hidden=no, list=yes, 
subscriptions=yes location=maildir:~/Maildir-bear
Oct  7 16:59:03 wally dovecot[11547]: imap(gene): Debug: 

Re: Is imap "list" required before imap "select" for shared folder?

2019-10-07 Thread Aki Tuomi via dovecot


 
 
  
   
  
  
   
On 07/10/2019 22:23 Gene Smith via dovecot <
dovecot@dovecot.org> wrote:
   
   

   
   

   
   
I set up a shared mailbox with dovecot and it basically works. However,
   
   
before I can imap SELECT or STATUS the shared mailbox I have to first do
   
   
an imap LIST, i.e,
   
   

   
   
. list "" *
   
   

   
   
If list is not done first, the imap select or status command on the
   
   
shared mailbox results in a "NO" response with "mailbox doesn't exist"
   
   
response text.
   
   

   
   
I can provide more information if this is not expected behavior.
   
   

   
   
-gene
   
  
  
   
  
  
   Hi!
  
  
   
  
  
   This is not expected. Please turn on mail_debug=yes, provide doveconf -n and relevant logs.
  
  
   ---
Aki Tuomi
   
 



Is imap "list" required before imap "select" for shared folder?

2019-10-07 Thread Gene Smith via dovecot



I set up a shared mailbox with dovecot and it basically works. However, 
before I can imap SELECT or STATUS the shared mailbox I have to first do 
an imap LIST, i.e,


. list "" *

If list is not done first, the imap select or status command on the 
shared mailbox results in a "NO" response with "mailbox doesn't exist" 
response text.


I can provide more information if this is not expected behavior.

-gene



Re: CentOS 8 / 7

2019-10-07 Thread Jonathan Casiot via dovecot




On 07/10/2019 15:11, Günther J. Niederwimmer via dovecot wrote:

Hello List,

I have to install a "new" system, what is the best way for this. I like to
install a CentOS System but I only found dovecot for CentOS 7 is this
compatible for CentOS 8 or have I to setup a CentOS 7 System ?

The onboard dovecot is 2.2.36-5 :-(

Thanks for a answer,



Dovecot 2.2.36-5 can be installed from the CentOS 8 AppStream repository 
using yum/dnf.


Regards,

--
Jonathan


CentOS 8 / 7

2019-10-07 Thread Günther J . Niederwimmer via dovecot
Hello List,

I have to install a "new" system, what is the best way for this. I like to 
install a CentOS System but I only found dovecot for CentOS 7 is this 
compatible for CentOS 8 or have I to setup a CentOS 7 System ?

The onboard dovecot is 2.2.36-5 :-(

Thanks for a answer, 
-- 
mit freundlichen Grüßen / best regards

  Günther J. Niederwimmer




Re: fts_solr: Error: fts_solr: received invalid uid '0'

2019-10-07 Thread Fabian Kuran via dovecot
Hi,

> Am 23.09.2019 um 09:36 schrieb Filip Hanes :
> 
> 
> št 19. 9. 2019 o 15:30 Fabian via dovecot  > napísal(a):
> Are there any other hints or tips regarding this „invalid uid ‚0‘"-message?
> from fts-solr source:
> case SOLR_XML_CONTENT_STATE_UID:
> if (uint32_parse(str, len, >uid) < 0 || ctx->uid == 0) {
> i_error("fts_solr: received invalid uid '%s'", t_strndup(str, 
> len));
> It means that plugin tries to parse '0' when in state of parsing uid in xml 
> response from solr or there is a bug in xml response parser.
> I would enable rawlog_dir in config and look there for unusual response or 
> extra tags near usual uid in xml response. For example:
> plugin {
>   fts = solr
>   fts_solr = url=... rawlog_dir=/var/log/fts-solr/
> }
> 

Thanks for this tip! The rawlog_dir option is not yet supported in our version 
2.3.4. What we could provide now would be the XML-Response from Solr. The 
corresponding search query sometimes causes this error. But Solr's answer seems 
to always remain the same - in my opinion this already indicates a bug of 
Dovecot?

The XML response can be downloaded here: 
https://owncloud.eideo.de/index.php/s/8oyJaf5HBK6zdbr

Kind regards,
Fabian



Re: [ext] dovecot 2.3.7.2-1~bionic: Performance issues caused by excessive IO to ~/mdbox/mailboxes/INBOX/dbox-Mails/dovecot.index.tmp

2019-10-07 Thread Ralf Hildebrandt via dovecot
* Timo Sirainen :

> >> But why is that? Why would the index file be updated so often?
> > 
> > BTW: This post is a followup to my "2.3.7 slower than 2.3.6?" post from 
> > back in July.
> 
> Fixed by 
> https://github.com/dovecot/core/commit/5e9e09a041b318025fd52db2df25052b60d0fc98
>  
> 
>  and will be in the soon-to-be-released v2.3.8.

Thanks. I will test this (once it's been released) by moving the index files 
back to
conventional storage. 

-- 
Ralf Hildebrandt
  Geschäftsbereich IT | Abteilung Netzwerk
  Charité - Universitätsmedizin Berlin
  Campus Benjamin Franklin
  Hindenburgdamm 30 | D-12203 Berlin
  Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962
  ralf.hildebra...@charite.de | https://www.charite.de



Re: [ext] dovecot 2.3.7.2-1~bionic: Performance issues caused by excessive IO to ~/mdbox/mailboxes/INBOX/dbox-Mails/dovecot.index.tmp

2019-10-07 Thread Timo Sirainen via dovecot
On 1 Oct 2019, at 16.45, Ralf Hildebrandt via dovecot  
wrote:
> 
> * Ralf Hildebrandt via dovecot :
> 
>> But why is that? Why would the index file be updated so often?
> 
> BTW: This post is a followup to my "2.3.7 slower than 2.3.6?" post from back 
> in July.

Fixed by 
https://github.com/dovecot/core/commit/5e9e09a041b318025fd52db2df25052b60d0fc98 

 and will be in the soon-to-be-released v2.3.8.



Re: Sieve redirect is broken in 2.3.7.2 - signal 11

2019-10-07 Thread Demonhost via dovecot

Thank you Stephan ! That was it.

It works fine with the proper pigeonhole version.

Let me write to the package maintainer to fix.

Regards,
  Laszlo

On 2019. 10. 07. 11:09, Demonhost wrote:

That's a good thought.

I'm building from the alpine repo and I indeed see pigeonhole is 0.5.5

https://git.alpinelinux.org/aports/tree/main/dovecot/APKBUILD?h=3.8-stable 




Let me build it with 0.5.7.2

Regards,
  Laszlo

On 2019. 10. 07. 10:45, Stephan Bosch via dovecot wrote:



On 07/10/2019 10:17, Demonhost via dovecot wrote:

Hi Stephan,

Here it is:



We still can't reproduce it here.

First of all, did you update Pigeonhole along with Dovecot? This kind 
of weirdness can happen when Pigeonhole was compiled against a 
different version of Dovecot. You could compile Pigeonhole manually 
as well to make sure, which also gives you the opportunity to get 
debug symbols for Pigeonhole as well.


Do you also have your configuration for me (output from `dovecot -n`) ?

Also, can you issue in GDB after it crashed (as you did `bt full` 
before):


f 1
p src

Regards,

Stephan.



Program received signal SIGSEGV, Segmentation fault.
p_strdup (pool=pool@entry=0x5579bc20, str=0x6d65642e6c69616d 
) at 
strfuncs.c:51

51  strfuncs.c: No such file or directory.
(gdb) bt full
#0  p_strdup (pool=pool@entry=0x5579bc20, str=0x6d65642e6c69616d 
) at 
strfuncs.c:51

    mem = 
    len = 
#1  0x7757dd1a in ssl_iostream_settings_init_from 
(pool=pool@entry=0x5579bc20, dest=dest@entry=0x5579bcf8, 
src=0x55764038) at iostream-ssl.c:298

    offset = 0
    src_str = 0x55764038
    dest_str = 0x5579bcf8
#2  0x77522545 in smtp_submit_session_init 
(input=0x55764008, set=0x7fffe378) at smtp-submit.c:84

    pool = 0x5579bc20
#3  0x7752265a in smtp_submit_init_simple (input=out>, set=, mail_from=0x55759b80) at 
smtp-submit.c:134

    session = 
    subm = 0x0
#4  0x7687e923 in ?? () from 
/usr/lib/dovecot/lib90_sieve_plugin.so

No symbol table info available.
#5  0x765fe761 in sieve_smtp_start () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#6  0x765fe869 in sieve_smtp_start_single () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#7  0x7661c71e in ?? () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#8  0x7660e8a8 in ?? () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#9  0x766100d1 in sieve_result_execute () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#10 0x7661e9fc in ?? () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#11 0x7661f638 in sieve_multiscript_run () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#12 0x7687f7cb in ?? () from 
/usr/lib/dovecot/lib90_sieve_plugin.so

No symbol table info available.
#13 0x77b69960 in mail_deliver (ctx=0x7fffe9e0, 
storage_r=0x7fffe9a8) at mail-deliver.c:498

    muser = 0x55777ef8
    ret = 
    __func__ = "mail_deliver"
#14 0x6fd2 in lda_deliver (stderr_rejection=false, 
rcpt_to_source=, rcpt_to=, 
path=, user=,

    service_user=, ctx=0x7fffe9e0) at main.c:253
    storage = 0x0
    errstr = 0x0
    ret = 
    var_table = 
    lda_set = 
    smtp_set = 
#15 main (argc=, argv=) at main.c:517
    t = 0x0
    box = 0x0
    set_roots = {0x55758ae0 
, 0x55758a80 
, 0x0}
    ctx = {pool = 0x55759b40, set = 0x55764078, smtp_set 
= 0x55764008, session = 0x55759b68, session_time_msecs = 0, 
delivery_time_started = {

---Type  to continue, or q  to quit---
    tv_sec = 1570435973, tv_usec = 126295}, dup_db = 
0x5578e040, session_id = 0x0, src_mail = 0x55790c68, 
mail_from = 0x55759b80, mail_params = {
    auth = 0x0, body = {type = 
SMTP_PARAM_MAIL_BODY_TYPE_UNSPECIFIED, ext = 0x0}, envid = 0x0, ret 
= SMTP_PARAM_MAIL_RET_UNSPECIFIED, size = 0, extra_params = {
  arr = {buffer = 0x0, element_size = 0}, v = 0x0, 
v_modifiable = 0x0}}, rcpt_to = 0x55759bb0, rcpt_params = {orcpt 
= {addr_type = 0x0,
  addr = 0x55759bb0, addr_raw = 0x0}, notify = 
SMTP_PARAM_RCPT_NOTIFY_UNSPECIFIED, extra_params = {arr = {buffer = 
0x0, element_size = 0}, v = 0x0,
  v_modifiable = 0x0}}, rcpt_user = 0x55777168, 
rcpt_default_mailbox = 0x763f "INBOX", dest_mail = 0x0, 
cache = 0x0, tempfail_error = 0x0,
  tried_default_save = false, saved_mail = false, 
save_dest_mail = false, mailbox_full = false, dsn = false}

    service_flags = 
    user = 
    errstr = 0x0
    path = 0x0
    rcpt_to = 0x0
    final_rcpt_to = 0x0
    mail_from = 0x55759b80
    storage_service = 0x77d6c5a8
    

Re: Sieve redirect is broken in 2.3.7.2 - signal 11

2019-10-07 Thread Demonhost via dovecot

That's a good thought.

I'm building from the alpine repo and I indeed see pigeonhole is 0.5.5

https://git.alpinelinux.org/aports/tree/main/dovecot/APKBUILD?h=3.8-stable


Let me build it with 0.5.7.2

Regards,
  Laszlo

On 2019. 10. 07. 10:45, Stephan Bosch via dovecot wrote:



On 07/10/2019 10:17, Demonhost via dovecot wrote:

Hi Stephan,

Here it is:



We still can't reproduce it here.

First of all, did you update Pigeonhole along with Dovecot? This kind 
of weirdness can happen when Pigeonhole was compiled against a 
different version of Dovecot. You could compile Pigeonhole manually as 
well to make sure, which also gives you the opportunity to get debug 
symbols for Pigeonhole as well.


Do you also have your configuration for me (output from `dovecot -n`) ?

Also, can you issue in GDB after it crashed (as you did `bt full` 
before):


f 1
p src

Regards,

Stephan.



Program received signal SIGSEGV, Segmentation fault.
p_strdup (pool=pool@entry=0x5579bc20, str=0x6d65642e6c69616d 
) at 
strfuncs.c:51

51  strfuncs.c: No such file or directory.
(gdb) bt full
#0  p_strdup (pool=pool@entry=0x5579bc20, str=0x6d65642e6c69616d 
) at 
strfuncs.c:51

    mem = 
    len = 
#1  0x7757dd1a in ssl_iostream_settings_init_from 
(pool=pool@entry=0x5579bc20, dest=dest@entry=0x5579bcf8, 
src=0x55764038) at iostream-ssl.c:298

    offset = 0
    src_str = 0x55764038
    dest_str = 0x5579bcf8
#2  0x77522545 in smtp_submit_session_init 
(input=0x55764008, set=0x7fffe378) at smtp-submit.c:84

    pool = 0x5579bc20
#3  0x7752265a in smtp_submit_init_simple (input=out>, set=, mail_from=0x55759b80) at 
smtp-submit.c:134

    session = 
    subm = 0x0
#4  0x7687e923 in ?? () from 
/usr/lib/dovecot/lib90_sieve_plugin.so

No symbol table info available.
#5  0x765fe761 in sieve_smtp_start () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#6  0x765fe869 in sieve_smtp_start_single () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#7  0x7661c71e in ?? () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#8  0x7660e8a8 in ?? () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#9  0x766100d1 in sieve_result_execute () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#10 0x7661e9fc in ?? () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#11 0x7661f638 in sieve_multiscript_run () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#12 0x7687f7cb in ?? () from 
/usr/lib/dovecot/lib90_sieve_plugin.so

No symbol table info available.
#13 0x77b69960 in mail_deliver (ctx=0x7fffe9e0, 
storage_r=0x7fffe9a8) at mail-deliver.c:498

    muser = 0x55777ef8
    ret = 
    __func__ = "mail_deliver"
#14 0x6fd2 in lda_deliver (stderr_rejection=false, 
rcpt_to_source=, rcpt_to=, 
path=, user=,

    service_user=, ctx=0x7fffe9e0) at main.c:253
    storage = 0x0
    errstr = 0x0
    ret = 
    var_table = 
    lda_set = 
    smtp_set = 
#15 main (argc=, argv=) at main.c:517
    t = 0x0
    box = 0x0
    set_roots = {0x55758ae0 
, 0x55758a80 
, 0x0}
    ctx = {pool = 0x55759b40, set = 0x55764078, smtp_set 
= 0x55764008, session = 0x55759b68, session_time_msecs = 0, 
delivery_time_started = {

---Type  to continue, or q  to quit---
    tv_sec = 1570435973, tv_usec = 126295}, dup_db = 
0x5578e040, session_id = 0x0, src_mail = 0x55790c68, 
mail_from = 0x55759b80, mail_params = {
    auth = 0x0, body = {type = 
SMTP_PARAM_MAIL_BODY_TYPE_UNSPECIFIED, ext = 0x0}, envid = 0x0, ret = 
SMTP_PARAM_MAIL_RET_UNSPECIFIED, size = 0, extra_params = {
  arr = {buffer = 0x0, element_size = 0}, v = 0x0, 
v_modifiable = 0x0}}, rcpt_to = 0x55759bb0, rcpt_params = {orcpt 
= {addr_type = 0x0,
  addr = 0x55759bb0, addr_raw = 0x0}, notify = 
SMTP_PARAM_RCPT_NOTIFY_UNSPECIFIED, extra_params = {arr = {buffer = 
0x0, element_size = 0}, v = 0x0,
  v_modifiable = 0x0}}, rcpt_user = 0x55777168, 
rcpt_default_mailbox = 0x763f "INBOX", dest_mail = 0x0, cache 
= 0x0, tempfail_error = 0x0,
  tried_default_save = false, saved_mail = false, 
save_dest_mail = false, mailbox_full = false, dsn = false}

    service_flags = 
    user = 
    errstr = 0x0
    path = 0x0
    rcpt_to = 0x0
    final_rcpt_to = 0x0
    mail_from = 0x55759b80
    storage_service = 0x77d6c5a8
    service_user = 0x55763198
    service_input = {parent_event = 0x0, module = 0x763b 
"lda", service = 0x763b "lda", username = 0x77832f31 
"testaaa...@x.xx",
 

Re: Sieve redirect is broken in 2.3.7.2 - signal 11

2019-10-07 Thread Stephan Bosch via dovecot




On 07/10/2019 10:17, Demonhost via dovecot wrote:

Hi Stephan,

Here it is:



We still can't reproduce it here.

First of all, did you update Pigeonhole along with Dovecot? This kind of 
weirdness can happen when Pigeonhole was compiled against a different 
version of Dovecot. You could compile Pigeonhole manually as well to 
make sure, which also gives you the opportunity to get debug symbols for 
Pigeonhole as well.


Do you also have your configuration for me (output from `dovecot -n`) ?

Also, can you issue in GDB after it crashed (as you did `bt full` before):

f 1
p src

Regards,

Stephan.



Program received signal SIGSEGV, Segmentation fault.
p_strdup (pool=pool@entry=0x5579bc20, str=0x6d65642e6c69616d 
) at 
strfuncs.c:51

51  strfuncs.c: No such file or directory.
(gdb) bt full
#0  p_strdup (pool=pool@entry=0x5579bc20, str=0x6d65642e6c69616d 
) at 
strfuncs.c:51

    mem = 
    len = 
#1  0x7757dd1a in ssl_iostream_settings_init_from 
(pool=pool@entry=0x5579bc20, dest=dest@entry=0x5579bcf8, 
src=0x55764038) at iostream-ssl.c:298

    offset = 0
    src_str = 0x55764038
    dest_str = 0x5579bcf8
#2  0x77522545 in smtp_submit_session_init 
(input=0x55764008, set=0x7fffe378) at smtp-submit.c:84

    pool = 0x5579bc20
#3  0x7752265a in smtp_submit_init_simple (input=out>, set=, mail_from=0x55759b80) at smtp-submit.c:134

    session = 
    subm = 0x0
#4  0x7687e923 in ?? () from 
/usr/lib/dovecot/lib90_sieve_plugin.so

No symbol table info available.
#5  0x765fe761 in sieve_smtp_start () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#6  0x765fe869 in sieve_smtp_start_single () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#7  0x7661c71e in ?? () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#8  0x7660e8a8 in ?? () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#9  0x766100d1 in sieve_result_execute () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#10 0x7661e9fc in ?? () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#11 0x7661f638 in sieve_multiscript_run () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#12 0x7687f7cb in ?? () from 
/usr/lib/dovecot/lib90_sieve_plugin.so

No symbol table info available.
#13 0x77b69960 in mail_deliver (ctx=0x7fffe9e0, 
storage_r=0x7fffe9a8) at mail-deliver.c:498

    muser = 0x55777ef8
    ret = 
    __func__ = "mail_deliver"
#14 0x6fd2 in lda_deliver (stderr_rejection=false, 
rcpt_to_source=, rcpt_to=, 
path=, user=,

    service_user=, ctx=0x7fffe9e0) at main.c:253
    storage = 0x0
    errstr = 0x0
    ret = 
    var_table = 
    lda_set = 
    smtp_set = 
#15 main (argc=, argv=) at main.c:517
    t = 0x0
    box = 0x0
    set_roots = {0x55758ae0 , 
0x55758a80 , 0x0}
    ctx = {pool = 0x55759b40, set = 0x55764078, smtp_set = 
0x55764008, session = 0x55759b68, session_time_msecs = 0, 
delivery_time_started = {

---Type  to continue, or q  to quit---
    tv_sec = 1570435973, tv_usec = 126295}, dup_db = 
0x5578e040, session_id = 0x0, src_mail = 0x55790c68, mail_from 
= 0x55759b80, mail_params = {
    auth = 0x0, body = {type = 
SMTP_PARAM_MAIL_BODY_TYPE_UNSPECIFIED, ext = 0x0}, envid = 0x0, ret = 
SMTP_PARAM_MAIL_RET_UNSPECIFIED, size = 0, extra_params = {
  arr = {buffer = 0x0, element_size = 0}, v = 0x0, 
v_modifiable = 0x0}}, rcpt_to = 0x55759bb0, rcpt_params = {orcpt = 
{addr_type = 0x0,
  addr = 0x55759bb0, addr_raw = 0x0}, notify = 
SMTP_PARAM_RCPT_NOTIFY_UNSPECIFIED, extra_params = {arr = {buffer = 
0x0, element_size = 0}, v = 0x0,
  v_modifiable = 0x0}}, rcpt_user = 0x55777168, 
rcpt_default_mailbox = 0x763f "INBOX", dest_mail = 0x0, cache 
= 0x0, tempfail_error = 0x0,
  tried_default_save = false, saved_mail = false, 
save_dest_mail = false, mailbox_full = false, dsn = false}

    service_flags = 
    user = 
    errstr = 0x0
    path = 0x0
    rcpt_to = 0x0
    final_rcpt_to = 0x0
    mail_from = 0x55759b80
    storage_service = 0x77d6c5a8
    service_user = 0x55763198
    service_input = {parent_event = 0x0, module = 0x763b 
"lda", service = 0x763b "lda", username = 0x77832f31 
"testaaa...@x.xx",
  session_id = 0x0, session_id_prefix = 0x0, 
session_create_time = 0, local_ip = {family = 0, u = {ip6 = 
{__in6_union = {__s6_addr = '\000' ,
  __s6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __s6_addr32 
= {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, remote_ip = {family = 0, u = 

Re: Sieve redirect is broken in 2.3.7.2 - signal 11

2019-10-07 Thread Demonhost via dovecot

Sorry, I figured some is still missing. Here is the updated one

Program received signal SIGSEGV, Segmentation fault.
p_strdup (pool=pool@entry=0x5579bc40, str=0x6d65642e6c69616d Cannot access memory at address 0x6d65642e6c69616d>) at strfuncs.c:51

51  strfuncs.c: No such file or directory.
(gdb) bt full
#0  p_strdup (pool=pool@entry=0x5579bc40, str=0x6d65642e6c69616d 
) at 
strfuncs.c:51

    mem = 
    len = 
#1  0x7757dd1a in ssl_iostream_settings_init_from 
(pool=pool@entry=0x5579bc40, dest=dest@entry=0x5579bd18, 
src=0x55763ef8) at iostream-ssl.c:298

    offset = 0
    src_str = 0x55763ef8
    dest_str = 0x5579bd18
#2  0x77522545 in smtp_submit_session_init 
(input=0x55763ec8, set=set@entry=0x7fffe368) at smtp-submit.c:84

    pool = 0x5579bc40
#3  0x7752265a in smtp_submit_init_simple (input=out>, set=set@entry=0x7fffe368, 
mail_from=mail_from@entry=0x55759ba0) at smtp-submit.c:134

    session = 
    subm = 0x0
#4  0x7687e923 in lda_sieve_smtp_start (senv=, 
mail_from=0x55759ba0) at lda-sieve-plugin.c:86

    dctx = 0x7fffe9d0
    user = 0x55776b28
    ssl_set = {min_protocol = 0x55763de8 "TLSv1", cipher_list = 
0x55763dc0 "ALL:!LOW:!SSLv2:!EXP:!aNULL", curve_list = 
0x55763de0 "", ca = 0x0,
  ca_file = 0x0, ca_dir = 0x0, cert = {cert = 0x0, key = 0x0, 
key_password = 0x0}, alt_cert = {cert = 0x0, key = 0x0, key_password = 
0x0}, dh = 0x0,
  cert_username_field = 0x0, crypto_device = 0x55763df0 "", 
verbose = false, verbose_invalid_cert = false, skip_crl_check = false,
  verify_remote_cert = true, allow_invalid_cert = false, 
prefer_server_ciphers = false, compression = false, tickets = false}
#5  0x765fe761 in sieve_smtp_start (senv=0x7fffe7d0, 
mail_from=0x55759ba0) at sieve-smtp.c:33

    handle = 
#6  0x765fe869 in sieve_smtp_start_single 
(senv=senv@entry=0x7fffe7d0, rcpt_to=0x557a0240, 
mail_from=,

    output_r=output_r@entry=0x7fffe4d0) at sieve-smtp.c:68
    sctx = 
#7  0x7661c71e in act_redirect_send (new_msg_id=0x5575de88 
"", ctx=0x557a0238, 
mail=0x5578f8a8,

    aenv=0x557a00d0) at cmd-redirect.c:339
    output = 0x38
    svinst = 0x55796028
    msgctx = 0x55799d00
    senv = 0x7fffe7d0
    sctx = 
    ret = 
    env_from = {type = SIEVE_ADDRESS_SOURCE_DEFAULT, address = 0x0}
    input = 0x5579a1a0
    sender = 0x55759ba0
    error = 0x775063a3 <__x86_return_thunk+5> 
"\363\220\017\256\350\353\371H\215d$\b\303\350\a"
    hide_headers = {0x766497aa "Return-Path", 0x7664edf7 
"X-Sieve", 0x7664fbb6 "X-Sieve-Redirected-From"}
    hide_headers = {0x766497aa "Return-Path", 0x7664edf7 
"X-Sieve", 0x7664fbb6 "X-Sieve-Redirected-From"}
#8  act_redirect_commit (action=, aenv=0x557a00d0, 
tr_context=, keep=0x7fffe557) at cmd-redirect.c:486

    svinst = 0x55796028
    ctx = 0x557a0238
    msgctx = 
    mail = 0x5578f8a8
    msgdata = 
    senv = 0x7fffe7d0
    recipient = 0x55759bd0
    msg_id = 
    new_msg_id = 0x5575de88 
""

    dupeid = 
    resent_id = 0x0
    list_id = 0x0
#9  0x7660e8a8 in sieve_result_action_commit 
(impl_keep=0x7fffe557, rac=0x557a0270, result=0x557a00a8) at 
sieve-result.c:1208

    act = 0x557a0270
    rsef = 
    cstatus = 1
#10 sieve_result_action_commit_or_rollback 
(result=result@entry=0x557a00a8, rac=rac@entry=0x557a0270, 
status=,
    implicit_keep=implicit_keep@entry=0x7fffe5b3, 
keep=keep@entry=0x557a0224, 
commit_status=commit_status@entry=0x7fffe5b4) at sieve-result.c:1269

    impl_keep = true
    cstatus = 1
    act = 0x557a0270
#11 0x766100d1 in sieve_result_transaction_commit_or_rollback 
(keep=0x557a0224, implicit_keep=0x7fffe5b3, last=0x0, 
first=0x557a0270,

    status=, result=0x557a00a8) at sieve-result.c:1343
    act = 0x557a0270
    rac = 0x557a0270
    commit_status = 1
    seen_delivery = false
#12 sieve_result_execute (result=0x557a00a8, 
keep=keep@entry=0x557a0224, ehandler=, 
flags=) at sieve-result.c:1422

    status = 
    result_status = 
    first_action = 0x557a0270
    last_action = 0x0
    implicit_keep = true
    ret = 
#13 0x7661e9fc in sieve_multiscript_execute 
(mscript=0x557a0200, ehandler=, flags=out>, keep=0x557a0224) at sieve.c:685

No locals.
#14 0x7661f638 in sieve_multiscript_run 
(mscript=mscript@entry=0x557a0200, sbin=, 
exec_ehandler=exec_ehandler@entry=0x5578f568,
    action_ehandler=0x557a6d48, 
flags=flags@entry=SIEVE_EXECUTE_FLAG_NOGLOBAL) at sieve.c:714

No locals.
#15 0x7687f7cb in 

Re: Sieve redirect is broken in 2.3.7.2 - signal 11

2019-10-07 Thread Demonhost via dovecot

Hi Stephan,

Here it is:

Program received signal SIGSEGV, Segmentation fault.
p_strdup (pool=pool@entry=0x5579bc20, str=0x6d65642e6c69616d Cannot access memory at address 0x6d65642e6c69616d>) at strfuncs.c:51

51  strfuncs.c: No such file or directory.
(gdb) bt full
#0  p_strdup (pool=pool@entry=0x5579bc20, str=0x6d65642e6c69616d 
) at 
strfuncs.c:51

    mem = 
    len = 
#1  0x7757dd1a in ssl_iostream_settings_init_from 
(pool=pool@entry=0x5579bc20, dest=dest@entry=0x5579bcf8, 
src=0x55764038) at iostream-ssl.c:298

    offset = 0
    src_str = 0x55764038
    dest_str = 0x5579bcf8
#2  0x77522545 in smtp_submit_session_init 
(input=0x55764008, set=0x7fffe378) at smtp-submit.c:84

    pool = 0x5579bc20
#3  0x7752265a in smtp_submit_init_simple (input=out>, set=, mail_from=0x55759b80) at smtp-submit.c:134

    session = 
    subm = 0x0
#4  0x7687e923 in ?? () from /usr/lib/dovecot/lib90_sieve_plugin.so
No symbol table info available.
#5  0x765fe761 in sieve_smtp_start () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#6  0x765fe869 in sieve_smtp_start_single () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#7  0x7661c71e in ?? () from /usr/lib/dovecot/libdovecot-sieve.so.0
No symbol table info available.
#8  0x7660e8a8 in ?? () from /usr/lib/dovecot/libdovecot-sieve.so.0
No symbol table info available.
#9  0x766100d1 in sieve_result_execute () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#10 0x7661e9fc in ?? () from /usr/lib/dovecot/libdovecot-sieve.so.0
No symbol table info available.
#11 0x7661f638 in sieve_multiscript_run () from 
/usr/lib/dovecot/libdovecot-sieve.so.0

No symbol table info available.
#12 0x7687f7cb in ?? () from /usr/lib/dovecot/lib90_sieve_plugin.so
No symbol table info available.
#13 0x77b69960 in mail_deliver (ctx=0x7fffe9e0, 
storage_r=0x7fffe9a8) at mail-deliver.c:498

    muser = 0x55777ef8
    ret = 
    __func__ = "mail_deliver"
#14 0x6fd2 in lda_deliver (stderr_rejection=false, 
rcpt_to_source=, rcpt_to=, path=out>, user=,

    service_user=, ctx=0x7fffe9e0) at main.c:253
    storage = 0x0
    errstr = 0x0
    ret = 
    var_table = 
    lda_set = 
    smtp_set = 
#15 main (argc=, argv=) at main.c:517
    t = 0x0
    box = 0x0
    set_roots = {0x55758ae0 , 
0x55758a80 , 0x0}
    ctx = {pool = 0x55759b40, set = 0x55764078, smtp_set = 
0x55764008, session = 0x55759b68, session_time_msecs = 0, 
delivery_time_started = {

---Type  to continue, or q  to quit---
    tv_sec = 1570435973, tv_usec = 126295}, dup_db = 
0x5578e040, session_id = 0x0, src_mail = 0x55790c68, mail_from = 
0x55759b80, mail_params = {
    auth = 0x0, body = {type = 
SMTP_PARAM_MAIL_BODY_TYPE_UNSPECIFIED, ext = 0x0}, envid = 0x0, ret = 
SMTP_PARAM_MAIL_RET_UNSPECIFIED, size = 0, extra_params = {
  arr = {buffer = 0x0, element_size = 0}, v = 0x0, 
v_modifiable = 0x0}}, rcpt_to = 0x55759bb0, rcpt_params = {orcpt = 
{addr_type = 0x0,
  addr = 0x55759bb0, addr_raw = 0x0}, notify = 
SMTP_PARAM_RCPT_NOTIFY_UNSPECIFIED, extra_params = {arr = {buffer = 0x0, 
element_size = 0}, v = 0x0,
  v_modifiable = 0x0}}, rcpt_user = 0x55777168, 
rcpt_default_mailbox = 0x763f "INBOX", dest_mail = 0x0, cache = 
0x0, tempfail_error = 0x0,
  tried_default_save = false, saved_mail = false, 
save_dest_mail = false, mailbox_full = false, dsn = false}

    service_flags = 
    user = 
    errstr = 0x0
    path = 0x0
    rcpt_to = 0x0
    final_rcpt_to = 0x0
    mail_from = 0x55759b80
    storage_service = 0x77d6c5a8
    service_user = 0x55763198
    service_input = {parent_event = 0x0, module = 0x763b 
"lda", service = 0x763b "lda", username = 0x77832f31 
"testaaa...@x.xx",
  session_id = 0x0, session_id_prefix = 0x0, 
session_create_time = 0, local_ip = {family = 0, u = {ip6 = {__in6_union 
= {__s6_addr = '\000' ,
  __s6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __s6_addr32 = 
{0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, remote_ip = {family = 0, u = {ip6 
= {__in6_union = {
  __s6_addr = '\000' , __s6_addr16 = 
{0, 0, 0, 0, 0, 0, 0, 0}, __s6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 
0}}}, local_port = 0,
  remote_port = 0, userdb_fields = 0x0, flags_override_add = 
(unknown: 0), flags_override_remove = (unknown: 0), no_userdb_lookup = 
false, debug = false,

  conn_secured = false, conn_ssl_secured = false}
    user_source = 
    rcpt_to_source = 
    process_euid = 
    stderr_rejection = false
    ret = 
    c = 

On 2019.