## [Bytix Archaea tools 変更点] ###################################################### #14485: hcpdコマンド HpFP POSIX共有メモリ保護モードのFD消費削減 ---------------------------------------------------------------------------- ■概要 hcpdコマンドのHpFP通信機能においてPOSIX共有メモリ保護モードが有効な場合に消費されるファイルディスクリプタを削減しました。 関連設定項目: HPFPProtectedSharedMemory yes|no[yes] session|connection[session] 旧メモリ保護モードは、以下の設定です。 HPFPProtectedSharedMemory yes connection ---------------------------------------------------------------------------- #14450: hcp/hsyncコマンド 'No space left on device'(ENOSPC)などを書き込みエラー(A005)から分離し、エラーメッセージを表示するように変更 ---------------------------------------------------------------------------- ■概要 hcpまたはhsyncコマンドにおいて書込みの際に次のエラーが発生した場合に、一般的な書込みエラーの理由コード(A005)と区別するように変更しました。 (Linux/macOS環境が対象) ・ENOSPC 'No space left on device'  理由コード BFFD ・EDQUOT 'Disk quota exceeded'  理由コード BFF1 ・EFBIG 'File too large'  理由コード A01B ・EPERM 'Operation not permitted'  理由コード B802 コマンド停止時に、以下のようにメッセージが表示されます。 $ hcp ... hcp: No space left on device $ cat .hcp.out SRC test.txt DST 127.0.0.1:874:test.txt NG BFFD FT 00000001 test.txt EXIT 90 REASON BFFD ---------------------------------------------------------------------------- #14334: クライアントコマンド hcpdのDocPoint設定で接続が拒否された場合にエラーメッセージがコンソールに表示されずに終了してしまう ---------------------------------------------------------------------------- ■現象 サーバ(hcpdまたはhcpd_winserv)のDocPoint設定により接続が拒否された場合に、 クライアントのコンソールでエラーメッセージが表示されずに終了してしまう。 (UI表示上エラーであることが判らない) ■再現条件 ・クライアントコマンド ・サーバのDocPoint設定で許可されていない領域にアクセスすること ■回避策 なし ■補足 本件に該当する理由コード FILE_OUT_OF_DOC_ROOT (AFFE) を含め、 以下の理由コードを対象にメッセージを表示して終了するように変更しました。 (類似点修正) FILE_ACCESS_DENIED "Permission denied", "Access denied" (Windows) DIGEST_ERROR "Digest mismatch or calculation failed" WRITE_ERROR "cannot write file" CREATE_DIR_ERROR "cannot create directory" CREATE_LINK_ERROR "cannot create link" READ_ERROR "cannot read file" RENAME_ERROR "cannot rename file" DELETE_ERROR "cannot delete file" MODIFY_ERROR "cannot modify file attribute" DEST_IS_NOT_DIR "Destination is not directory" OMIT_DIR "Directories omitted" TMP_FILE_SETUP_ERROR "cannot allocate temporary file" TMP_FILE_FIX_ERROR "cannot finalize temporary file" CREATE_DEVICE_ERROR "cannot create device" CREATE_SPECIAL_ERROR "cannot create special file" CANNOT_DEL_NON_EMPTY "cannot delete non-empty directory" DIRECT_IO_EINVAL "Direct I/O invalid argument" FILE_OUT_OF_DOC_ROOT "Permission denied out of server document area", "Access denied out of server document area" (Windows) FILE_SIZE_OVER_LIMIT "Over file size limitation" FILE_ENTRY_NOT_FOUND "No such file to process" FILE_ENTRY_ERROR "cannot process file" FIND_FILE_ERROR "cannot search for file to process" APP_NOT_SUPPORTED "Application not supported by server" UNEXP_TERM "Unexpectedly terminated" OP_NOT_PERMITTED "Operation not permitted" RL_ABORT "Aborted by resource limit" SETUP_FAILURE "Application setup failed" DISK_FULL "No space left on device" PROTO_ERROR "Application protocol failure" INTERNAL_ERROR "Unexplained internal failure" GENERAL_ERROR "Unexplained failure" ---------------------------------------------------------------------------- #14580: hcpdコマンド ログ改訂 ---------------------------------------------------------------------------- ■概要 hcpdコマンドのログ(/var/log/hcpd.log)について以下の様に出力を変更しました。 ・子プロセスの失敗時の記録にユーザIDとプロセスID追加 2026/08/24 20:12:27: proc-3798 : Child process terminated with an unsuccessful status (90, user01, pid=4226). ・子プロセスの成功時もログに記録するように変更 2026/08/24 20:12:27: proc-3798 : Child process terminated successfully (user01, pid=4226). ・セカンダリ接続の処理結果のログを編成  子プロセスへの紐づけ成功と失敗(理由付き)を接続単位で記録するように変更、整理 proc-30812 : socket-34 : TCP worker bound to a user session (pid=30871). proc-30812 : socket-34 : TCP worker not bound to any user session (not found). proc-30812 : socket-34 : TCP worker not bound to any user session (canceled, pid=30871). ・スレッド情報を削除  ※クライアント含め変更 旧 : 2026/08/19 10:55:04 00007f51d4fa1640: proc-29614, thread-139989442238016 : socket-34 : TCP socket accepted 新 : 2026/08/24 20:12:26: proc-3798 : socket-31 : TCP socket accepted ・syslog 冗長なプロセスID削除、スレッドID削除 旧 : Aug 19 10:55:04 localhost hcpd[29614]: proc-29614, thread-139989442238016 : socket-34 : TCP socket accepted 新 : Aug 24 20:12:27 localhost hcpd[3798]: socket-35 : TCP socket accepted ・hcpd_session.cpp内のエラーログをstderrからアプリログに変更  hcpd.logに記録するため ---------------------------------------------------------------------------- #14490: HpFP API 不正なソケットの値を受け取った際にENOTSOCKではなくEINVALを返してしまう ---------------------------------------------------------------------------- #14556: hcpd 特権分離 プロセス分離が失敗した場合に不要なプロセス待機を行ってしまう(潜在的不具合修正) ---------------------------------------------------------------------------- #14557: hcpd 特権分離 プロセス分離が失敗した場合にディスクリプタ消費が増加してしまう ---------------------------------------------------------------------------- #14592: クライアントコマンド コマンドの終了間際にクラッシュが発生してしまう ---------------------------------------------------------------------------- ■現象 クライアントコマンドをCentOS7環境で実行した際に、 終了時にクラッシュが発生してしまいます。 (アプリケーションの実行は完了します) ■再現条件 ・CentOS7 ・クライアントコマンド ■回避策 なし ■補足 CentOS7の環境で確認されました。 他の環境では未確認ですが、発生する可能性はあります。 ----------------------------------------------------------------------------