Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-enable FTS when it proves stable #751

Closed
bilyboy785 opened this issue Dec 15, 2018 · 12 comments
Closed

Re-enable FTS when it proves stable #751

bilyboy785 opened this issue Dec 15, 2018 · 12 comments
Assignees
Labels
type/feature Introduces a new feature

Comments

@bilyboy785
Copy link

Hello,

I've got some problem with my Mailu. All is ok, and then roundcube respond 504 Gateway Timeout, email not comes. I've got theses errors in docker-compose logs :

imap         | Dec 15 19:46:54 indexer: Error: Indexer worker disconnected, discarding 1 requests for contact@{domain.tld}
imap         | Dec 15 19:46:54 indexer-worker(contact@{domain.tld})<273></nlTsxR9DMesEgAJ:MLmnFL1YFVwRAQAAJV66Xw>: Fatal: master: service(indexer-worker): child 273 killed with signal 11 (core not dumped - https://dovecot.org/bugreport.html#coredumps - set /proc/sys/fs/suid_dumpable to 2)
imap         | Dec 15 19:50:11 Error: imap(contact@{mydomain})<392><593fyBR95sisEgAJ>: Timeout (180s) while waiting for lock for transaction log file /mail/contact@{mydomain}/dovecot.index.log (WRITE lock held by pid 236)
imap         | Dec 15 19:50:11 imap(contact@{mydomain})<392><593fyBR95sisEgAJ>: Info: Connection closed (UID store finished 180.001 secs ago) in=442 out=153559 deleted=0 expunged=0 trashed=0 hdr_count=22 hdr_bytes=9557 body_count=0 body_bytes=0

i'm on Master.

If i docker-compose restart, it's OK but each message is received in quadruple

@ofthesun9
Copy link
Contributor

Hello, where do you store your mailu data. Locally ? on a remote share ? (I had similar issues with an NFS share)

@bilyboy785
Copy link
Author

I use local storage on Scaleway Instance.
I rollback to 1.5 and now all is OK... strange, i’ve got another mailu on master, with 8 domains : NO PROBLEMS.

@muhlemmer
Copy link
Member

It seems that the Log file is locked by another process or a lock that remained in place from a crash or improper shutdown? It would be interesting to know what PID 236 and if it is still running?

@muhlemmer muhlemmer self-assigned this Dec 18, 2018
@muhlemmer muhlemmer added priority/p0 Critical bug without workaround / Must have type/bug Bug. Not working as intended labels Dec 18, 2018
@muhlemmer
Copy link
Member

@bilyboy785:

  • Scaleway as in https://www.scaleway.com/?
  • This would mean a Virtual machine on NVME storage?
  • Do you have any override configuration on Dovecot? Please share if so.

Tomorrow I'll try to create core dumps and trace backs to submit a report upstream. Would be helpful to make sure if it deployment related or agnostic.

@muhlemmer
Copy link
Member

I can confirm on my test server. Fresh install, empty mailbox and no exotic filesystem. When sending the first mail to the server it crashed the worker with:

Dec 19 14:52:46 lmtp(admin@usrpro.io)<479><tB6ZJD5bGlzfAQAAaHleug>: Info: sieve: msgid=<adbc2da7-0ef6-f2ad-d4f5-439e32cb1379@usrpro.io>: stored mail into mailbox 'INBOX'
imap_1       | Dec 19 14:52:46 lmtp(479): Info: Disconnect from 192.168.203.10: Client has quit the connection (state = READY)
imap_1       | Dec 19 14:52:46 indexer-worker(admin@usrpro.io)<485><FtJIJ2F9nKPAqMsG:ewjsLj5bGlzlAQAAaHleug>: Fatal: master: service(indexer-worker): child 485 killed with signal 11 (core not dumped - https://dovecot.org/bugreport.html#coredumps - set /proc/sys/fs/suid_dumpable to 2)
imap_1       | Dec 19 14:52:46 indexer: Error: Indexer worker disconnected, discarding 2 requests for admin@usrpro.io
imap_1       | Dec 19 14:52:46 pop3-login: Info: Aborted login (no auth attempts in 0 secs): user=<>, rip=127.0.0.1, lip=127.0.0.1, secured, session=<9G/LKmF9u6x/AAAB>
imap_1       | Dec 19 14:52:46 imap(admin@usrpro.io)<466><FtJIJ2F9nKPAqMsG>: Info: Connection closed (IDLE running for 0.001 + waiting input for 0.001 secs, 2 B in + 10 B out, state=wait-input) in=2483 out=1904 deleted=0 expunged=0 trashed=0 hdr_count=0 hdr_bytes=0 body_count=0 body_bytes=0

@muhlemmer muhlemmer changed the title 504 Gateway Timeout on Roundcube Fatal: master: service(indexer-worker): child 485 killed with signal 11 Dec 19, 2018
@muhlemmer muhlemmer changed the title Fatal: master: service(indexer-worker): child 485 killed with signal 11 [Dovecot] Fatal: master: service(indexer-worker): child 485 killed with signal 11 Dec 19, 2018
@muhlemmer

This comment has been minimized.

@muhlemmer

This comment has been minimized.

@muhlemmer
Copy link
Member

muhlemmer added a commit to usrpro/Mailu that referenced this issue Dec 25, 2018
Workaround for bug in issue Mailu#751
muhlemmer added a commit to usrpro/Mailu that referenced this issue Dec 25, 2018
This is a workaround for the bug in issue Mailu#751
@muhlemmer
Copy link
Member

See #775. Furthermore I would like add some info (as discussed on matrix earlier this week).

On systems that are affected by this bug, the crashing indexer-worker sometimes leaves index files corrupted. This slowly kills the imap server to the point where login is no longer possible. To fix this condition you need to delete the index files and restart the imap container to force client re-login.

sudo find /mailu/mail -name "dovecot.index*" -exec rm -v {} +
docker-compose restart imap

The index files will be re-generated by Dovecot.

@Nebukadneza
Copy link
Member

Since this issue is part of the milestone 1.6, and @HorayNarea just removed FTS to increase stability of the upcoming 1.6 release … shall we take this issue out of 1.6, or close it in favor of one that describes getting clucene working and back in?

@muhlemmer muhlemmer changed the title [Dovecot] Fatal: master: service(indexer-worker): child 485 killed with signal 11 Re-enable FTS when it proves stable Jan 11, 2019
@muhlemmer muhlemmer added type/feature Introduces a new feature and removed priority/p0 Critical bug without workaround / Must have type/bug Bug. Not working as intended labels Jan 11, 2019
@muhlemmer muhlemmer removed this from the 1.6 milestone Jan 11, 2019
@frzme
Copy link

frzme commented May 14, 2019

A potential option might be to go for fts-solr, according to the docs it's more stable than fts-lucense (see https://wiki.dovecot.org/Plugins/FTS/Lucene )

bors bot added a commit that referenced this issue Feb 1, 2020
1320: Add xapian full-text-search plugin to dovecot r=mergify[bot] a=Nebukadneza

## What type of PR?
Enhancement

## What does this PR do?
Currently we are not able to offer our users a FTS experience after the
demise of lucene due to unfixed coredumps with musl/alpine.
We now add lucene, the only remaining maintained small/lean FTS plugin
for dovecot. It is quite simple to add to our stack: A two-stage docker
build is used to compile the fts plugin in the first stage, and copy
over only the resulting plugin-artifact to the second stage, which is
our usual dovecot container. Configuration is also minimal.

There was a upstream issue where bodies were not able to be searched for subwords, but fortunately it was fixed quite quickly. We currently need to wait for a new release to use a stable tag in our `Dockerfile`.

### Related issue(s)
- #1176
- #1297
- #751
- **Upstream-issues which is the cause for the `TODO` in the `Dockerfile`**: grosjo/fts-xapian#32

## Prerequistes
- [ ] Wait for upstream to prepare new release after grosjo/fts-xapian#32 — so that we can use a stable tag in our `Dockerfile`
- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Dario Ernst <dario@kanojo.de>
bors bot added a commit that referenced this issue Mar 10, 2020
1320: Add xapian full-text-search plugin to dovecot r=mergify[bot] a=Nebukadneza

## What type of PR?
Enhancement

## What does this PR do?
Currently we are not able to offer our users a FTS experience after the
demise of lucene due to unfixed coredumps with musl/alpine.
We now add lucene, the only remaining maintained small/lean FTS plugin
for dovecot. It is quite simple to add to our stack: A two-stage docker
build is used to compile the fts plugin in the first stage, and copy
over only the resulting plugin-artifact to the second stage, which is
our usual dovecot container. Configuration is also minimal.

There was a upstream issue where bodies were not able to be searched for subwords, but fortunately it was fixed quite quickly. We currently need to wait for a new release to use a stable tag in our `Dockerfile`.

### Related issue(s)
- #1176
- #1297
- #751
- **Upstream-issues which is the cause for the `TODO` in the `Dockerfile`**: grosjo/fts-xapian#32

## Prerequistes
- [ ] Wait for upstream to prepare new release after grosjo/fts-xapian#32 — so that we can use a stable tag in our `Dockerfile`
- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Dario Ernst <dario@kanojo.de>
Co-authored-by: Dario Ernst <dario.ernst@rommelag.com>
@Nebukadneza
Copy link
Member

In #1320 , we added a FTS again. Thus, closing this as finished.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/feature Introduces a new feature
Projects
None yet
Development

No branches or pull requests

5 participants