exit signal Trace/BPT trap?

Posted by ゆのじ on 9月 26th, 2008

某所向けにMacMiniにOSX(Leopard)という構成のサーバを設定していたのだが、phpでgdを使っている部分で、画像がどうしても出ない。フレームワークのログにも何も出てこないので、apacheのログを見てみると、表題のような滅多に見ない落ち方をしたログが残っている。こんな感じ。

Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__() to debug.
The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec().
Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__() to debug.
[Fri Sep 26 03:51:51 2008] [notice] child pid 335 exit signal Trace/BPT trap (5)
[Fri Sep 26 03:51:54 2008] [notice] child pid 136 exit signal Trace/BPT trap (5)

あちこち調べた結果、どうもMacPortsの問題としてちょうど俎板の上に乗っている問題で、gdのimagettftext()関数がApacheを巻き込んで死んでしまうということらしい。解決方法はfreetypeのPortfileを持ってきて、コンパイルオプションを変えて手で突っ込めということらしい。

この時点でかなり嫌気が差すが、あきらめてまずfreetypeのPortfileを開く。Portfileはえらく深い階層(/opt/local/var/macports/sources/ rsync.macports.org/release/ports/print/freetype/Portfile)にあったので見つけるのに苦労したが、これの50行目–with-old-mac-fontsをコメントアウトする。

# --with-old-mac-fonts

そしてfreetypeを強制再インストール。

$ sudo port -nf upgrade freetype

次にphp5をもう一度ビルドし直す。

$ sudo port -nf upgrade php5

これでひとまず問題は解決した。portの中身をsyncするたびに元に戻ってしまうので根治療法にはならないが、Macports側の対応がなされるまでの間の手当としては妥当なところだろう。手数も最小限だ。

参考になれば幸い。

Re:G-LEX終了のお知らせ

Posted by ゆのじ on 9月 25th, 2008

先日、唐突なサービス終了について書いたG-LEXだが、今更「アジルフォンプロへの優待切り替えプランのご案内」というメールが届いた。さすがにあのまま放置するのはまずいと気がついたのだろう。しかしながらその内容は微妙で、それまで使っていた番号の引き継ぎは出来ず、初期費用(\1,000)を払わなくて良いだけらしい。

やはりというかなんというか、この会社はインフラを提供しているというつもりは更々なかったということなのだろう。顧客に対してAsteriskを使ったサーバのインテグレーションサービスを提供するのと、大量の顧客をASP的に束ねたサービスを運用するのとは天と地との差があるのだが、それもきっとわからなかったのだろう。

うちの場合、幸いなことに電話番号が変わってしまうことはさほど痛手ではなかったので、このままアジルフォンへ乗り換えようと思う。アジルフォンがインフラを提供しているという意識を持っていることを祈りたい。

iPhoneのバッテリーとbluetooth

Posted by ゆのじ on 9月 25th, 2008

R0011824

jawboneを手に入れてからというもの、ペアリングを一度も解除せずにずっと使っていた。バッテリーの持ちを良くするにはbluetoothやWiFiは停止しておくのが基本だが、そもそもbluetoothは電波出力の非常に弱い通信方式であるし(相手方など数グラムの電池で一週間以上連続待ち受けが可能だし)、試してみるとbluetoothのみであればさほどバッテリーの減りに影響しないということがわかったからだ。

だが、今日は様子が違った。iPhoneのバッテリーが通常の数倍以上の速度でなくなっていく。一度も電話をしなければバッテリー残量は一日後でも70程度は残っていたのだが、今日に限って半日しないうちに20を割り込んでいく。途中でバッテリーのあまりの減りに、変なdaemonが裏で走っているのでは、と再起動したが状況は変わらない。そこではたと気がついたのがjawboneの存在。見ると普段は白色で間歇点滅しているLEDが、赤色になっている。装着していると時々「プー」と音がしているのも何だろうと思っていたがどうもOut of rangeかbluetooth link dropsのエラー扱いになっていた模様。情報はこちらで見つけた。

おそらく、jawboneはバッテリーが減ってしまって出力が落ちてしまい、iPhoneから見ると遠くにあるかのごとく弱い電波しか出せていなかったのではないかと思う。そして、かわいそうなiPhoneは到達距離ギリギリにあるjawboneとがんばってリンクを保とうと出力を限界まで上げていたのではなかろうか。

考えてみれば当然のことながら、割と落とし穴だった。bluetoothヘッドセットを常時ペアリングさせて使っている人は注意されたし。