以下のサイトを参考に、Android上でBashが動作することを確認。
Compiling GNU Bash 4.x for Android 2.x
2012-05-13
2012-05-06
ssl接続エラー(ruby)
rubyをrvmで更新したら、SSL接続できなくなったので改善メモ
SSL操作中にこんなエラーが発生したら...
どうやら、sslのセキュリティアップデートに伴った処置らしい。
(via: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
rvm on ubuntu 11.10
node.js の make でこける)
SSL操作中にこんなエラーが発生したら...
Connection reset by peer - SSL_connect (Errno::ECONNRESET)
- rvm pkg install opensslでOpenSSLをインストール
- 必要ならRubyを再コンパイル:rvm reinstall 1.9.3
- 認証局証明書をダウロードしてSSLではそちらを使うようにする
wget http://curl.haxx.se/ca/cacert.pem export SSL_CERT_FILE=$HOME/cacert.pem
どうやら、sslのセキュリティアップデートに伴った処置らしい。
(via: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
rvm on ubuntu 11.10
node.js の make でこける)
2012-05-04
kdump取得結果
bt
PID: 4205 TASK: ffff880207818000 CPU: 1 COMMAND: "threaded-ml" #0 [ffff880202263c90] machine_kexec at ffffffff8103836a #1 [ffff880202263d00] crash_kexec at ffffffff810b4358 #2 [ffff880202263dd0] oops_end at ffffffff8165d628 #3 [ffff880202263e00] pgtable_bad at ffffffff81642a13 #4 [ffff880202263e40] do_page_fault at ffffffff816602ce #5 [ffff880202263f50] page_fault at ffffffff8165cbf5 RIP: 00007f1f07078c9f RSP: 00007f1efe8b2980 RFLAGS: 00010202 RAX: 00007f1f0898bba0 RBX: 00007f1f183fa000 RCX: 00007f1efe8b2a48 RDX: 00007f1efe8b2a44 RSI: 00007f1efa302000 RDI: 00007f1f0b4a5660 RBP: 00007f1efa302000 R8: 00007f1efe8b2a30 R9: 00007f1efe8b2a38 R10: 0000000000000000 R11: 0000000000000000 R12: 00007f1efe8b2a48 R13: 00007f1efe8b2a44 R14: 00007f1efe8b2a30 R15: 0000000000000003 ORIG_RAX: ffffffffffffffff CS: 0033 SS: 002blog
[ 9390.534891] threaded-ml: Corrupted page table at address 7f1f183fa008 [ 9390.534896] PGD 1f8cd6067 PUD 1f8cd5067 PMD 1c3b88067 PTE 80006f01f3ac9067 [ 9390.534903] Bad pagetable: 000d [#1] SMP [ 9390.534907] CPU 1 [ 9390.534908] Modules linked in: ip6table_filter ip6_tables ebtable_nat ebtables bnep rfcomm ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT bluetooth xt_CHECKSUM iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables bridge stp kvm_intel kvm parport_pc ppdev binfmt_misc dm_crypt nvidia(P) snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device psmouse joydev mxm_wmi snd serio_raw wmi soundcore i7core_edac edac_core snd_page_alloc mac_hid lp parport firewire_ohci r8169 pata_jmicron firewire_core crc_itu_t floppy usbhid hid [ 9390.534969] [ 9390.534973] Pid: 4205, comm: threaded-ml Tainted: P O 3.2.0-24-generic #37-Ubuntu MICRO-STAR INTERNATIONAL CO.,LTD MS-7583/P55-GD65 (MS-7583) [ 9390.534979] RIP: 0033:[<00007f1f07078c9f>] [<00007f1f07078c9f>] 0x7f1f07078c9e [ 9390.534986] RSP: 002b:00007f1efe8b2980 EFLAGS: 00010202 [ 9390.534989] RAX: 00007f1f0898bba0 RBX: 00007f1f183fa000 RCX: 00007f1efe8b2a48 [ 9390.534992] RDX: 00007f1efe8b2a44 RSI: 00007f1efa302000 RDI: 00007f1f0b4a5660 [ 9390.534995] RBP: 00007f1efa302000 R08: 00007f1efe8b2a30 R09: 00007f1efe8b2a38 [ 9390.534998] R10: 0000000000000000 R11: 0000000000000000 R12: 00007f1efe8b2a48 [ 9390.535001] R13: 00007f1efe8b2a44 R14: 00007f1efe8b2a30 R15: 0000000000000003 [ 9390.535005] FS: 00007f1efe8b3700(0000) GS:ffff88022fc40000(0000) knlGS:0000000000000000 [ 9390.535008] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 9390.535011] CR2: 00007f1f183fa008 CR3: 00000001ce38f000 CR4: 00000000000006e0 [ 9390.535014] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 9390.535018] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 9390.535021] Process threaded-ml (pid: 4205, threadinfo ffff880202262000, task ffff880207818000) [ 9390.535023] [ 9390.535025] RIP [<00007f1f07078c9f>] 0x7f1f07078c9e [ 9390.535029] RSP <00007f1efe8b2980>ps
2808 1 1 ffff8801d6e4ade0 IN 3.3 1239756 298300 firefox 4205 2808 1 ffff880207818000 RU 2.3 1281412 206972 threaded-ml
kdumpをubuntuで使ってみる
- 必要なもの ダンプするのに必要
- kdump-tools
- kexec-tools
- linux-crashdump (UbuntuHPではこれだけでいいと記載..)
- crash
- デバッグ情報が付加されたカーネル
- 設定する
- /boot/grub/menu.lstを編集する カーネルの起動オプションに、crashkernelを追加する。
- kdump-toolsの自動起動設定をする。 /etc/default/kdump-toolsを編集してダンプを有効にする。 セカンドカーネルを指定しないと、デフォルトのカーネルが使用されるようだ。 (デフォルトのカーネルが2重で読み込まれるイメージ)
- PCの再起動 カーネルオプションを有効にするため、再起動する。 kdumpが自動起動の場合/proc/iomemはこのようになる。
- ハングアップさせてみる。 SysReqコマンドで擬似ハングアップができます。 全画面が停止状態になり、ディスクアクセスが始まります。(それなりに長い)
- 解析してみる 実は、デバッグシンボル付きのカーネルが必要。 ここから 解析に使うのカーネルを(パッケージから)インストール。
カーネルの再コンパイルは必要なし。
/proc/iomemをみて、サイズとオフセットを指定する。(PC、カーネルの種類やディストリビューションによって異なるはず)
ubuntu12.04は自動で設定してくれるかもしれない。
USE_KDUMP=1service命令を使うなどして、kdump-toolsを自動起動するようにしておく。 手動で起動するようにしておいても問題ない。
01000000-016699ab : Kernel code 016699ac-01ce4fff : Kernel data 01dd3000-01f28fff : Kernel bss 2e000000-35ffffff : Crash kernel失敗している場合は、/var/log/dmesgを見て、オプション文字列の打ち間違いや、確保しているサイズ、オフセットの確認する。
Xorgを使用している場合は、(かなり動作が遅くなっていますが)平然とXorgが起動し始めたりします。
ダンプが終わると、自動的に再起動します。
これでようやく解析できる。
sudo crash -S /usr/lib/debug/boot/vmlinux-3.2.0-24-generic dump.201205030221
登録:
投稿 (Atom)