Not only is the Internet dead, it's starting to smell really bad.:2007年11月中旬

2007/11/12(Mon)

[NetBSD] 4.99.35 hangup during multi-user boot process.

lib/37290のPR処理するのに、最新の環境にすべくkernelを4.99.35に更新したら
multi userでbootする途中で固まるんだな、どうやら4.99.32あたりからの症状みたいね。
/etc/rc.d/ttysまでは実行できてるので、rcorder(8)でそれより後に
実行されるscriptを調べて/etc/rc.confからコメントしていくと
犯人はどうやらlkm=YESにいるっぽい。
そこまで判ったとこで時間切れ、そのうち続く。

[NetBSD] pkgsrc/www/firefox-linux

isakiさんとこより。
~/.mozilla/firefox/*/.parentlockだと思います。
あと flashもpkgsrc/multimedia/ns-flash + pkgsrc/www/nspluginwrapperを使えばいいかと。

2007/11/13(Tue)

[NetBSD] 4.99.35 hangup during multi-user boot process その2

lkm=YESは無実でした、間違えて4.99.31でbootしてたぜ。
/etc/rc.d/ttysの"/sbin/ttyflags -a"で固まってる模様、なんだろね。

今日

SONY α-700を店頭でお触りしてきた、読売巨人軍を連想させる例のカラー以外はとても良いボディ。
でも中級機の発売でレンズのラインナップの幅の狭さがより一層目立つ結果になったよな。
普及価格帯の35mm/F2、50mm/F1.7、50mm/F3.5MACRO、100mm/F2、135mm/F2.8あたりが復活しないと
安ズーム一本に飽きた時、次はいきなりGレンズ沼 or CarlZwiss沼だとさすがに敷居が高過ぎると思う。

Kodak EPNなどを販売終了ですか、選択肢がどんどんなくなるなぁ。
AdobeRGBでキャリブレータ付きのHDTVにン十万円注ぎ込まずとも
1万ちょいのライトボックスでリバーサルフィルムの美しさに感動できるのも
あと何年許される贅沢なんだろうか。

[NetBSD] 4.99.35 hangup during multi-user boot process その3

これmodem card差しっぱだと固まるのね、そいやcurrent-userでtty_lock failureなんて
話でてるけどこいつかな? 今日はもう試す気力ないけど。

[NetBSD] lib/37290 その2

patchは書いてあるんだがtestcase書かんとな...まあ今日はもう寝る。

ja_JP.ISO-2022-JP-2.srcの定義ってこれでいいのかな?
KSC5601とかGB2312をincludeしてないんだけど。

2007/11/15(Thu)

[NetBSD] 4.99.35 hangup during multi-user boot process その3

sys/net/ppp_tty.cをr1.50にしても駄目だな。
sys/dev/ic/com.cのcomopen()にdebug printいれて調べてみるか。

昨日

テレビないので某量販店家電コーナーの50inch大画面でかぐや(SELENE)特番のさわりだけ見てた。

ゲストはカメラ運の悪いAlan Bean(Apollo12)、これハイビジョン壊れませんよーにという験担ぎ?
EarthriseネタならBill Anders(Apollo8)あたりも出演してほしかった。

それにしても興味うすげな芸人にダラダラ司会進行させる神経、さすが紅白脳。
これなら「血にも肉にもならないとお前が言うな」立花隆+イタコをゲストに
故Jim Irwin(Apollo15)とスピリチュアルに霊界通信する企画とか
副島隆彦 with Moon Hoax'sに今回の映像を語ってもらう方がまだマシ。
やはりWalter Cronkite(CBS)は偉大だった。

(C)JAXA/NHK 邪魔だよな、 NASAの太っ腹ぶりは望むべくもないのか。
JAXA単体でも利用条件( 1 2)はかなり厳しい。

ja.wikipedia.orgの 画像:SELENEもNASA提供でロンダリングしてんのね。
NASA→JAXAだと(元はパブドメなのに)NASA提供と書くのが義務になり
JAXA→NASAだと(元は制約の多いのに)パブドメになるって、月の起源より謎。

Apolloは交信音を通じて38万km先の世界にいる3人に感情移入できるんだが
無人探査機だとそれがないので味気ないやな、Mars Exploration Roverも同じく。

その後寄った本屋で20前半くらいの女性がFreeBSDコマンドブックビギナーズを
買う瞬間を目撃しかぐや以上の衝撃を(以下略

2007/11/16(Fri)

[pcc] pcc(1) _Bool type bug その12

後置++の為にINCR/DECRをpass2に渡すのはとてもめんどくさそうなので後回し。
先にLSEQとRSEQが変な動作してるのを修正することにしますか。

前回のpatchで{PLUS,MINUS,MUL,DIV}EQであれば

#include <stdbool.h>
_Bool x;
int y;
main(void)
{
	x *= y;
}
0xbb901290) =, bool, REG %eax, SU= 0(@REG,,,,)
    0xbb901080) NAME x, bool, REG %eax, SU= 0(@REG,,,,)
    0xbb9012bc) SCONV, bool, REG %eax, SU= 0(@REG,,,,)
        0xbb9011d0) *, int, REG %eax, SU= 0(@REG,,,,)
            0xbb901264) SCONV, int, REG %eax, SU= 0(@REG,,,,)
                0xbb90111c) NAME x, bool, REG %eax, SU= 0(@REG,,,,)
            0xbb9011fc) NAME y, int, REG %eax, SU= 0(@REG,,,,)

と正しく整数拡張されたツリーが出来上がるんだけど、{LS,RS}EQだけは

#include <stdbool.h>
_Bool x;
int y;
main(void)
{
	x <<= y;
}
0xbb901290) =, bool, REG %eax, SU= 0(@REG,,,,)
    0xbb901080) NAME x, bool, REG %eax, SU= 0(@REG,,,,)
    0xbb9011d0) <<, bool, REG %eax, SU= 0(@REG,,,,)
        0xbb90111c) NAME x, bool, REG %eax, SU= 0(@REG,,,,)
        0xbb901264) SCONV, char, REG %eax, SU= 0(@REG,,,,)
            0xbb9011fc) NAME y, int, REG %eax, SU= 0(@REG,,,,)

という問題があったのよね。

暫定的にcc/ccom/trees.cに↓の変更を加えると

@@ -424,7 +435,8 @@
 		case RS: /* must make type size at least int... */
 		if (p->n_type == CHAR || p->n_type == SHORT) {
 			p->n_left = makety(l, INT, 0, 0, MKSUE(INT));
-		} else if (p->n_type == UCHAR || p->n_type == USHORT) {
+		} else if (p->n_type == BOOL ||
+		    p->n_type == UCHAR || p->n_type == USHORT) {
 			p->n_left = makety(l, UNSIGNED, 0, 0,
 			    MKSUE(UNSIGNED));
 		}

pass2でコケる問題は解消するみたい。

0xbb9012bc) =, bool, REG %eax, SU= 0(@REG,,,,)
    0xbb901080) NAME x, bool, REG %eax, SU= 0(@REG,,,,)
    0xbb9012e8) SCONV, bool, REG %eax, SU= 0(@REG,,,,)
        0xbb9011d0) <<, unsigned, REG %eax, SU= 0(@REG,,,,)
            0xbb901264) SCONV, unsigned, REG %eax, SU= 0(@REG,,,,)
                0xbb90111c) NAME x, bool, REG %eax, SU= 0(@REG,,,,)
            0xbb901290) SCONV, char, REG %eax, SU= 0(@REG,,,,)
                0xbb9011fc) NAME y, int, REG %eax, SU= 0(@REG,,,,)
...
movl y,%eax
movb %al,%cl
movzbl x,%eax
sall %cl,%eax
cmpl $0,%eax
setne %al
movb %al,x
...

でもこれ{LS,RS}EQの場合のopact()の処理から見直した方がいいのかもしれない。

[NetBSD] 4.99.35 hangup during multi-user boot process その4

src/sys/dev/pci/pccbb.cのpccbb_power()、1315行目のtsleep(9)が戻ってこないとこまでは調べた。
tsleep(9)ってobsoleteだよね?

2007/11/17(Sat)

今日

奥日光で焼き鮎と揚げ湯葉饅頭食ってきた。

紅葉はすっかり終わってて初冬の荒涼とした光景、それもまた由。
東照宮から中禅寺湖のあたりは朱に金に染まって豪華絢爛だったけど
今回はそっちまで回る時間が無かったので来年リベンジということで。

[NetBSD] lib/36938

comp.std.cで白黒つけようぜということらしい。

2007/11/18(Sun)

今日

天気崩れると思ってたから日光は日帰りにしたのに今日も快晴、がっくし。

NikonScan 4は無圧縮TIFFを吐くので14bit/4000dpiだと1枚131-5MB程度なのだが
このサイズだと36枚撮りフィルムが4.7GBの片面DVD-Rにはギリギリ入らない大きさ。
LZWは写真の場合には逆効果だし、ZIPはサポートするアプリが少ないからしょうがないけど。

RAW(=NEF Nikon Electronic Format)も吐けるんだけど、ファイル圧縮非対応版なので
しょせんNEFの中身はTIFF + EXIFだからディスク容量節約の目的には使えないのよね。

DNG(Adobe Digital Negative)も他社のRAW同様TIFFの拡張みたいだけど、Adobeの配布してる
DNG Converterはファイル圧縮対応してるようなので、こいつに変換しちゃおうか。

2007/11/19(Mon)

lib/37290 その3

tsleep(9)がwakeup(9)してくれないので最新のHEADに更新できない状態なんだけど
あまり長いこと放置もしてらんないんで、あとでcommitしちまおう。
patchは ここ

そのうちja_JP.ISO-2022-JP-2.srcにGB2312とかKSC5601なんかも追加してかんとね。

$ cvs log -r1.2 share/i18n/esdb/ISO-2022/ISO-2022-JP-2.src
add GB2312 after JIS0208/0213, then there's no confusion.

some chinese chars may get converted into JIS0208/0213 on
"iconv -f utf-8 -t iso-2022-jp-2".  but anyway, it's iso-2022-*jp*-2 so
japanese chars should take precedence.
XXX what should we do about X11 ctext?

i really hate unicode han unification.
do we really need to support language tags?

Xutf8のUTF-8 -> CompoundText変換はこんなかんじ。

$ cat >text.c
#include <stdio.h>
#include <stdlib.h>
#include <X11/Xlocale.h>
#include <X11/Xutil.h>

int
main(void)
{
        Display *d;
        XTextProperty tp;
        char *u8 = "\xe3\x80\x80"; // U+3000

        printf("%s\n", setlocale(LC_CTYPE, ""));
        d = XOpenDisplay(NULL);
        Xutf8TextListToTextProperty(d, &u8, 1,
            XCompoundTextStyle, &tp);
        printf("%.*s\n", tp.nitems, tp.value);
        XCloseDisplay(d);
}
^D
$ cc -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 -Wl,-rpath,/usr/X11R6/lib -o test test.c

$ LC_CTYPE=ja_JP.eucJP ./test
ja_JP.eucJP
ESC$(B!!

$ LC_CTYPE=zh_CN.eucCN ./test
zh_CN.eucCN
ESC$(A!!

へぇ、現在のロケールでJISX0208使うかGB2312使うか決めるのね。
XFree86 4.0.2の当時からこんな動作したっけ?

異体字セレクタの登録状況って全然知らんのだけど
JISX0208とGB2312のそれぞれのU+3000(IDEOGRAPHIC SPACE)は異体字扱いになるんだろか?
そこまではさすがに想定してない気がするのだが。

異体字セレクタが使えないとなると

$ iconv -f UTF-8 -t CTEXT

ではなく

$ iconv -f UTF-8 -t ja_JP.CTEXT

という解決策くらいしかないよな気がするのだが、どうしたものか。