-
-
Notifications
You must be signed in to change notification settings - Fork 875
Fixes issue related to heap corruption #1170
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- a block was capturing self in dealloc through _stopMonitoring - this removed the retain cycle at dealloc
I still see a lot of race conditions in this branch related to PFCommandCache and PFEventuallyQueue setConnected:] Is this supposed to fix those issues? |
What do you mean by races? This branch fixes a heap corruption crash related to capturing self in an async block when deallocating. |
Here is an example of what I am seeing constantly. If that is the case then just ignore my question :) ================== Previous read of size 1 at 0x7d1000012862 by thread T6 (mutexes: write M283582895120049968): Location is heap block of size 64 at 0x7d1000012840 allocated by thread T6: Mutex M1031 (0x7d180001fe78) created at: Mutex M283582895120049968 is already destroyed. Thread T2 (tid=1782772, running) created by thread T-1 Thread T6 (tid=1782784, running) created by thread T-1 ThreadSanitizer report breakpoint hit. Use 'thread info -s' to get extended information about the report. ================== |
LDS isn't deprecated, the report is helpful for future improvements with Thread Sanitizer on, we'll investigate. Can you open an issue with the Thead sanitizer infos? |
Done @flovilmart thanks for the update on the deprecation. |
No problem! Thanks for reporting! Did you see anything else on the thread sanitizer on other parts of the SDK? |
I have not. But I'll keep my eyes open for any other stuff. |
…1.15.2 * commit '37aee695cf654c519243adc2945161a089855029': ⚡ Release 1.15.2 Fixes issue related to heap corruption (parse-community#1170) Fix parse-community#1162 - PFSubclassing.object() class method unavailable since XCode 9 beta 4 (parse-community#1164)
Fixes #1168
This wasn't crashing before as
dealloc
was never called (cycle). Now that dealloc is properly called, settingself.connected = YES
was creating a heap corruption as the blocks were not able to correctly retainself
for executing thesetConnected:
logic