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
Message #14 received at 73199 <at> debbugs.gnu.org (full text, mbox):
Thomas Fitzsimmons <fitzsim <at> fitzsim.org> writes:
> Hi Michael,
Hi Thomas,
sorry for the late reply, I was out of order for a week.
> 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?
Install the just-released debbugs 0.41. Open a new Emacs session, load
debbugs-gnu.
Deactivate the advice I have added to mitigate the problem.
--8<---------------cut here---------------start------------->8---
(defalias 'debbugs-compat-add-debbugs-advice 'ignore)
(defalias 'debbugs-compat-remove-debbugs-advice 'ignore)
--8<---------------cut here---------------end--------------->8---
Retrieve the most recent 10 bugs. This happens in the main thread.
--8<---------------cut here---------------start------------->8---
M-x debbugs-gnu-bugs RET RET
--8<---------------cut here---------------end--------------->8---
Retrieve the most recent 100 bugs. This happens in another thread.
--8<---------------cut here---------------start------------->8---
M-x debbugs-gnu-bugs RET -100 RET
--8<---------------cut here---------------end--------------->8---
You'll see the error.
--8<---------------cut here---------------start------------->8---
Error #<thread debbugs>: (error "Attempt to accept output from process debbugs.gnu.org locked to thread #<thread 0xc288a0>")
--8<---------------cut here---------------end--------------->8---
BTW, in a short discussion on emacs-devel, Stefan Monnier proposed to
fix this problem in url-http.el. Don't know what's the better approach.
> Thanks,
> Thomas
Best regards, Michael.
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.