[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