Entries from 2006-02-01 to 1 month

プール

クロール:1000m。 今日は一人。

パケット消失調査 夜の部

排他処理がやばそうなところできちんとMutexを利用して排他した。 別に待たされても良いので trylock でなく、lockで。 これでいったん動作を確認する。 ちなみに興味のある方は mones2/22.ネットワークサーバ/14.きちんと排他しようにソースがあるのでどう…

ubuntu for coLinux

http://www.ubuntulinux.jp/download/の「Unofficial Ubuntu 5.10 Japanese coLinux Image」を試してみた。 起動してネットワークもつながるが、起動中にmodprobeのFATALが出ているのが気になる。 Feb 28 14:56:53 localhost modprobe: FATAL: Could not loa…

パケット消失調査

完全に作業ログとなっていて日記じゃない気がするけどこういう開発過程を全部見せるのがMona流ということでひとつ。 Ethereal, serial.log, QEMU.logを比べてどこでパケットが落ちているか調べる HTTP GETした際にアプリケーション側にパケットが全て届かな…

ubuntu

クリップボードの共有もできたし SCIM Anthyは結構快適。 apt-get install xemacs21で xemacsを入れたんだけれどもここでSCIM Anthyを使えるようにするにはどうしたらよいんだろうか。ちなみにxemacsを起動すると (1) (xim-xlib/warning) Can't get fontset …

今後のtodoまとめ

問題が再現するように、まずタイムアウト間隔を元にもどす。 QEMU内でパケットが消失しているか?→dumpの仕組みは作った SEQNOの不一致問題を調べる。ずれていないか? まずはIPのidが一致しているか?→一致している(swapShortをはさむ) TCPのプロトコル番号が…

帰り道

パケット届いているのかよ調査3

Monaのパケット受信タイムアウトサイクルを100ms -> 30ms にしたら、結構まともに返ってくるようになりました。 まともに返ってくる分、検証がしづらくなったなぁ。今後の方向性として 「タイムアウトサイクルを元に戻して、細かく調べる」のと「とりあえず…

mF247で見つけたかっこいい曲 - Lady bird

昨日、パソコンで作業中に携帯音楽プレイヤーの電池が切れました。 充電セットを持っていなかったのですが、どうしても何か音楽を聴きながら作業したかったので、ダメ元でmF247で曲を漁りました。 トップページにダウンロード数のランキングがあるのですが、…

ネットワークカードドライバの移植・実装をしてくれる人を募集します

MonaプロジェクトではNICドライバを移植または実装してくれる人を募集しています。 実装希望NIC Am79C970(Vmware) サポート 開発環境セットアップ・割り込み処理・I/OなどMona固有部分は完全にひげぽんがサポートします。またNE2000の実装をサンプルとして提…

パケット届いているのかよ調査2

実況中継気味。 todo 1. QEMU内でパケットが消失しているか? 2. プロトコルスタックの後半でパケットが捨てられていないか? 3.MonaからのパケットのIPヘッダのFlagsは0 4.MSSが1446になっているが、データサイズが安定していない 5.MonaからのAckパケットに…

パケットちゃんと届いてるのかよ調査

uIPがパケットを受信した直後(パケットのdrop判断をする前)にTCPパケットをlogprintでdumpするようにした。 logprintfはserial portに出力するのでQEMUを --serial file:serial.logと起動してみたがだめだった。 id:Yamami:20050516#p1のように、vl.cに直接…

継続

とにかく毎日続けよう。 少しでも良いから前に進もう。 良い後回しをしてでも、本当にやるべきことをやろう。 自分にとっての誘惑&避けたいもの 短期間で派手な成果が上がる(もしくそう見える)ようなことでお茶を濁す インパクト勝負の繰り返し 良い後回し…

Mona構造図

どなたかがMonaの構造図を描いてくれた。 素晴らしい。この場を借りてお礼を申し上げます。

パケットが切れる件の調査4

皆さんからさまざまなアドバイスいただきました。 やはりパケットのやり取りがかなり怪しいとの事なので EtherealでダンプされたパケットをMonaがうけとっているか調べる タイムアウトを疑う あたりで進めようと思います。金床さんからありがたい申し出があ…

プログラムを書くときに便利なEmacsコマンド

Meadow/Emacsスーパーチュートリアル (Front Programmer Series)作者: 松下晃久出版社/メーカー: 秀和システム発売日: 2004/10/29メディア: 単行本 クリック: 62回この商品を含むブログ (18件) を見る 会社にあったこの本を手にとってパラパラとめくっていた…

目黒川

パケットが切れる件の調査3

今日も実況中継気味。 EtherealでTCPのコネクション開始からレスポンスの中途半端終了まで詳細に見渡してみる。 パケットは全部で54個やり取りされているので慣れるまでは全部見ていったほうがよさそう。 packet number source(port) destination(port) Seq …

Perl Swig におけるSTLのvector/string typemap

Google Cacheからお宝発見。http://72.14.207.104/search?q=cache:-HxRbJf6tigJ:mailman.cs.uchicago.edu/pipermail/swig/2002-August/005367.html+typemap+perl+swig+array+char&hl=ja&gl=jp&ct=clnk&cd=4 PerlのSwigとC++のSTL(vector, string)のtypemap。…

レスポンスが途中できれてしまう件の調査

実況中継気味 以前のバージョンのQEMU + Mona でも、QEMU-0.8.0でも発生する問題。 現象 Monaからはてなダイアリーなどを HTTP GET したときにGETした内容が途中できれてしまう。 長いパケットが途中できれてしまう疑惑。 検証1 どこの段階でパケットが切れ…

パケットが切れる件

GETリクエスト不正の原因調査 Etherealレベルでパケットが切れているか再調査 切れている場合はTAPを再インストールしてみる。 の3つを調査。 GETリクエスト不正はバグだった→修正 Etherealレベルで見ると、正確には「パケットが全部届いていない」 TAPは専…

QEMU(TAP)でデータ受信ができない件の調査(その後)

kazuさんからLinuxだとIRQが11だと情報を頂き、早速試して見たところうまくいきました。 情報ありがとうございました。 結局、まとめると 現象:Monaからのパケット送信はできるが受信ができない 原因:IRQが間違っていたので割り込みが来ずパケットの受信だ…

color-moccur

以前から使っていたのですが使いこなせていなかったので改めて調べました。 http://www.bookshelf.jp/soft/meadow_50.html#SEC727 新発見としては qで終了 sで更に絞込み ヽ(´∀`)9 これは便利!! (setq moccur-split-word t)で複数語が可能 あとは .svnを検…

Windowsで仮想デスクトップ

Linuxな人が仮想デスクトップ利用しているのがうらやましいのですが(使ったことない)。 Windowsにもあるようですね。 ちょっと調べた感じだと MS純正の「Virtual Desktop Manager」 「Virtual Desktop for Win32」 などが見つかりましたが、使い勝手や動作…

QEMU(TAP)でデータ受信ができない件の調査

以下の手順で調査中。 readができていないということは、割り込みがきていない? NicServerレベルでは割り込みがきていない? ではkernelレベルでは? → irq 9に割り込みがきていない。 NE2000: Set IRQ line 16 to 1 (43 01)というメッセージがQEMUコンソール…

QEMU-0.8.0デバッグ中

実況中継気味。 現象 QEMU-0.8.0(with vlan, tapパッチ)でMonaを実行するとNE2000が見つからない。 検証1 QEMUのne2000.cにデバッグ文埋め込みスタート #define DEBUG_NE2000を有効にする 初期化処理っぽい、void pci_ne2000_init(PCIBus *bus, NICInfo *nd)…

QEMU-0.8.0をWindowsでビルドする方法(How to build QEMU-0.8.0 on Windows MinGW)

QEMUのTAPあたりをデバッグする必要があったのでQEMU-0.8.0をビルドする方法を調べたのでまとめておきます。 方法は、基本的にQEMU同梱のqemu_doc.htmlに従っています。 1.http://www.mingw.org/からMinGW、MSYSをダウンロードしてインストール。(そのときの…

む?NE2000が見つからない?

QEMU on Windowsさんの配布する vlan, tapパッチを取り込んで START /MIN qemu.exe -L . -cdrom C:\higepon\MonaNew\tool\mkimg\mona.iso -net tap,ifname=my-tapと起動した。(tapオプションがアクセプトされているのでパッチはあたっていることが確認でき…

NetServer、libnetを追加

uIPをラップしたサーバー(NetServer)とネットサーバーを利用するライブラリ(libnet)をCVSに追加しました。 以前から言っている通りネットワーク実装は、他の方の実装もあるので、NetServerはあえてcoreにはいれず、contrib_0.3に入れてあります。 libnetを利…

メインマシンがLinuxって快適ですか?

「ひげぽん OSとか作っちゃうかMona- - Linux環境に移行しきれない僕ら」でいろいろご意見を寄せていただいたところ、みなさんいろいろと試行錯誤の環境でした。 とおもったら、身近に潔い人がいた。 友達(D3の院生)はX30にDebianを入れて普通に持ち歩いてい…