タイトル/名前 | 更新者 | 更新日 |
---|---|---|
日記/2005/12/29/Parent: child process exited with status 3221225477 -- Restarting. | msakamoto-sf | 2009-04-05 19:20:34 |
日記/2006/08/09/Firefoxで"This Address is Restricted" | msakamoto-sf | 2009-04-05 11:31:32 |
日記/2006/09/10/久しぶりにUNIX-CとかSharedObjectとかexternとか | msakamoto-sf | 2009-04-05 11:23:31 |
添付ファイル/060910231159_c0s.tar.gz | msakamoto-sf | 2009-04-05 11:17:35 |
日記/2006/09/10/ExcelからCSV風味にデータを抜き出しテンプレート(ERB)に埋め込むRubyサンプル | msakamoto-sf | 2009-04-05 11:12:59 |
添付ファイル/ruby_excel2anyconv.zip | msakamoto-sf | 2009-04-05 11:09:40 |
日記/2006/08/27/ArrayListのtoArray()で嵌った | msakamoto-sf | 2009-04-05 11:07:01 |
日記/2006/08/10/Office2000でクリップボードツールを無効化 | msakamoto-sf | 2009-04-05 10:55:43 |
日記/2006/08/10/jstat, jps で"process information unavailable" | msakamoto-sf | 2009-04-05 10:53:08 |
技術/文字コード/SJIS機種依存文字サンプル | msakamoto-sf | 2009-04-05 10:45:52 |
というエラーが"時々"出るようになりました。PHPで。
[Thu Dec 29 19:30:36 2005] [notice] Parent: child process exited with status 3221225477 -- Restarting. [Thu Dec 29 19:30:36 2005] [notice] Parent: Created child process 3636
WindowsXP(SP2) + PHP4.4.0 + Apache 2.0.50
関連Bugレポート : http://bugs.php.net/bug.php?id=25570
Googleで検索してみた感じではPHP独自のエラーというわけではなく、mod_pythonとかLDAP系のMLスレにも出てきてたりします。
一つ言えるのは、上記Bugレポートは現在進行形で続いているということ。
25570以降にも似たようなBugレポートがあがってて、PHPの中の人とかが一々「類似バグが25570にあがってるからそっちにレポートして~」ってコメントしてる。
(これとか。 http://bugs.php.net/bug.php?id=30405)
基本的にApacheとの絡みやZendの内部挙動とも関わってるらしい。
Windows2003とかだと、statusが 4294967295 としてログに出てくる場合もある。実は32bit表記だと-1になるとかなので、結果的にZendの内部挙動としてエラーが発生して、-1を戻しているのがApache側ではこんな感じでエラーになってしまう・・・というのが仕掛けみたい。
ただ、本当に問題なのは、これ、直されては再発し直しては再発しているということ。延々と現在進行形でバグつぶしが行われているみたい。PHP 4.3.1桁の時代から出てきている。そりゃあ~中の人も疲れちゃって「もうええから、CVSの最新取ってこいや!」って感じの返答をするのも無理ない。
※2006年以降は、特にこの現象には出会っていません。単純に仕事でPHPを扱う場面が減ったというのもあります。
ポート6000で起動したApacheにアクセスしようと、http://localhost:6000/したら上記題名のFirefoxエラー画面。
http://www.redbrick.dcu.ie/~d_fens/articles/Firefox:_This_Address_is_Restricted
によると、about:config 画面から"network.security.ports.banned.override"を(なければ追加)設定し、ここに許可したいポート番号を "1-1024"とか、"1-1024,8080,9000-9024"みたく指定するみたい。
再起動は不要。できた。
参考リンク:
実に久しぶりに、UNIX-Cで .o への外部参照や .so 内のファイルへの参照時のextern周りを弄ることになった。
で。
綺麗サッパリ忘却してる自分がいる。
・・・あれほど入れ込んでいたのは、一体・・・。い、いや、そもそも大学3,4年次に集中して頭にたたき込んだり実験してて、それからはや3年が過ぎようとしているのだ・・・。無理もない。使ってないのだから。っつーか、実際問題「.so内からexternして取り込んでいる変数は、プロセス間で共有されるか」という点については以前から気にはなっていたけど実験していなかった。
というわけで、単なる復習用の初級レベルサンプル以外の何者でも無いんだけど一応UP。
添付ファイル/060910231159_c0s.tar.gz
添付ファイル中の"c01", "c02"については、普通に「オブジェクトファイルでリンク("c01")」「共有オブジェクト(.so)としてリンク("c02")」の実験というか復習。
最後に、.so内の変数はプロセス毎に共有されるのか?というわけで、c02のmainを複数同時に動かせるよう、sleepとループ入れただけのが"c03"。
結果として、変数は共有されず、プロセス毎にカウントアップされていった。
ついでにMakefileを書くのにちろちろWeb調べてたら、
http://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/make-intro/suffix.html
に、
SRC=$(wildcard *.c) OBJ=$(SRC:.c=.o)
と書けそうなサンプルが。というわけで、"c01"のMakeはそれ使ってます。("c02", "c03"になっちゃうと、面倒くさいのでターゲット毎にMakefile分けたので使ってない・・・。)
以上。
Rubyを利用したサンプル。Rubyは、Windows版のバイナリであればWin32OLEで、Officeアプリにアクセスできる。というわけで、ExcelからCSV風味にデータを抜き出し、ERBテンプレートに埋め込むのをRubyの練習がてら作成。
とはいっても、プロジェクト/現場毎にExcelのフォーマットとかセルの位置は異なるので、こうしたツールは汎用的には作りづらい。CSV形式を仲介させれば大分汎用的に作れるとは思う。
極端な話、Excelで必要な範囲だけエディタにコピペし、正規表現とかでCSVに正規化したのをスクリプトに喰わせる。
何かの役に立つかもなので、とりあえずUP。
何度やっても、ClassCastException.
・・・探したら載ってた。
http://ameblo.jp/java/entry-10000993821.html
Date[] dateArry = (Date[])arrayList.toArray();
だとまずエラー。
Date[] dateArry = (Date[])list.toArray(new Date[list.size()]);
が正解。
参考:
http://www.atmarkit.co.jp/fjava/javatips/080java009.html
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16464&forum=12&start=0
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/ArrayList.html
下記参照で、レジストリを書き換えるのが基本らしい。
http://support.microsoft.com/default.aspx?scid=kb;ja;207438
http://tanuzou.com/nuzou/wiki/index.php?Windows#content_1_6
OfficeXPとか2003以降はオプション画面で無効化できたような気がするので、Office2000までのTipsかもしれない。
1. Windows上の場合、Administrator権限が必要。
2. (少なくともJDK1.5_02の場合)ユーザー名にアンダースコア("_")があるとSDKのバグで上記メッセージでこける。
2. に付いては下記参照。
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6301562
"Evaluation"の項目、"Need to be fixed for Mustang."ってマジかよ・・・。Java6まで待つのか・・・。
※2009/04/05時点では "10-Fix Delivered" となっているため、修正は完了しているらしい
他、
http://archives.java.sun.com/cgi-bin/wa?A2=ind0510&L=jmx-forum&O=A&P=560
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6306959
などを見てみると、下記のオプションで異常時のスタックとレースが見れる。
jps -J-Djpd.debug=true -J-Djps.printStackTrace=true
で、上のリンクにあるんだけど、%TMP%(UNIXなら/tmp)の中に、jpsとかjstatとかjconsole用のPIDファイルが保存されてるディレクトリがある。で、これがどうも
"hsperfdata_" + ユーザー名
という形式になってる。・・・ひょっとして、下手に"_"を区切り文字で使ってるのが災いしているのでは・・・?
まあ、かといってどうしようもないことは変わりない・・・。