Hi Devs,
I experience reproducible crashes when searching in a virtual folder with fts-solr activated. The crashes occur only, if the folder contains a large number of mails and the result set of the search is also large. If the result set is small, no crash occurs. This happens on Debian Wheezy with versions 2.1.7 and 2.2.9.
My goal was it to setup the possibility for cross-folder fulltext search. Therefore dovecot was setup with fts-solr, which seems to work fine in most cases. A virtual folder "test" in a namespace "virtual" was created and configured to return all mails from all mailboxes in the default namespace (with empty prefix). It was configured like this:
/etc/dovecot/virtual/test/dovecot-virtual: * all
It's also reproducible with: INBOX all
The test user only has the standard mail folders (Sent, Drafts, Trash) beside the INBOX and of course the folder "virtual.test". INBOX contains about 10.000 mails, the other folders are empty. "virtual.test" correctly referrs to all mails of the INBOX. Searching within the INBOX returns the desired results without any problems. Performing the same search within "virtual.test" fails and dovecot crashes. However, if the result set is small, no crash occurs. My test mails are imported from the ubuntu mailing list. Therefore the term "ubuntu" produces a large result set. See attachments for further details, they all refer to the same crash, reproduced with version 2.2.9 (from the Debian Backports repository):
- config.txt: dovecot -n
- gdb_backtrace.txt: The gdb backtrace of the attached core dump
- log.txt: A logfile extract from the crash
- protocol_output.txt: The telnet session that caused the crash
Don't hesitate to ask for further details.
Thanks and best regards, Steffen