[issue1844] gdb detach from vkernel causes vkernel to die with SIGILL
Matthew Dillon
dillon at apollo.backplane.com
Sat Sep 18 11:23:51 PDT 2010
:Connected to a vkernel running on leaf with gdb; when I detached, the vkernel
:was killed with SIGILL.
:
:PC is marked with *, per core dump. Kernel and core are in leaf:~vsrinivas/ill.
:
:...
:0x08266e56 <kern_trap+5>: push %ebx
:0x08266e57 <kern_trap+6>: sub $0x14,%esp
:0x08266e5a <kern_trap+9>: mov 0x8(%ebp),%edi
:0x08266e5d <kern_trap+12>: mov %fs:0x0,%ebx
:****0x08266e64 <kern_trap+19>: mov 0x4(%ebx),%esi
:0x08266e67 <kern_trap+22>: mov 0x64(%esi),%eax
This is probably one of the I/O threads used by if_vke and if_vkd.
These threads are not counted as 'cpus' and do not have globaldata
structures. They aren't supposed to fault at all and if they do the
trap code will wind up being called, attempt to access the non-existant
globaldata structure, and the vkernel will die with SIGILL.
So the question now is what smushed the vke/vkd I/O driver in the
I/O thread when you detached?
-Matt
More information about the Bugs
mailing list