2017/5/22追記: libtiff本家から2017/5/22に4.0.8がリリースされたので、順次libtiffが4.0.8にアップデートされていけば以下の問題は発生しなくなるのでしょう。
与信を通過しましたとか、(情報) 統合思念体(ってなんだか知らないけどなんか納得)様からのFAXがしばらく来てませんでしたがFAXが必須な仕事でも無く、電話番号とTSIの一覧はエラーも含めてすべて毎日自動的に送られてくるので必要なものかどうかは一目瞭然なのと、そもそも必要ならば別のコンタクト手段がいくらでもあるので気付かないふりを継続していました。しかしついに年に1,2回のFAXを受けないといけない場面に出くわし、届かないので詳細ログを確認したところ、FAXサーバのlibtiffが4.0.7にアップグレードされた2016年の暮れ頃から3ヶ月以上FAXが正常受信されずに
1 2 3 |
RECV/CQ: Invalid WhiteTable code word, row 0, x 0 RECV/CQ: Bad 1D pixel count, row 0, got 0, expected 1728 RECV FAX: ECM page received containing no image data. |
などとなっていたのでした。ググッたところ2016年末は一部で阿鼻叫喚だった模様でした。自分で見ていった順番とは前後しますが、
one little ill-advised change in v4.0.7 broke functionality for HylaFAXがその話題に該当します。
そしてlibtiff側の変更がrevertされたけれどもまだ新しいリリースがされていない、というのがいまここになります(2017/5/22に4.0.8がリリースされました)。
libtiffの該当の変更に意味があるか無いかはともかく、libtiff内部専用テーブルのソースに変えると他でなんかおきっかもしんないからよろしくねとコメントが入れられる、というなかなか密結合な方向での解決がされたようです。こんな意見も普通にあったようです。また両方とも本来はそうあるべきじゃないんだろうけど、と進行しているところも見所であります。
しかしその修正が入ったlibtiffの次のバージョンが出るまではどうしたら良いのということになると、Did your libtiff 4.0.7 package include the patch on this libtiff thread?とlibtiff側の更新をしましょうというツンデレなお答えなので、各ディストロのパッケージのメンテナが libtiffに合わせてHylaFAX/faxd/tif_fax3.hを手動でパッチする、ソースからコンパイルしている人もHylaFAX/faxd/tif_fax3.hを自力でパッチする、というのが現実解なのでしょう。該当のBugzillaにはlibtiff側が元に戻したというのに気付いていなかった時(さっき)にパッチ送ってしまいましたが、実際には4.0.7だけを特別扱いするのが正解のようです。
パッケージのメンテナの方々のおかげで多くの人はもう解決しているので不要なはずですが、使える人もいるかもしれないのでパッチファイル置いておきます。FreeBSD portsではメンテナが不在になってしまっている模様なのでちょっとPR216259を様子見です。
[patch] configure script in HylaFAX 6.0.6 for libtiff 4.0.7
[patch] FreeBSD ports/comms/hylafax/files/patch-configure for libtiff 4.0.7
これで無事に()与信を通過しましたFAXが届き始めました。一方、そうこうするうちに本当に必要なFAXは受け取れずに電話で済ませたのでした。
やっぱFAX要らないじゃん… HylaFAXにはさんざんお世話になっていますが、HylaFAX+フォークの歴史も良く知らず、libtiffもいろいろなんだかだし、いっそFAX切り捨てちゃうのがいろいろすっきりして良いですね、きっと。