初詣には少し遅いが神田明神におまいりに出かけた。
外は天気は良いものの、風が強く、寒い一日だった。
おまいりを済ませたあと、まんじゅうを食べて、おみくじをひいて、お守りをいただいて帰ってきた。
寒い中でのまんじゅうは実に旨かった。
おみくじは末吉。まじめにやれば、いいことあるよ、てな感じだった。楽して儲けるとかそういうことは縁が無さそうですね。
お守りは神田明神らしくIT情報安全祈願と病気平癒御守の二つ。人間も計算機も元気がなによりですな。
その後、万世で昼食をとり、交通博物館を見に行った。
万世のハンバーグは肉の味がしてよいですね。うん。
交通博物館は初めての体験。連休ということもあってか混雑していた。
ずいぶん歩き回って、かなり楽しめたな。
CBUG新年会がアキバで開催なので、それまでぶらぶらと歩き回る。
NEWS用のMAUを中心に見て回っていたのだけど、なかなかみつからず。
絶対どこかの店にあるはずなのに、探すと見つからないのは修行が足りない証拠ですかね。うむ。
大漁、ETS、エレパ、パレット、Ottoなどのありそうな店を探してみたもののMAUは時代の流れか見つからず。
参加。
とりとめのない話の中に興味深い話がたくさん。
にょろにょろピリオドとか。
USB-Serialの動作確認してみたらサクっと動いてしまったので (本人は別として) 拍子抜け。
OS入れて (Xは入っているとして) 最初に入れるpackageってなにとか。twmよりfvwmでしょとか。
自分はkterm -> lv -> freewnn -> kinput2までは一本道かも。
simokawaさんに二次会でfxpを2枚も頂いた。頂いたのは5年ほど前のものらしい。fxpは複数の種類があるらしく、頂いたものはmulti-castが云々とレクチャーを受ける。
大切に使わねば。
二次会がおわるとけっこうな時間になっていたので急いで帰る。
怠惰に過ごした一日だった。
近所のダイソーと東急ストアで買いものしたり。
昨日の新年会でRTCの書き込みでエラーがでるという話を聞いたので再現するかテストを実施した。
obs266# ntpdate ntp1.jst.mfeed.ad.jp 12 Jan 15:22:58 ntpdate[2826]: step time server 210.173.160.27 offset 27.311553 sec obs266#
問題なく動作しているように思える。syslogにもメッセージはでていない。
obs266# uname -a NetBSD obs266.home.tokuda.net 1.6ZG NetBSD 1.6ZG (OPENBLOCKS266) #0: Sun Jan 4 23:55:44 UTC 2004 root@cube:/usr/export/o/20040103/evbppc/sys/arch/evbppc/compile/OPENBLOCKS266 evbppc obs266#
IRCで/etc/rc.d/ntpdate forcestartというのを教えてもらう。
obs266# /etc/rc.d/ntpdate forcestart Setting date via ntp. xrtc0: xrtc_clock_write: failed to write rtc at 0x7 resettodr: failed to set time Jan 12 15:32:50 obs266 /netbsd: xrtc0: xrtc_clock_write: failed to write rtc at 0x7 Jan 12 15:32:50 obs266 /netbsd: resettodr: failed to set time Jan 12 15:32:50 obs266 ntpdate[3550]: step time server 63.73.218.130 offset 0.008924 sec obs266#
てことで、エラーが発生した。
さらにntpdate -bでも同様のエラーがでることを確認した。
二つの差はadjtime(2), settimeofday(2)の違いということになるようで、後者がRTCへのwriteを行なうようだ。なので、RTCへの書き込みは失敗しているということになる。
あと、port-powepc-ja@jp.netbsd.orgでconsoleの件に関する続報パッチが出てる。
朝から機嫌が良かった。けど、時間はぎりぎり。っつーか、遅れ気味。
エラーがでている。
Jan 13 17:15:25 obs266 ctl_cyrusdb[470]: checkpointing cyrus databases Jan 13 17:15:25 obs266 ctl_cyrusdb[470]: DBERROR: archive /var/imap/db: cyrusdb error Jan 13 17:15:25 obs266 ctl_cyrusdb[470]: done checkpointing cyrus databases
mkdirの末尾にある"/"の扱いというメールが発見されたが、このメールにあるpatch-akというのは現在使用しているサーバでも適用されているので、なんかおかしい気がする。
archiveが作成できないというのは、DBの動作としては不安な気がするけど。
/var/imap, /var/spool/imapをpaxで固めて別マシンで展開すれば動くかと思いきや、dbが読めんとかそういうエラーで止まる。
i386からevbppcへの移行においては、archが違うのでダメみたい (archが同じならば問題なく移行できるそうだが)。
ctl_mboxlist, ctl_deleverなどを組み合わせればうまくいくかと思ったが、結局のところうまく読み込めない。
IMAPのフォルダごとサーバ間で同期させるプログラムがきっとどこかにあるのだろうか。
MAUを譲ってもらう。HPブランドのMAUを二つ。HPロゴがカッコイイ。
明日にでも試してみよう。
thttpdを使っているんだけど、SSLには対応していない。thttpdのFAQを読むとstunnelを使いましょうと書いてある。
stunnelは汎用のSSLラッパーらしい。
それらを調べているとWyvernというWebサーバを見つけた。thttpに比べるとソースのアーカイブのサイズはかなり大きいけどWyvern: ミニウェブサーバのページを見ると小さいWebサーバらしい。
SSLにも対応していたり、なかなか高機能かもしれない。
冬は寒くて自転車はつらすぎ。
MAUをつないでネットワークの設定。
普通に使える。普通に使えることがすごいことなんだなぁとしみじみする。
HDDを交換すべく、本体を分解しようと試みる。
なんだか、どこから手をつけて良いのやら。マザーボードがスライドさせられそうで接着されていそうで動いてくれない。
分解しているWebページを探してみたが、NWS-3470Dを分解しているページは発見できていない。ほかのNEWSを分解しているページはあるんだけど、NEWSはそれぞれの型で構造が変わっているようで、どうも勝手がわからないと言う状態。
もう少し地道に探すか外付けのSCSIハードディスクを接続するか。うーむ。
めずらしく落ちていた。
obs# trap type 1400 at 8010f8e8 Stopped in pid 1852.1 (ci) at netbsd:__syncicache+0x20: dcbst 0,9 db> db> trace at vmcmd_readvn+c0 at vmcmd_map_readvn+ac at sys_execve+614 at syscall_plain+d8 at cpu_switchto+72c trap type 1400 at 80110970 Faulted in DDB; continuing... db>
CRAM-MD5を使おうとすると
Jan 14 15:30:29 cube imapd[14022]: badlogin: localhost[127.0.0.1] CRAM-MD5 [SASL(-13): user not found: no secret in database]
と表示される。実際にはsaslpasswd2でユーザを作っているのでおかしい。
結局のところ/usr/pkg/etc/sasldb.dbのパーミッションがおかしかったようだ。
なにも考えずchmod 777とかしてみるとあっさりCRAM-MD5で認証された。DIGEST-MD5も同様である。本当のパーミッションはどうすべきなのだろうか?
CRAM-MD5があっさり使えた別のマシンを確認すると
-rw------- 1 cyrus mail 16384 Jan 13 16:24 /usr/pkg/etc/sasldb.db
となっている。たしかにこれは適切っぽいなぁ。
UW-IMAPのmailbox utilities (pkgsrc/mail/imap-uw-utils) を試す。
このパッケージは複数のコマンドから構成されており、今回のようにサーバ間のフォルダのコピーがやりたい場合にはimapxferというコマンドを使えば良いらしい。
また、このコマンドはUW-IMAP専用というわけでなくIMAPプロトコルに対応したサーバならばcyrusでもcourierでも良いみたいで都合が良い。
imapxferコマンドの書式はだいたい次のとおり。
imapxfer "{コピー元ホスト名}" "{コピー先ホスト名}"
ダブルクォートと括弧は省略できないのでそのまま記述する必要がある。
今回の移行は次のコマンドで行なった。
./imapxfer "{192.168.100.39}" "{192.168.100.80}"
コマンドを実行すると、それぞれのサーバに接続し、ユーザ名とパスワードを聞いてくる。認証完了後、フォルダを同期してくれる。
cyrusのフォルダはINBOXフォルダの下にサブフォルダを作っている。imapxferはINBOX配下のサブフォルダも再帰的にコピーしてくれる。
ただ、実行中に次のメッセージが大量に表示される。
?Permission denied
このメッセージといくつかのキーワードをもとに検索してthe Cyrus Imap server does not permit /authuser accessという記述を見つけた。
で、実際にメールはコピーできたのかどうか。これは、手動で確認するのがローテクながら確実と思い、いくつかのフォルダのメールの個数と未読数をコピー元とコピー先で比較した。
確認したフォルダに限っては、メールの数と未読数に差異はなかった。したがって、正しくコピーされているように思える。
あとは、メールアドレスの書式が云々のメッセージも表示されていた。ログをきちんととっていなかったので、もう一度やりなおしてみる必要がありそうだ。
このコマンドがあれば、メールのバックアップは比較的楽にできるかもしれない。ただし、ユーザ名とパスワードをインタラクティブに与える必要があるのでcronに仕掛けたりする用途には向いていないのかもしれない (自動入力ツールを使えば問題ない気もする)。
どんどん朝が遅くなっている気がします。
夜、しっかり寝られていない気がする。
XCAST6への対応を行なう。
hamajimaさんの-currentパッチをあてたkernelとlibxcast, ping6x, traceroute6x, tcpdumpを作る。
ローカルネットワークでping6x, traceroute6xをテストして、feel6なv6接続で同様のテストを行なう。
とりあえず、反応はちゃんとあるようなので動いていると思われる状態かな。
これまでのMidnight XCAST Meetingのtraceroute6の結果を見るとfeel6からだとややネットワーク的に遠そうな感じ。
xcast.jpの接続サービスに申し込んでみよう。
xcgroupはまだだし、vicはXが必要だし。いろいろやることあるなぁ。
NEWSの分解方法に関するメールをTsubaiさんから頂く。ありがたいことです。
分解ページを作る決意を固める。
壊さないように注意しよう。
朝がだめすぎです。
ついでに寒すぎです。
IPv6接続の件についてメールをもらう。原則としてCBUGを使って欲しいとのこと。
テンポラリでの割り当てについても対応して頂いた。ありがとうございます。
ただし、CBUG側のXCASTルータがなにやら雲ゆき怪しい感じ。
NetBSD/macppcのbuildをMKX11=yesで実行してXのバイナリを作る。
setenv DISPLAYして別のマシンのXにOBS266からxtermを飛ばす。
おぉ、動くではないか。
xcgroupとかvicとか作りはじめる。
あとVNCを使えばOBS266で完結できるじゃないかということでVNCも作る。
時間がたっぷりかかるので途中で寝た。
朝は体操に出かけてみる。
あまり体操になっていなかったけど最初はこんな感じだろうという気もする。
そのあとXCASTなmeetingに参加してみたり。
朝起きたらVNCのコンパイルが完了し、vicのコンパイルがこけていた。
VNCを起動してみた。おぉー、ちゃんとOBS266でXが動いている!
しばらく放置していたら、なんか (OSが) 落ちてますけど...
Stopped in pid 5597.1 (gcc) at netbsd:uvm_anfree+0x30: lhz r0, r11, 0x2a db> db> trace 0x83efbd70: at amap_wipeout+c4 0x83efbd90: at amap_unref+104 0x83efbdb0: at uvm_unmap_detach+160 0x83efbde0: at uvmspace_free+a0 0x83efbe00: at uvm_proc_exit+10 0x83efbe10: at exit1+294 0x83efbeb0: at sys_exit+38 0x83efbed0: at syscall_plain+e8 0x83efbf40: user SC trap #1 by 0x4190f89c: srr1=0xc030 r1=0xfffeb480 cr=0x22000022 xer=0 ctr=0x4190f894 esr=0x800000 pid=0x 41 db>
きをとりなおしてvicのコンパイルに挑戦。
evbppcなんて知らないもんねー、とconfig.subに文句をいわれてるらしい。それっぽいところ (powerpc とかかれているところ) に evbppc な文字列を追加して先に進める。
実はlibxcastとかヘッダファイルとか入っていないのに気づいて何度もcompileからやりなおしたり。
configureが次のようなWARNINGを吐いている。なにかチョンボしてるっぽいぞ。
configure:3200: checking netinet6/xcast6.h presence configure:3207: gcc -E conftest.c configure:3213: $? = 0 configure:3231: result: yes configure:3242: WARNING: netinet6/xcast6.h: present but cannot be compiled configure:3244: WARNING: netinet6/xcast6.h: check for missing prerequisite headers? configure:3246: WARNING: netinet6/xcast6.h: proceeding with the preprocessor's result configure:3249: checking for netinet6/xcast6.h configure:3256: result: yes
meetingまで時間がないのでとりあえずmakeしてしまう。
しかし、次のエラーで止まってしまう。
obs266# make rm -f main.o; g++ -o main.o -c -O2 -g -W -Wall -Wno-implicit-int -Wno-return-type -DHAVE_LIBXCAST -DNetBSD_ -DHAVE_IPV6 -DKAME_IPV6 -DUSE_SHM -fsigned-char -DED_YBITS=4 -DSIGRET=void -DNLAYER=8 -I. -Icodec/tmndec -Icodec/tmn-x -Icodec/h263 -Irtp -Irender -Inet -Ivideo -Icodec -I../common.new/src -I../tk-8.0/generic -I../tcl-8.0/generic -isystem /usr/X11R6/include -Icodec/jpeg -Icodec/p64 -I. main.cpp cc1plus: warning: "-Wno-implicit-int" is valid for C/ObjC but not for C++ main.cpp: In function `int main(int, const char**)': main.cpp:438: error: invalid conversion from `void (*)(...)' to `void (*)(int)' main.cpp:440: error: invalid conversion from `void (*)(...)' to `void (*)(int)' main.cpp:441: error: invalid conversion from `void (*)(...)' to `void (*)(int)' *** Error code 1 Stop. make: stopped in /usr/home/tokuda/vic/vic-2.8ucl-1.1.3/vic obs266#
ん? main関数でエラー?
ここで時間切れ。
hamajimaさんのpowerpc用binaryを頂いて試してみる。
別マシンのXに表示させるとvicのrtpNameを入れるウィンドウはうまく表示されるが、そのあと次のようなエラーを表示して起動できず (一瞬vicのウィンドウらしきものが表示される)。
obs266# ./vic localhost/11000 /dev/ugen0.00: Device not configured vic: warning: not using shared memory vic-2.8ucl-1.1.3: tcl runtime error: vic: vic_main stack trace: rate_variable: invalid filter constant while executing "rate_variable fpshat($src) $gain" (procedure "set_rate_vars" line 11) invoked from within "set_rate_vars $V(session)" (procedure "init_gui" line 20) invoked from within "init_gui" (procedure "vic_main" line 22) invoked from within "vic_main" Please mail this error message and, if possible, an explanation of what user-action caused it to vic@cs.ucl.ac.uk. Segmentation fault (core dumped) obs266#
VNCで表示させようとすると次のようなエラーで起動できない。
obs266# ./vic localhost/11000 /dev/ugen0.00: Device not configured vic: no support for your display type TkFontPkgFree: all fonts should have been freed already Abort (core dumped) obs266#
ということでOBS266での参加は断念する。
初参加。
はじまり方が良くわからず、直前になって情報を入手する。
xcgroup, vic, ratの引き数をきれいさっぱり忘れていたので、しばし手こずる。
はじまってしまうとトラブルの連続。
xcgroupはおちるはdtcpトンネルはおちるはで回線ボロボロ。
やっぱり不安定+帯域不足な感じ。
そんななかでvicはかなり良い感じ。ratは特定の人の声だけがクリアに聞こえるものの、他の人は遠い声かきこえないかのどちらかになってしまう。
家の中がバタバタしてしまい、参加者に怪奇現象を体験させてしまう。
最初はIRCを使わずになんとか進めていたが、途中からIRCでトラブルの解析を行なっていた (自分は見てるだけだった)。
しかも、途中で離脱してしまったので最後まで参加できなかったのはとても残念だった。
近いうちに光ファイバが整備されるので回線の問題は解消されるだろうけど、meetingそのものについてもう少し練習しておかないとだめだなぁと感じた。今の状態だと、参加回数だけ重ねている感じだし。
何度もmeetingに参加している人は障害の切り分け方や上手な意志疎通の方法を見につけているので見習わないといけないです。
寝てばかりだった。
睡眠が浅くて困る。
XCAST Meetingの報告を書く。
日記とか色々書く。
生産的な行為はありませんねぇ。
OBS266のXCAST6対応で燃えつき気味。
いかんいかん。
vncserverを終了させるとdb>に落ちるような気がしますけど。
RTCの新しいパッチを試さないといけないなー。
昨年のオープンソースのつどいで名古屋に出かけた時、NBUGの皆さんに連れていって頂いた焼肉屋のまっちゃんが閉店していたらしい。
名古屋に立ち寄った際には、絶対にもう一度あの味を... と思っていただけに、残念でなりません。
なんか、悲しくなってしまいました。
月曜の朝から雨降るのやめようよ。まじで。
駅までけっこう歩いたなー。
バッテリが弱ってしまって悲しい。
新しいバッテリを買おう。決心したよ。もう。
やっぱし、XCAST6動作報告しないといかんすか。
IRCで教えてもらって、vicのmain.cppのエラーの件は#define SIGARGS int argするとcompileが進んだ。
時間がかかるので寝よう。
NEWSさわる時間くれぇー。
いろいろな対策のおかげで夜は比較的安定していた。
メールはこちらへ...[BSD小僧 (tokuda @(at) tokuda .(dot) net)]
この日記は、GNSを使用して作成されています。