Description
New Issue Checklist
- [ x] I am not disclosing a vulnerability.
- [x ] I am not just asking a question.
- [x ] I have searched through existing issues.
- [ x] I can reproduce the issue with the latest versions of Parse Server and the Parse ObjC SDK.
Issue Description
Random crashes always in the same place:
- (void)runContinuations {
@synchronized(self.lock) {
[self.condition lock];
[self.condition broadcast]; <- CRASHES
[self.condition unlock];
for (void (^callback)(void) in self.callbacks) {
callback();
}
[self.callbacks removeAllObjects];
}
Steps to reproduce
Unfortunately no reproducible way. I have a script I developed to retrieve a slew of data from each office of a client. It would run 10 minutes and continually PFQuery for data. It will reliable crash at some random point, usually 5 min in.
Actual Outcome
Random crashes. It's always in the same spot as shown above. I thought it was due to the high load of my download script, but I got it the yesterday when there was very light Parse usage.
I believe I have seen this same crash in the past, but it was very infrequent. It's getting more frequent.
If there is some logging I can enable, or you have some suggestions on how to better understand the conditions, I could possible swizzle that method to log something.
Expected Outcome
No crashes.
Environment
iOS 18.2 (latest), Xcode Simulator 16.2
Client
- Parse ObjC SDK version: 4.2.0 Package
Server
- Parse Server version: N/A
- Operating system: macOS 15.1.1 Apple M3 Silicon
- Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc): AWS
Database
- System (MongoDB or Postgres): Mongo
- Database version: Unknown
- Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc): AWS
Logs
Will update next crash.