Closed iNPUTmice closed 7 years ago
Most probably cause of error: You haven't built Cyrus with Xapian support (--enable-xapian
) or haven't set it as search_engine in imapd.conf (see the search_engine
option).
JMAP mail, and especially getMessageList, requires Xapian but we haven't clearly documented that yet (sorry). Even more so, we haven't yet decided if JMAP should become optional, or Xapian a mandatory dependency for Cyrus in general (see https://github.com/cyrusimap/cyrus-imapd/issues/1847).
Does enabling Xapian resolve your issue?
Here is my imapd.conf
configdirectory: /var/imap
partition-default: /var/spool/imap
admins: cyrusadm cyrusadm@localdomain
sasl_pwcheck_method: auxprop
sasldb_path: /etc/sasldb2
sasl_mech_list: PLAIN LOGIN EXTERNAL
allowplaintext: yes
virtdomains: yes
defaultdomain: kepler
httpmodules: caldav jmap tzdist
search_engine: xapian
search_index_headers: no
search_batchsize: 8192
defaultpartition: default
defaultsearchtier: t1
t1searchpartition-default: /var/spool/search
conversations: on
conversations_db: twoskip
I invoked ./configure with the --enable-xapian flag (and it also appeared in the configure 'summary' in the search engine section.
Can I check if cyrus actually uses xapian with that configuration?
Edit: To keep up with what has been discussed on IRC.
conversations: on
to the config./var/spool/search
has data.squatter
runs through with what looks like sane output.You can check if Cyrus is built with Xapian by running
$ cyr_buildinfo flat | grep xapian
search.xapian=true
Although by your description it seems as if Xapian is properly built into Cyrus.
Do you have indexed messages, have you run squatter?
E.g. how does your xapian directory look like?
$ ls 1200461/search/c/user/cassandane/xapian/
cyrus.indexed.db flintlock iamglass position.glass postlist.glass termlist.glass
Since we happen to be in the same timezone, we can move this also to IRC. I'm rsto in channel #cyrus on irc://irc.freenode.net/cyrus
Newly created mailbox work fine after adding the conversations: on
config parameter.
Old mailboxes (that were created before adding the parameter) will still segfault httpd. Which I guess shouldn't happen :-)
Closing this one as no-fix. Let's see if this was a one-time hiccup due to a half-baked installation or will be a recurring thing.
Hi,
I have troubles getting JMAP to work on cyrus 3.0 (current HEAD)
Steps to reproduce:
getMailboxes
=> workscurl -X POST -H "Content-Type: application/json" -H "Accept: application/json" --user admin@ltt.rs:test -d '[["getMessageList", {}, "#1"]]' http://localhost:6000/jmap
=> segfaults with the log message bellow.So in summary; JMAP kinda works in general. For example call
getMailboxes
works. HowevergetMessageList
does not.Edit: Just to be clear. I can repeat that with newly created mailboxes as well. It's not just that one mailbox that's broken.