cadets / freebsd-old

FreeBSD src tree http://www.FreeBSD.org/
Other
12 stars 7 forks source link

kernel panic when tracing nfs server #151

Closed lc525 closed 2 years ago

lc525 commented 2 years ago

Happening on hypertrace commit 45b0a61

kernel stack trace after panic:

msgbufp = 0xfffff8303fffffb8                                               
magic = 63062, size = 98232, r= 20380, w = 21921, ptr = 0xfffff8303ffe8000,
 cksum= 1778087                                                            
panic: vm_fault_lookup: fault on nofault entry, addr: 0xfffffe033c694000   
cpuid = 5                                                                  
time = 1643291071                                                          
KDB: stack backtrace:                                                      
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe033c23f
a10
vpanic() at vpanic+0x1b8/frame 0xfffffe033c23fa70
panic() at panic+0x43/frame 0xfffffe033c23fad0
vm_fault() at vm_fault+0x1432/frame 0xfffffe033c23fbd0
vm_fault_trap() at vm_fault_trap+0xb1/frame 0xfffffe033c23fc20
trap_pfault() at trap_pfault+0x1f0/frame 0xfffffe033c23fc80
trap() at trap+0x26a/frame 0xfffffe033c23fd90
calltrap() at calltrap+0x8/frame 0xfffffe033c23fd90
--- trap 0xc, rip = 0xffffffff82146653, rsp = 0xfffffe033c23fe60, rbp = 0xf
ffffe033c23feb0 ---
_dtrace_vprobe_create() at _dtrace_vprobe_create+0x423/frame 0xfffffe033c23
feb0
dtrace_vprobe_create() at dtrace_vprobe_create+0xd/frame 0xfffffe033c23fed0
hypertrace_priv_create_probes() at hypertrace_priv_create_probes+0x165/fram
e 0xfffffe033c23ff30                                                       
dtrace_ioctl() at dtrace_ioctl+0x15ff/frame 0xfffffe033c240090             
devfs_ioctl() at devfs_ioctl+0xc6/frame 0xfffffe033c2400e0                 
vn_ioctl() at vn_ioctl+0x1a4/frame 0xfffffe033c2401f0                      
devfs_ioctl_f() at devfs_ioctl_f+0x1e/frame 0xfffffe033c240210             
kern_ioctl() at kern_ioctl+0x25b/frame 0xfffffe033c240280                  
sys_ioctl() at sys_ioctl+0xf1/frame 0xfffffe033c240340                     
amd64_syscall() at amd64_syscall+0x739/frame 0xfffffe033c240470            
fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe033c240470
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x80131ae3a, rsp = 0x7fff
ffffe528, rbp = 0x7fffffffe560 ---

dtrace script executing when panic-ed (please note, this runs on host):

dtrace:::BEGIN
{
  printf("probe\targ0\texecutable\tsyscall\n");
}

syscall:::entry
{
        self->syscallname = probefunc;
}

syscall:::return
{
        self->syscallname = "";
}

nfscl:::
/self->syscallname != 0 && self->syscallname != ""/
{
    printf("%s\t%s\t%s\t%s\n", probemod, stringof(arg0), execname,
      self->syscallname);
}

nfscl:::
/self->syscallname == 0 || self->syscallname == ""/
{
    printf("%s\t%s\t%s\t%s\n", probemod, stringof(arg0), execname,
      self->syscallname);
}
dstolfa commented 2 years ago

Is this run with dtrace -Es or just dtrace -s?

lc525 commented 2 years ago

dtrace -Es

On 27 January 2022 3:13:46 pm Domagoj Stolfa @.***> wrote:

Is this run with dtrace -Es or just dtrace -s?

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you authored the thread.