bitcoin.sourceforge.netが落ちている
ご存じでなければ、ビットコインの公式サイトが落ちている。
http://bitcoin.sourceforge.net/
You are running bitweaver in TEST mode
* Click here to log a bug, if this appears to be an error with the
application. * Go here to begin the installation process, if you haven’t done so already. * To hide this message, please set the IS_LIVE constant to TRUE in your kernel/config_inc.php file.
ダウンロードしたら起動した。CPUをかなり使っているので、ちゃんと動いていると思う。既存ブロックがダウンロードされていないが、これはバグなの? それとも新機能?
Gnomeのシステムトレイはあまり安定していない。アイコンが消えてしまって、プログラムに戻る術がなくなることがある。これがビットコインでも起こり得ることを確認した。既にビットコインが起動している状態でビットコインを起動すると、既に動いているビットコインのプロセスのGUIが前面に出るようになっているとありがたい。
そういう意味だ。プログラムを動かしている間、ステータスバーに表示されるブロック数は全く増えなかった。debug.logを添付した。
Gnomeでトレイアイコンの動作を確かめるには、通知領域を一度削除してから戻すといい。通知領域を戻した後にアイコンが表示されていれば、正しく動いているということだ。
普段、私はアプリケーションの設定でトレイ最小化はオフ、トレイ終了はオンにしている。そしてアプリケーションは常時最小化している。こうすれば、誤ってプログラムを閉じてしまうこともなく、トレイから開ける利便性も保てる ( タスクバーにはウインドウを表示しないが、クリックするとサブメニューで開いているウインドウ一覧を出すアイコンを置いている )。もしトレイアイコンが消えたら、設定でアイコン表示をいったん無効にしてから再度有効にすれば戻る。ところが、ビットコインの設定ではこれができない。トレイ最小化のチェックを入れないと、トレイ終了のチェックが入れられないからだ。
よし、ブロックが増え始めた。Windows版より明らかに増え始めるまでに時間がかかるし、増え方もWindows版より遅いように思える。送ってもらったLinuxビルドは、デバッグが有効になっていたりしないかな? ブロックは1秒あたり約15個ずつ増えている ( 時計を見ながらの目視推定 )。Windows版での増加速度は計っていなかったが、もっと速かった気がする。
増加が速くなり始めるまでに30分くらいかかった。興味深いことに、安定して増加し始める前にCPU使用率が上がり、安定して増加し始めると下がった。とはいえ今回はブロックが最初の数分で2まで増えた。まだビットコインは生成できていない。我慢が続く限りビットコイン生成を待つつもりだが、我慢が切れるまでに1枚も生成できなかったら、Wine版に戻る。
現在のdebug.logを添付した。
ビットコインを起動した時、ビットコインのポートが使えないと、コマンドラインに以下のメッセージが出る。ポートが使えるときは、このメッセージは出ない。既定ポートが塞がっているときは、ビットコインが別のポートを選べるようにできないかな? BitTorrentクライアントでも同じことがときどきある。再起動すると、直前まで開いていたポートが閉じている。ポートを変更するだけで動くようになる。
/usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64 Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so /usr/lib/gio/modules/libgioremote-volume-monitor.so: wrong ELF class: ELFCLASS64 Failed to load module: /usr/lib/gio/modules/libgioremote-volume-monitor.so /usr/lib/gio/modules/libgiogconf.so: wrong ELF class: ELFCLASS64 Failed to load module: /usr/lib/gio/modules/libgiogconf.so
ビットコインを同時に二つ動かす理由は、ビットコインを別のインスタンスに移すためだ。もちろん、別々のデータディレクトリを使う必要がある。これはコマンドライン引数で指定できるといいかもしれない。いまは仮想マシンにビットコインのデータフォルダを移して対応している。ビットコインを終了して別のデータディレクトリで起動し直すのは、未確定のビットコインがある状態で終了するとそれを失う恐れがあるので、よい解ではない。
ポート使用中エラーが出たとき、ビットコインは確実に動いていなかった。私の経験ではビットコインは素早く確実に終了するが、ポートが再び使えるようになるまで30秒から3分 ( 記憶からの推定 ) かかる。Wine上のbitcoin 0.1.5からLinuxビルドに切り替えた時、またLinuxビルドからWine上のbitcoin 0.1.5に切り替えた時に起きた。
もう一つ気付いた点として、aboutダイアログのテキストが収まりきっておらず、ダイアログのサイズも変更できない。
多重起動したい別の場面は、ビットコインのアップグレード時だ。旧版のビットコインでは生成チェックボックスを外し、別データディレクトリで新版のビットコインを起動して採掘を開始する。旧アプリのコインが熟成したら新アプリに送って、それから旧アプリを閉じる。既存データを引き継いだ上書きアップグレードよりも、クリーンインストールの方が好みだ。
このLinuxビルドに貢献したみんな、本当にいい仕事をしてくれた ! がんばってくれてありがとう。ビットコインが熟成し始めたので、Wine上のWindows版と比べてコイン生成の性能が同等以上か劣るか判断がつくまで、当面Linuxクライアントを使い続ける。
Linuxビルドはこの20時間でビットコインを十分な量生成できているし、データベースエラーについてのあなたの説明も信じているので、今後はLinuxビルドを使い続けるつもりだ。Linuxビルドで少し困った点が一つあって、ファンが50% から100% に上がってしまった。:-P CPU制限はかけられると分かっているので、耐えられなくなって生成量の減少を許容できるなら、そのうちCPU制限をかけるかもしれない。あるいは、もっと音楽を聴くことにすべきかもしれない…
熟成中のコインを6セットも失った ! 熟成中のビットコインが10セットあった。最後のセットは0:22頃に生成されたものだ。ビットコインが固まる前に2/未確認まで進んでいた。10:10の時点で、0:22に生成されたビットコインはまだ2/未確認のままだった。あなたがコインを失うことはないと言ってくれていたので、ビットコインを終了して再起動した。よかった点として、終了も起動も非常に滑らかだった。しかし残念なことに、ブロックが更新された時に、6セット分のビットコインを失った。4セットはまだ未確認だったが、2セットは確認済みだった。そして、そのどれもが跡形もなく消えている。「Show Generated Coins」オプションが使えるようになった今、失敗したビットコイン生成も戻してくれるといいかもしれない。あのビットコインたちが煙のように消えてしまったというのが、とにかく気に入らない。今のところまだLinuxビルドを動かしているが、直近24時間に生成した10セットのうち6セットが消えた今、Wine版が急に魅力的に見え始めている。debug.logを添付した。
私のネットワーク接続はコンピューター直結だ。ISPはインターネット接続にVPNを要求してくる。そして2枚目のNICを持っていて、そこからインターネットを他の機器に共有している。自分のコンピューター利用時のIPアドレスは実IPだが、2枚目のNIC経由で接続する機器はNATを使う。仮想マシン経由で接続する時もNATだ。設定の手間はほぼかかっていない。UbuntuのNetworkManagerに2枚目のNIC経由でインターネット接続を共有するオプションがあり、VirtualBoxにもNATを使うオプションがある。
ビットコインを2セット分また失ってしまったので、その問題はまだ直っていない。状況が理解できるようになった今、少しは耐えられる。当面はビットコインのセットが熟成し始めるたびにビットコインを再起動する運用にする。LinuxとWineの間を行ったり来たりするかもしれないが、新版が出るたびに必ず試す。今この瞬間もLinuxビルドを動かしている。
君からの添付ファイルは問題なく届いている。大きな添付をマルッティに送らない方が良いと思っただけだ。
このバグは再現できない。貼り付け、ブロック完了、その組み合わせ、あるいは他の何かが原因なのか、分からない。
…
ただ、ダウンロードが始まった後、自分のBitTorrentクライアントを見たら、忘れていたトレントがあって、上り帯域が私の設定した上限近くまで使われていた。
データディレクトリをSSDカードに戻して、bitcoin test 6を起動した。今日、ログにDb::openが出るかたちでセグメンテーション違反が発生した。720p mkv動画を見ている間、設定をプロセッサー / コア1つだけ使うように変えていた。セグメンテーション違反には、映画が終わってから気付いた。
test7を、新しいデータディレクトリで開始した。ブロックのダウンロードが格段に速く始まった。これまでのLinuxビルドでは数分かかっていたが、今回は約15秒で済んだ。ブロックをダウンロードしている間に1回クラッシュし、ターミナルに以下のメッセージが出た。
../include/wx/thrimpl.cpp(50): assert “m_internal” failed in TryLock(): wxMutex::TryLock(): not initialized [in child thread] Trace/breakpoint trap
ログファイルを添付するが、ビットコイン再起動の前にバックアップを取り忘れたので、ログのどの時点でクラッシュが起きたかは分からない。
幸いセグメンテーション違反にはまだ遭遇していない。直前までのビルドでセグメンテーション違反の頻度には大きなばらつきがあったので、引き続き動かして、問題があれば知らせる。