Update to grpc v1.55.0 causes GDK in macOS to crash when a file is created in a project
For some reason, the upgrade to gprc
v1.55.0 in !121899 (merged) appears to crash Puma after attempting create a file in the project:
2023-05-30_17:04:54.01856 rails-web : objc[60607]: +[__NSTimeZone initialize] may have been in progress in another thread when fork() was called.
2023-05-30_17:04:54.01926 rails-web : objc[60607]: +[__NSTimeZone initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
Setting export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
via env.runit
appears to work around the problem.
We upgraded from grpc v1.42.0. I suspect v1.48.0 and up have this issue.
Note that we purposely avoided certain versions of grpc due to concerns over memory leaks (https://github.com/grpc/grpc/issues/28513):
https://github.com/grpc/grpc/issues/31240 suggests that this is not a grpc
issue but rather an issue with os.fork()
in macOS. It looks like the grpc
update might have updated abseil-cpp
(https://github.com/abseil/abseil-cpp/releases), which might be initializing the time zone.
Other links:
Edited by Stan Hu