This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author hydroflask
Recipients erlendaasland, hydroflask
Date 2021-08-02.20:11:42
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1627935102.71.0.839538152666.issue42698@roundup.psfhosted.org>
In-reply-to
Content
You did the right thing in terms of editing the code.

I was not able to get a deadlock with this code which I think should be representative of the error. In production the error was happening after 30 minutes of so.

The major problem is that I don't exactly know how to provoke SQLite to acquire an internal lock. If we assume that it does acquire internal locks and other threads release the GIL before calling into SQLite functions that acquire an internal lock, then you can reason that if sqlite3_close() acquires that lock without first releasing the GIL a deadlock will certainly occur.

This is the deadlock that my application was running into.
History
Date User Action Args
2021-08-02 20:11:42hydroflasksetrecipients: + hydroflask, erlendaasland
2021-08-02 20:11:42hydroflasksetmessageid: <1627935102.71.0.839538152666.issue42698@roundup.psfhosted.org>
2021-08-02 20:11:42hydroflasklinkissue42698 messages
2021-08-02 20:11:42hydroflaskcreate