GNU bug report logs -
#73199
url-retrieve is not thread-safe
Previous Next
Reported by: Michael Albinus <michael.albinus <at> gmx.de>
Date: Thu, 12 Sep 2024 14:21:02 UTC
Severity: normal
Fixed in version 31.1
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hi Michael,
Michael Albinus writes:
> Forward to debbugs
>
> From: Michael Albinus <michael.albinus <at> gmx.de>
> Subject: soap-client; soap-invoke-internal is not thread-safe
> To: Alexandru Harsanyi <AlexHarsanyi <at> gmail.com>
> Date: Thu, 12 Sep 2024 15:57:45 +0200 (19 minutes, 24 seconds ago)
>
> In package debbugs, I try to use Emacs Lisp threads when retrieving SOAP
> data from the debbugs server. However, ocaasionally I run into the error
>
> --8<---------------cut here---------------start------------->8---
> (error "Attempt to accept output from process debbugs.gnu.org locked to thread #<thread 0xc288a0>")
> --8<---------------cut here---------------end--------------->8---
>
> My work around is to advice url-http-create-request
>
> --8<---------------cut here---------------start------------->8---
> (advice-add
> 'url-http-create-request :around
> (lambda (orig-fun)
> "Set `url-http-attempt-keepalives' to nil."
> (setq url-http-attempt-keepalives nil)
> (funcall orig-fun))
> '(name debbugs-advice))
> --8<---------------cut here---------------end--------------->8---
>
> However, it would be great if soap-invoke-internal could care.
I am not able to test Excorporate's usage of soap-client anymore to
check if a candidate patch would break anything. I will ask on
emacs-devel if anyone wants to take over maintenance of Excorporate and
its dependencies.
A starting point for adding thread safety would be a minimal test case
that calls soap-invoke-internal against the debbugs server from multiple
different threads. Are you able to extract such a test case?
If the resulting patch is obviously safe for single-threaded usage by
Excorporate, then I could push it to soap-client.el.
Thanks,
Thomas
This bug report was last modified 260 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.