Closed
Bug 1303441
Opened 8 years ago
Closed 7 years ago
Intermittent LeakSanitizer | leak at mozilla::storage::StorageBaseStatementInternal::destructorAsyncFinalize, mozilla::storage::AsyncStatement::~AsyncStatement, mozilla::storage::AsyncStatement::Release
Categories
(Core :: SQLite and Embedded Database Bindings, defect, P3)
Core
SQLite and Embedded Database Bindings
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: intermittent-bug-filer, Unassigned)
References
Details
(Keywords: intermittent-failure, memory-leak)
Comment 1•8 years ago
|
||
This is fallout from https://groups.google.com/forum/#!topic/mozilla.dev.platform/xN-K5kEsq7A and bug 1155059. Specifically, Connection::getAsyncExecutionTarget() hands us an nsIEventTarget (that is not our current thread) and we try to dispatch to it, but fail. The failure causes a leak because it intentionally took ownership of our finalizer in order to avoid accidental releasing on the main thread.
The code expects getAsyncExecutionTarget() to prevent this type of thing from happening since it has a shutdown guard. Presumably "xpcom-shutdown-threads" has happened and gXPCOMThreadsShutDown=true. mozStorage's xpcom-shutdown-threads observer does not directly impact getAsyncExecutionTarget(), leading to this sequence of events. I think we should ensure this gets fixed as part of bug 1186276.
Depends on: 1186276
Updated•8 years ago
|
Priority: -- → P3
Updated•7 years ago
|
Updated•1 month ago
|
Product: Toolkit → Core
You need to log in
before you can comment on or make changes to this bug.
Description
•