ファイルを開いたりするとこんな感じで死ぬ。
(process:91246): GLib-GObject-CRITICAL **: gtype.c:2242: initialization assertion failed, use IA__g_type_init() prior to this function
(process:91246): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0′ failed
(process:91246): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)’ failed
どうやらバグらしい。
http://www.nabble.com/Re:-GLib-GObject-CRITICAL-td13904374.html
とかに解決が載ってるが、手っ取り早いのは環境変数 OOO_FORCE_DESKTOP=gnome を設定すること。ただし、終了は ^C で・・・だが。
月: 2008年2月
トイレ
母校
PICOComputing
Compact Flash サイズの FPGA カードとか:
http://picocomputing.com/products/cards.php
かわいい。
AC 3P-2P adapter
たいやき
Mac
最近は ThinkPad を持ち歩くことが多かったのだが、昨日から MacBook.
ThinkPad は、ちゃんとした Unix 環境が入っているので不自由はないのだが、
やっぱりMac はいいね。
404 Error
404 Error: 寝る暇もありません。
これから寝るけどな!
カメラ修理その後
修理 (オーバーホール込み) の見積りがきた。
Nikomat FTn: 17430円
Nikon F Photomic FTn: 33390円
だそうだ。2、3週間で直って返ってくるとのことで、楽しみ。
それぞれ、状態を問わなければ中古で買えそうな値段ではあるが、
動かない機械が動くようになる値段としては、ちっとも高くないね。
panic: No BIOS smap info from loader!
研究室の端末 PC はほとんどが hp 製品で、PentiumD 以降のプロセッサは EM64T なので、FreeBSD/amd64 を動かそうと思って準備している (いまは FreeBSD/i386 だが、diskless なので、親玉サーバでユーザ環境を作って DHCP の設定を変えるだけだ)。
ところが、最新の dx7400 を除くモデル (PentiumD な dc7600 や、Core2Duo な dx7300) では FreeBSD/i386 は起動するものの、FreeBSD/amd64 は kernel panic してしまう。
SMAP、というのはキムタクのあれではなくて、BIOS からもらえる System Memory mAP なのだが、これが hp のちょっと前の世代のマシンではうまく取得できないらしく、google で探すとかなりいろいろでてくるのだが、解決した気配はない。わかったことは、
– FreeBSD/i386 なら起動する、というマシンは loader prompt で smap コマンドを叩いても、何も出ない。つまり、FreeBSD/i386 でもちゃんと取得できていない (loader は同じみたいだしね)
– FreeBSD/amd64 がちゃんと起動するマシンは smap コマンドを叩くとちゃんとリストが出る
ということだ。
で、この panic を出しているのは
– sys/amd64/amd64/machdep.c の 898 行めで、loader が取得した値をそのまま使っている
– 対応するところは i386 だと、sys/i386/i386/machdep.c の 1751 行めあたりで、loader に頼らずに自力で取りにいっている
というわけだ。
さあて、どうするか。
私物の ThinkPad の SMAP table はこんな感じ。
SMAP type=01 base=00000000_00000000 len=00000000_0009d800 SMAP type=02 base=00000000_0009d800 len=00000000_00002800 SMAP type=02 base=00000000_000d2000 len=00000000_00002000 SMAP type=02 base=00000000_000e0000 len=00000000_00020000 SMAP type=01 base=00000000_00100000 len=00000000_bf5b0000 SMAP type=03 base=00000000_bf6b0000 len=00000000_0001c000 SMAP type=04 base=00000000_bf6cc000 len=00000000_00034000 SMAP type=02 base=00000000_bf700000 len=00000000_00100000 SMAP type=02 base=00000000_bf800000 len=00000000_00800000 SMAP type=02 base=00000000_f0000000 len=00000000_04000000 SMAP type=02 base=00000000_fec00000 len=00000000_00010000 SMAP type=02 base=00000000_fed00000 len=00000000_00000400 SMAP type=02 base=00000000_fed14000 len=00000000_00004000 SMAP type=02 base=00000000_fed18000 len=00000000_00001000 SMAP type=02 base=00000000_fed19000 len=00000000_00001000 SMAP type=02 base=00000000_fed1c000 len=00000000_00004000 SMAP type=02 base=00000000_fed20000 len=00000000_00070000 SMAP type=02 base=00000000_fee00000 len=00000000_00001000 SMAP type=02 base=00000000_ff000000 len=00000000_01000000 SMAP type=01 base=00000001_00000000 len=00000000_3c000000
http://www.uruk.org/orig-grub/mem64mb.html に、int 15h:e820h の説明がある。
Linux を dx7300 で起動してみると、
BIOS-provided physical RAM map: BIOS-e820: 00000000_00000000 - 00000000_0009fc00 (usable) BIOS-e820: 00000000_0009fc00 - 00000000_000a0000 (reserved) BIOS-e820: 00000000_000e8000 - 00000000_00100000 (reserved) BIOS-e820: 00000000_00100000 - 00000000_7efb1d00 (usable) BIOS-e820: 00000000_7efb1d00 - 00000000_7f000000 (reserved) BIOS-e820: 00000000_f4000000 - 00000000_f8000000 (reserved) BIOS-e820: 00000000_fec00000 - 00000000_fed40000 (reserved) BIOS-e820: 00000000_fed45000 - 00000001_00000000 (reserved)
みたいにちゃんと SMAP が取れているので、loader を hack すればなんとかなるかな?