Details
-
Improvement
-
Resolution: Fixed
-
Major
-
3.0
-
Security Level: Public
-
None
-
1
Description
We've had several customer notice an NPE in C4 object finalizers. While I suspect that these are harmless, I cannot prove it.
The problem seems to be caused by a bug in the way Android handles finalization: deleting an object's fields, even though they are being used for synchronization, before finalizing the object on which they depend.
I suggest backporting the fix that has been in Helium for a while: using the self object as a lock. This has the significant downside that it makes the lock visible. Since the lock is visible anyway, the risk seems minimal. It has also been running in Lithium for half a year.
Attachments
Issue Links
- is subtask of
-
CBL-3269 20% Sprint 76
- Closed