XZise added a comment.
Ah I think it's not setting `threadedhttp.HttpRequest._data` when that exception occurs and thus it tries to acquire the semaphore. Another problem is that `fetch` does acquire the semaphore but doesn't release it. I'm not sure if that is intentional (that way after the data has been fetched the lock is blocked so when a request happens it can't acquire the lock).
TASK DETAIL https://phabricator.wikimedia.org/T94993
REPLY HANDLER ACTIONS Reply to comment or attach files, or !close, !claim, !unsubscribe or !assign <username>.
EMAIL PREFERENCES https://phabricator.wikimedia.org/settings/panel/emailpreferences/
To: XZise Cc: Omegat, Aklapper, XZise, jayvdb, pywikipedia-bugs