青木@名古屋です。 On Fri, 18 Jul 2025 14:04:25 +0900 Hiroo Ono (小野寛生) <hiroo.ono+free...@gmail.com> wrote:
> 小野寛生です。 > > やっと FreeBSD 上での日本語入力環境が復活しました。 > 情報をお寄せいただいた皆様ありがとうございました。 > > 直接メールをいただいた中で、ある方から src/ipc/ipc_path_manager.cc で > プロセスIDから実行ファイルのパスを取得する部分が FreeBSD 的には間違っ > ているためうまく動かないことを教えていただきました。 > /proc/PID/exe からパスを取得しようとしていて、Linux はこれで良いのですが、 > FreeBSD の procfs では /proc/PID/file になるということです。 > procfs をマウントしていない場合は libprocstat を使うので、そちらの方法で > パッチを修正して pull request を送ったところです。 > > 対処としては、簡単な順に > ・ linprocfs を /proc にマウントする > ・ ipc_path_manager.cc の "/proc/%u/exe" の部分を "/proc/%u/file" に修正して > procfs を /proc にマウントして使う > ・ 私の pull request を出口さんがマージしてくれるのを待つ > という感じになるでしょうか。 > > 以上。 > > 2025年7月17日(木) 6:04 Hiroo Ono (小野寛生) <hiroo.ono+free...@gmail.com>: ありがとうございます。 18日にはマージされていて、Commit b4660e6に更新してみたところこちらでも 正常に動作しています。 その後さらに更新が入っていますがそちらはまだ 試せておりません。 /procにlinprocfsをマウントというのはprocfsを要求するものを 使っている場合は手の打ちようがない手法というのが厄介なところ で安易に試せませんが、別法で対応できているのは有難いです。 本当は出口さんのバージョンがportsに入ってくれると有難いのですが、 distfiles関係でファイル名まで含め同じURLで予告なくリフレッシュ されてしまうもの(郵便番号辞書等)があるのが難点ですね。 現在portsにあるバージョンではある時点のものを独自に別途保存して 使っていますが、同じような方法を使うか(committerなら自力で http://distcache.FreeBSD.org/local-distfiles/以下に(ライセンス 的に許可されれば)自力で捕獲できそうですが、個人的には(portmgrに 却下されるかもしれませんが)問題のファイル(今回問題になっている のは全てデータです)をダウンロードして例えば /usr/local/share/mozc_dictdata/以下に保存しつつ、それら自体の distinfoも生成するスクリプトを独立した portsとして用意して mozc-serverからRUN_DEPENDSして、pre_fetchかpost_fetchターゲットから 呼び出し、辞書生成時にそのファイルを使用するようにできると、 不意の更新からdistinfo更新までのタイムラグによるエラーを回避 できそうなのですが。 ※distinfoを動的にマージする方法は、acceptして貰えていませんが、 review D50282でgraphics/nvidia-drm-*-kmod向けに提案しています。 特に問題視されているのが(こちらはpre-fetchでマージした作業用 ファイルを生成してpost-cleanで削除する点が主にリストを生成する 場所の関係で難色を示されています。 > > 小野寛生です。 > > > > ありがとうございます。 > > > > 2025年7月17日(木) 3:09 Tomoaki AOKI <junch...@dec.sakura.ne.jp>: > > > > > > On Wed, 16 Jul 2025 21:58:13 +0900 > > > Hiroo Ono (小野寛生) <hiroo.ono+free...@gmail.com> wrote: > > > > > > > 小野寛生です。 > > > > > > > > 2024年11月24日(日) 20:38 Tomoaki AOKI <junch...@dec.sakura.ne.jp>: > > > > > 出口さんのリポジトリですが、mozc関連・compiz関連及びavidemux関連分が > > > > > 前回ご紹介したところから分離・独立し、現在は > > > > > > > > > > mozc : https://github.com/kdeguchi/mozc-ports > > > > > compiz : https://github.com/kdeguchi/compiz-reloaded-ports > > > > > avidemux: https://github.com/kdeguchi/avidemux-ports > > > > > > > > > > にて公開されています。 以前ご紹介したままのリポジトリでは使えなく > > > > > なっていますのでご注意下さい。 > > > > > > > > > > また、mozcについてはビルド時のbazelの扱い方が刷新されて > > > > > poudriereで問題になっていたビルド段階でのファイル取得も > > > > > > > > これをありがたく使って ja-fcitx5-mozc を利用していたのですが、ここしばらく > > > > poudriere でビルドしたものをインストールすると fcitx5 と mozc_server の間の > > > > 通信がうまくいかないで mozc_server が abort します。 > > > > stable/14 でも起きているので、出口さんが readme に書かれている current の > > > > 問題ではないと思います。 > > > > > > > > 出口さんのリポジトリを overlay で使っている人で、こういう問題に当たって > > > > いる人はいませんか? さらには、そういう問題にあたったけど脱したという人 > > > > はいませんか? > > > > > > > > エラーメッセージは長いですがこんな感じ。 > > > > はじめの方の sem_open のエラーで検索して > > > > http://www.jp.netbsd.org/ja/JP/ml/tech-pkg-ja/201301/msg00003.html > > > > を見つけたのですが、それによれば mozc 関連のコードがなんかバージョン違い > > > > が混ざっている可能性が高いらしく、さて何が悪いんだろうと悩んでいます。 > > > > > > > > input-method-unstable-v2 と text-input-unstable-v3 に対応させた hikari (Wayland > > > > compositor) を使っているというのも関係しているのかどうか。(自分でやった > > > > ところなので自信がない) > > > > > > > > > > > > WARNING: All log messages before absl::InitializeLog() is called are > > > > written to STDERR > > > > W0000 00:00:1752668408.961773 122069 user_dictionary.cc:298] Cannot > > > > get modification time of the user dictionary: NOT_FOUND: stat failed: > > > > /usr/home/hiroo/.config/mozc/user_dictionary.db: No such file or > > > > directory > > > > I0000 00:00:1752668408.961812 122069 user_dictionary.cc:561] > > > > MaybeStartReload() didn't start reloading > > > > E0000 00:00:1752668408.969765 127382 encrypted_string_storage.cc:72] > > > > cannot open user history file: NOT_FOUND: Failed to open > > > > /usr/home/hiroo/.config/mozc/.history.db with flags 0: No such file or > > > > directory > > > > E0000 00:00:1752668408.969837 127382 user_history_predictor.cc:224] > > > > Can't load user history data. > > > > E0000 00:00:1752668408.969847 127382 user_history_predictor.cc:372] > > > > UserHistoryStorage::Load() failed > > > > E0000 00:00:1752668408.972679 122069 config_handler.cc:264] > > > > user://config1.db is not found > > > > E0000 00:00:1752668408.977002 122069 named_event.cc:325] > > > > sem_open(/2fd8bd399374) failed: No such file or directory > > > > E0000 00:00:1752668408.977022 122069 named_event.cc:341] > > > > NamedEventNotifier is not available > > > > W0000 00:00:1752668408.977034 122069 session_server.cc:78] NamedEvent > > > > session is not found > > > > E0000 00:00:1752668415.170776 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668415.171933 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668415.171943 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668415.174694 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668415.174717 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668415.174725 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668435.914143 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668435.914187 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668435.914199 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668436.915171 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668436.915212 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668436.915225 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668437.931543 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668437.931605 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668437.931620 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668438.947855 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668438.947900 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668438.947915 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668439.964112 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668439.964165 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668439.964181 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668440.980468 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668440.980518 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668440.980535 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668441.996781 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668441.996828 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668441.996845 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668442.997796 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668442.997865 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668442.997899 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668444.003446 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668444.003508 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668444.003529 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668445.004848 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668445.004918 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668445.004938 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668446.011858 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668446.011893 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668446.011902 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668447.015225 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668447.015259 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668447.015267 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668448.027753 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668448.027794 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668448.027810 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668449.044047 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668449.044079 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668449.044088 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668450.060344 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668450.060388 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668450.060397 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668451.076636 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668451.076668 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668451.076677 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668452.127050 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668452.127090 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668452.127099 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668453.146596 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668453.146635 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668453.146651 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668454.158824 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668454.158858 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668454.158866 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668455.175128 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668455.175169 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668455.175181 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668588.973534 127383 ipc_path_manager.cc:402] > > > > readlink failed: No such file or directory > > > > E0000 00:00:1752668588.973579 127383 unix_ipc.cc:313] Connecting to > > > > invalid server > > > > E0000 00:00:1752668588.973588 127383 client.cc:674] Connection > > > > failure to session > > > > W0000 00:00:1752668588.973603 127383 session_watch_dog.cc:165] > > > > Cleanup failed execute PingCommand to check server is running > > > > E0000 00:00:1752668588.973605 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668588.973635 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668588.973643 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668589.973766 127383 ipc_path_manager.cc:402] > > > > readlink failed: No such file or directory > > > > E0000 00:00:1752668589.973797 127383 unix_ipc.cc:313] Connecting to > > > > invalid server > > > > E0000 00:00:1752668589.973812 127383 client.cc:595] Connection > > > > failure to session > > > > E0000 00:00:1752668589.973829 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > E0000 00:00:1752668589.973827 127383 session_watch_dog.cc:181] Ping > > > > command failed, waiting 1s, trial: 0 > > > > W0000 00:00:1752668589.973853 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668589.973873 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668590.974000 127383 ipc_path_manager.cc:402] > > > > readlink failed: No such file or directory > > > > E0000 00:00:1752668590.974031 127383 unix_ipc.cc:313] Connecting to > > > > invalid server > > > > E0000 00:00:1752668590.974038 127383 client.cc:595] Connection > > > > failure to session > > > > E0000 00:00:1752668590.974052 127383 session_watch_dog.cc:181] Ping > > > > command failed, waiting 1s, trial: 1 > > > > E0000 00:00:1752668590.974055 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668590.974086 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668590.974094 127384 unix_ipc.cc:485] response is empty > > > > E0000 00:00:1752668591.974202 127383 ipc_path_manager.cc:402] > > > > readlink failed: No such file or directory > > > > E0000 00:00:1752668591.974232 127383 unix_ipc.cc:313] Connecting to > > > > invalid server > > > > E0000 00:00:1752668591.974239 127383 client.cc:595] Connection > > > > failure to session > > > > E0000 00:00:1752668591.974253 127383 session_watch_dog.cc:181] Ping > > > > command failed, waiting 1s, trial: 2 > > > > E0000 00:00:1752668591.974255 127384 message_lite.cc:205] Can't parse > > > > message of type "mozc.commands.Input" because it is missing required > > > > fields: type > > > > W0000 00:00:1752668591.974289 127384 session_server.cc:96] Invalid > > > > request > > > > W0000 00:00:1752668591.974296 127384 unix_ipc.cc:485] response is empty > > > > F0000 00:00:1752668592.074302 127383 session_watch_dog.cc:201] > > > > Cleanup commands failed. Rasing exception... > > > > *** Check failure stack trace: *** > > > > > > > > poudriere でのビルドは > > > > poudriere bulk -j s14amd64 -p main -O overlay_mozc japanese/fcitx5-mozc > > > > みたいにしてやっています。 > > > > > > 青木@名古屋です。 > > > > > > ここしばらく基盤的portsの更新でpoudriereが大規模なリビルドを始めたり > > > __FreeBSD_version が上がってpoudriereが全てのportsのリビルドに入ったり > > > x11/nvidia-driverとその関連portsにかまけていたりで時間が取れず追いかけ > > > られていなかったのですが、私のところでも発生しています。 > > > > > > ただ、poudriereの日単位リビルド頻発でpoudriereを使用していないmain > > > ブランチの環境に切り替える時間が取れず非poudriereでのビルドは > > > 試していませんでした。 > > > > > > 追いきれていないなりに、ハッシュ002f661の段階まで戻せば動作するのは > > > 確認できていますが、一部辞書データが同名で更新されていてミスマッチに > > > なってしまう対策でこのコミットと先頭のgit diffを取り、辞書関連だけに > > > 絞った形に手修正してから`git checkout 002f661`で正常に動作する > > > ところに戻してから辞書関連のパッチを当てることで逃げています。 > > > ここ暫くはそれすらできていなかったのですが...。 > > > > 002f661 とその次の commit の差分は、xucred から cr_pid を取るようにしたパッチと、 > > -GH_TUPLE= fcitx:mozc:b091429 > > +GH_TUPLE=fcitx:mozc:34c7bcf > > > > だけでしたので、 fcitx:mozc の上の2つの間の差分が問題なようです。 > > とりあえず、今朝分かったのはそこまでです。 > > > > > > > > ※最初に遭遇したのが8b9d96eから88df7a9に更新したときで、辞書以外の > > > 更新があるコミットをまたいで遡っていったところ、002f661で動作した > > > ので、e6e7117以降でクラッシュするようになったというところまでは > > > 確認できているものの、動いてくれないと困るもののためそれ以上の > > > 追求が滞って出口さんへの連絡ができていません。 > > > > > > mainブランチでのテストができていない状態なのでstable/14の各種段階、 > > > x11/mateをベースに出口さんのリポジトリのcompizを併用(Magプラグイン > > > のため)している状況です。 > > > > > > なお、さすがにpoudriereでのビルド途中にwww/chromiumのような巨大な > > > leafのリビルドが入ると洒落にならないのでそういうのを除外したインス > > > トール済みportsのリストを生成するスクリプトを作って使ってはいるものの、 > > > それ自体に依存するportsが多数あるwebkit系やqt[5|6]-webengineやら > > > llvm系やらrustやらgcc系ばかりはどうしようもありません。 > > > > > > リスト生成用スクリプトは下記で公開しています。 > > > > > > https://brew.bsd.cafe/TomAoki/sh_scripts/src/branch/main/poudlist-all > > > > > > -- > > > 青木 知明 [Tomoaki AOKI] <junch...@dec.sakura.ne.jp> -- 青木 知明 [Tomoaki AOKI] <junch...@dec.sakura.ne.jp>