はここで、ダンプコードの解体です。私は角括弧で囲まれたバイトがコードがクラッシュした場所であると仮定していますが、あるレジスタから別のレジスタへのmovステートメントがどのようにして動作するのかわかりません。
0: e0 48 loopne 0x4a
2: 8d 55 b0 lea -0x50(%ebp),%edx
5: 48 dec %eax
6: 89 4d e8 mov %ecx,-0x18(%ebp)
9: 4c dec %esp
a: 89 45 f0 mov %eax,-0x10(%ebp)
d: 48 dec %eax
e: 89 45 b8 mov %eax,-0x48(%ebp)
11: 48 dec %eax
12: 8d 45 d0 lea -0x30(%ebp),%eax
15: 4c dec %esp
16: 89 4d f8 mov %ecx,-0x8(%ebp)
19: c7 45 b0 10 00 00 00 movl $0x10,-0x50(%ebp)
20: 48 dec %eax
21: 89 45 c0 mov %eax,-0x40(%ebp)
24: e8 5a ff ff ff call 0xffffff83
29: c9 leave
2a: c3 ret
2b: 89 f0 mov %esi,%eax <-- here is where it failed?
2d: b9 40 00 00 00 mov $0x40,%ecx
32: 55 push %ebp
33: 99 cltd
34: 45 inc %ebp
35: 31 c0 xor %eax,%eax
37: f7 f9 idiv %ecx
39: 48 dec %eax
3a: 89 e5 mov %esp,%ebp
3c: 48 dec %eax
3d: 89 fa mov %edi,%edx
3f: 41 inc %ecx
私はあなたが関与カーネルコードを配置するためにPerlやPythonの数行を書くために必要がある場合がありますので、バイナリデータを検索するための*はgrepプログラムのいずれかを使用する方法がわかりません。あなたのJavaコード、またはMySQLと関係するものが、カーネルレベルのクラッシュを引き起こした可能性があることは疑いありません。 64ビットモードのための解体を修正し
:スタックアンダーフロー:
00000000 <.data>:
0: e0 48 loopne 0x4a
2: 8d 55 b0 lea -0x50(%rbp),%edx
5: 48 89 4d e8 mov %rcx,-0x18(%rbp)
9: 4c 89 45 f0 mov %r8,-0x10(%rbp)
d: 48 89 45 b8 mov %rax,-0x48(%rbp)
11: 48 8d 45 d0 lea -0x30(%rbp),%rax
15: 4c 89 4d f8 mov %r9,-0x8(%rbp)
19: c7 45 b0 10 00 00 00 movl $0x10,-0x50(%rbp)
20: 48 89 45 c0 mov %rax,-0x40(%rbp)
24: e8 5a ff ff ff callq 0xffffff83
29: c9 leaveq
2a: c3 retq
2b: 89 f0 mov %esi,%eax
2d: b9 40 00 00 00 mov $0x40,%ecx
32: 55 push %rbp
33: 99 cltd
34: 45 31 c0 xor %r8d,%r8d
37: f7 f9 idiv %ecx
39: 48 89 e5 mov %rsp,%rbp
3c: 48 89 fa mov %rdi,%rdx
3f: 41 rex.B
[すべてのこれらの年後に再びこれを見ては、私はより多くの可能性の高い問題が何であったかを実現。 retq
にはスタックが空であるため、戻り先がありませんでしたので、命令ポインタは次の命令をポイントしたままになりました - jc]
再現可能ですか?もしそうでなければ、あなたは究極の困難な時間を見つけ出すつもりです。 – paxdiablo
私はまだエラーを再現しようとしていませんが、明日はサーバーへの物理的なアクセスが良好になると思います。それが再び起こらなければ、それは問題ではない。私は、主に、私がテストしているアプリケーションがそれを引き起こしたと懸念しています。 – Jay