doveadm index crash/assert

Stephan Bosch stephan at rename-it.nl
Sun Jan 20 19:31:35 EET 2019



Op 02/01/2019 om 23:05 schreef Stephan Bosch:
>
> Op 02/01/2019 om 22:51 schreef Larry Rosenman:
>> https://www.lerctr.org/~ler/dovecot/doveadm-index-fts-debug.txt
>>
>> https://www.lerctr.org/~ler/dovecot/doveadm-index-fts-bt.txt
>>
>> I wish there was a way to set plugins {fts_solr = <blah>} from the 
>> command line :(
>>
>> but I turned it on globally for that run.
>
> Yeah, it is caused by the interaction between the solr and tika HTTP 
> clients in this case. The bug itself will require some care and 
> attention, but a quick fix should be provided by:
>
> diff --git a/src/plugins/fts-solr/solr-connection.c 
> b/src/plugins/fts-solr/solr-connection.c
> index 947ea76af..3389729d1 100644
> --- a/src/plugins/fts-solr/solr-connection.c
> +++ b/src/plugins/fts-solr/solr-connection.c
> @@ -156,7 +156,7 @@ int solr_connection_init(const char *url,
>                 http_set.request_timeout_msecs = 60*1000;
>                 http_set.ssl = ssl_client_set;
>                 http_set.debug = debug;
> -               solr_http_client = http_client_init(&http_set);
> +               solr_http_client = http_client_init_private(&http_set);
>         }
>
>         conn->xml_parser = XML_ParserCreate("UTF-8");
> diff --git a/src/plugins/fts/fts-parser-tika.c 
> b/src/plugins/fts/fts-parser-tika.c
> index a4b8b5c30..b8b57a350 100644
> --- a/src/plugins/fts/fts-parser-tika.c
> +++ b/src/plugins/fts/fts-parser-tika.c
> @@ -77,7 +77,7 @@ tika_get_http_client_url(struct mail_user *user, 
> struct http_url **http_url_r)
>                 http_set.request_timeout_msecs = 60*1000;
>                 http_set.ssl = &ssl_set;
>                 http_set.debug = user->mail_debug;
> -               tika_http_client = http_client_init(&http_set);
> +               tika_http_client = http_client_init_private(&http_set);
>         }
>         *http_url_r = tuser->http_url;
>         return 0;
>
> This will bluntly prevent sharing any state between Solr and Tika HTTP 
> clients, also across users (if there is more than one per mail process).

Internally tracked as DOP-850 (and DOP-834 for the underlying problem).

Regards,

Stephan.



More information about the dovecot mailing list