Вот разборка сброшенного кода, если это поможет.Я предполагаю, что байт, заключенный в угловые скобки, - это то место, где произошел сбой кода, хотя я не могу понять, как оператор mov из одного регистра в другой мог бы это сделать.Я не знаю, как использовать любую из программ * grep для поиска двоичных данных, поэтому вам может потребоваться написать несколько строк perl или python, чтобы найти соответствующий код ядра.Весьма сомнительно, что ваш 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]