OS X 10.13.3 exposes bad fork() issue
还没有人认领这个 Issue。
评估
调研方向
首先,在 OS X 10.13.3 上分别在设置和未设置 OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES 的情况下,复现 require 'vips' 处的失败。跟踪确定 fork 失败属于 ruby-vips、ffi 还是 libvips;完成的标准是识别出负责的组件,并提供安全修复或有文档记录的 workaround。
由索引模型根据 Issue 内容生成。
描述
After updating to OS X 10.13.3, I received the following error trying to require 'vips':
objc[25602]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called.
objc[25602]: +[__NSCFConstantString 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.
Some googling took me to this post, which explains that the error comes from “incorrect code that happened to work most of the time in the past.” I have no way of knowing whether the issue is in ruby-vips or ffior libvips itself, and I don't really have the time or knowledge to track it down. Using one of that page's suggested workarounds – setting OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES in the environment – allowed me to load ruby-vips without issue and get on with my work, though I realize I'm just asking OS X to hang later if it encounters a deadlock instead of crashing the process now.
I'm reporting it here so there's both an issue to track and a concise explanation and workaround for anyone else who happens to google this error in a vips context.
- 主要语言
- Ruby
- 星标
- 904
- 派生
- 64
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
libvips/ruby-vips 的其他 Issue
-
难度 5/5 一周以上 新手友好度 30/100
-
bug
难度 4/5 3-5 天 新手友好度 42/100
-
bug
难度 5/5 一周以上 新手友好度 25/100
-
bug
难度 4/5 3-5 天 新手友好度 30/100
-
bug
难度 4/5 3-5 天 新手友好度 38/100
查看 libvips/ruby-vips 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
-
bug
难度 1/5 1 小时以内 新手友好度 90/100
riscv/riscv-unified-db#2626 ·
-
Component: GLib
难度 2/5 1-3 小时 新手友好度 70/100
-
ds-drift
难度 2/5 1-3 小时 新手友好度 70/100
we-promise/sure#3693 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
simp/pupmod-simp-simp#395 ·