[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
NSFileManager thread safety
From: |
Frederik Seiffert |
Subject: |
NSFileManager thread safety |
Date: |
Mon, 17 Jul 2023 17:46:21 +0200 |
Hi all,
We’re running into what seems to be a concurrency issue (on Windows) where our
app crashes when concurrently calling -[NSData writeToFile:options:error:] (on
separate NSData objects) from multiple threads.
I noticed that the method uses +[NSFileManager defaultManager], which I think
used to not be thread safe on Apple platforms. Before digging into this deeper,
I was wondering if anyone has knowledge about the thread safety of
NSFileManager (or writeToFile) in GNUstep?
We can narrow down the crash when we place an autorelease pool immediately
around the call to writeToFile, and the crash happens when releasing the pool:
Fatal Error: EXCEPTION_ACCESS_VIOLATION_READ / 0xffffffffffffffff
Thread 4756 Crashed:
0 objc.dll 0x7ff83e6727d0 objc_storeWeak
1 objc.dll 0x7ff83e671c4d objc_autoreleasePoolPop
2 objc.dll 0x7ff83e671bc2 objc_autoreleasePoolPop
3 objc.dll 0x7ff83e67195b objc_autoreleasePoolPop
4 MyApp.exe 0x7ff6e840005a -[MyApp methodCallingNSDataWriteToFile]
Thanks!
Frederik
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- NSFileManager thread safety,
Frederik Seiffert <=