Error: fts_solr: received invalid uid (John Fawcett)

oliver.krone at snoog.ch oliver.krone at snoog.ch
Mon Jan 3 00:18:23 UTC 2022


Hi John,

You are right this was not a dovecot solr query. It is really strange 
everything seems to work with Dovecot 2.3.4. E.g. search and  rebuilding 
index from scratch using doveadm. As soon as I use version  2.3.13 
things are getting wild: dovecot crashed when I re-scan the index using 
doveadm and search does not work anymore, after re-scan:

Panic: file http-client-request.c: line 1240 
(http_client_request_send_more): assertion failed: (req->payload_input 
!= NULL)
doveadm(krone at invectrix.ch): Error: Raw backtrace: 
/usr/lib/dovecot/libdovecot.so.0(backtrace_append+0x42) [0x7fc54cace4e2] 
-> /usr/lib/dovecot/libdovecot.so.0(backtrace_get+0x1e) [0x7fc54cace5fe] 
-> /usr/lib/dovecot/libdovecot.so.0(+0xfc49b) [0x7fc54cada49b] -> 
/usr/lib/dovecot/libdovecot.so.0(+0xfc4d1) [0x7fc54cada4d1] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x53aee) [0x7fc54ca31aee] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x4aec2) [0x7fc54ca28ec2] -> 
/usr/lib/dovecot/libdovecot.so.0(http_client_connection_output+0xee) 
[0x7fc54ca7ebde] -> /usr/lib/dovecot/libdovecot.so.0(+0x122171) 
[0x7fc54cb00171] -> 
/usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x69) [0x7fc54caeff59] 
-> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x132) 
[0x7fc54caf1592] -> 
/usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x50) 
[0x7fc54caf0000] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x40) 
[0x7fc54caf01c0] -> /usr/lib/dovecot/libdovecot.so.0(+0x9c4cd) 
[0x7fc54ca7a4cd] -> 
/usr/lib/dovecot/libdovecot.so.0(http_client_request_finish_payload+0x2c) 
[0x7fc54ca7a6dc] -> 
/usr/lib/dovecot/modules/lib20_fts_plugin.so(+0xf243) [0x7fc54c0a6243] 
-> /usr/lib/dovecot/modules/lib20_fts_plugin.so(fts_parser_more+0x25) 
[0x7fc54c0a5345] -> 
/usr/lib/dovecot/modules/lib20_fts_plugin.so(+0xbfcf) [0x7fc54c0a2fcf] 
-> /usr/lib/dovecot/modules/lib20_fts_plugin.so(fts_build_mail+0xa27) 
[0x7fc54c0a3a87] -> 
/usr/lib/dovecot/modules/lib20_fts_plugin.so(+0x11f0b) [0x7fc54c0a8f0b] 
-> /usr/lib/dovecot/libdovecot-storage.so.0(mail_precache+0x2e) 
[0x7fc54cbf14ae] -> doveadm(+0x3761f) [0x55d18bdbf61f] -> 
doveadm(+0x31bad) [0x55d18bdb9bad] -> doveadm(+0x32860) [0x55d18bdba860] 
-> doveadm(doveadm_cmd_ver2_to_mail_cmd_wrapper+0x22d) [0x55d18bdbb4ad] 
-> doveadm(doveadm_cmd_run_ver2+0x4c8) [0x55d18bdcbb88] -> 
doveadm(doveadm_cmd_try_run_ver2+0x3a) [0x55d18bdcbbda] -> 
doveadm(main+0x1d0) [0x55d18bdaa450] -> 
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea) [0x7fc54c69fd0a] 
-> doveadm(_start+0x2a) [0x55d18bdaa92a]

and solr:

2022-01-03 00:13:20.829 ERROR (qtp1991278377-21) [   x:dovecot] 
o.a.s.s.HttpSolrCall null:[com.ctc.wstx.exc.WstxLazyException] 
com.ctc.wstx.exc.WstxIOException: Early EOF

....

Caused by: org.eclipse.jetty.io.EofException: Early EOF
	at org.eclipse.jetty.server.HttpInput$3.getError(HttpInput.java:1143)
	at org.eclipse.jetty.server.HttpInput$3.noContent(HttpInput.java:1131)
	at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:318)

Seems like dovecot is sending an empty query?

Oliver

> 
> Hi Oliver
> 
> unless I'm missing something that doesn't look like the type of query
> dovecot launches - dovecot sends various parameters including the
> request for xml results. The thing that looks odd to me is that the
> results fields should be single values not arrays enclosed in [], ie I
> would have expected
> 
> "uid":21,
> 
> instead of
> 
> "uid":[21],
> 
> I'd be interested to see the equivalent xml output produced by running 
> a
> query that dovecot sends.
> 
> John
> 


More information about the dovecot mailing list