Page MenuHomeFreeBSD

panic: deadlkres: possible deadlock detected for 0xfffff80141b04560, blocked for 1801695 ticks

Authored By
eadler
Apr 12 2018, 3:59 AM
Size
10 KB
Referenced Files
None
Subscribers
None

panic: deadlkres: possible deadlock detected for 0xfffff80141b04560, blocked for 1801695 ticks

How to reproduce?
# kldload sem
# kldunload sem
< wait debug.deadlkres.slptime_threshold seconds >
Reading symbols from ./kernel/kernel...Reading symbols from /usr/home/eax/crashes/sem_load_dklres/kernel/kernel.debug...done.
done.
Unread portion of the kernel message buffer:
[29474] panic: deadlkres: possible deadlock detected for 0xfffff80141b04560, blocked for 1801695 ticks
[29474]
[29474] cpuid = 31
[29474] time = 1523493929
[29474] KDB: stack backtrace:
[29474] db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00a6204960
[29474] vpanic() at vpanic+0x18d/frame 0xfffffe00a62049c0
[29474] panic() at panic+0x43/frame 0xfffffe00a6204a20
[29474] deadlkres() at deadlkres+0x3a6/frame 0xfffffe00a6204a70
[29474] fork_exit() at fork_exit+0x84/frame 0xfffffe00a6204ab0
[29474] fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00a6204ab0
[29474] --- trap 0, rip = 0, rsp = 0, rbp = 0 ---
[29474] KDB: enter: panic
__curthread () at ./machine/pcpu.h:230
230 __asm("movq %%gs:%1,%0" : "=r" (td)
(kgdb) bt
#0 __curthread () at ./machine/pcpu.h:230
#1 doadump (textdump=0x1) at /usr/src/sys/kern/kern_shutdown.c:361
#2 0xffffffff80434f4c in db_fncall_generic (addr=<optimized out>, rv=<optimized out>, nargs=<optimized out>, args=<optimized out>)
at /usr/src/sys/ddb/db_command.c:609
#3 db_fncall (dummy1=<optimized out>, dummy2=<optimized out>, dummy3=<optimized out>, dummy4=<optimized out>) at /usr/src/sys/ddb/db_command.c:657
#4 0xffffffff80434a99 in db_command (last_cmdp=<optimized out>, cmd_table=<optimized out>, dopager=<optimized out>) at /usr/src/sys/ddb/db_command.c:481
#5 0xffffffff80434814 in db_command_loop () at /usr/src/sys/ddb/db_command.c:534
#6 0xffffffff80437a3f in db_trap (type=<optimized out>, code=<optimized out>) at /usr/src/sys/ddb/db_main.c:250
#7 0xffffffff80babf53 in kdb_trap (type=0x3, code=0xffff0ff0, tf=<optimized out>) at /usr/src/sys/kern/subr_kdb.c:697
#8 0xffffffff81024aa8 in trap (frame=0xfffffe00a6204890) at /usr/src/sys/amd64/amd64/trap.c:548
#9 <signal handler called>
#10 kdb_enter (why=0xffffffff8129f663 "panic", msg=<optimized out>) at /usr/src/sys/kern/subr_kdb.c:479
#11 0xffffffff80b66b5a in vpanic (fmt=<optimized out>, ap=0xfffffe00a6204a00) at /usr/src/sys/kern/kern_shutdown.c:826
#12 0xffffffff80b66be3 in panic (fmt=0xffffffff81deab08 <cnputs_mtx> "5i&\201\377\377\377\377") at /usr/src/sys/kern/kern_shutdown.c:764
#13 0xffffffff80b00466 in deadlkres () at /usr/src/sys/kern/kern_clock.c:288
#14 0xffffffff80b26e34 in fork_exit (callout=0xffffffff80b000c0 <deadlkres>, arg=0x0, frame=0xfffffe00a6204ac0) at /usr/src/sys/kern/kern_fork.c:1039
#15 <signal handler called>
(kgdb)
#13 0xffffffff80b00466 in deadlkres () at /usr/src/sys/kern/kern_clock.c:288
288 panic("%s: possible deadlock detected for %p, blocked for %d ticks\n",
(kgdb) info locals
tryl = <optimized out>
slpticks = 0x1b7740
blkticks = 0xdbba0
p = 0xfffff80141b00538
td = <optimized out>
wchan = 0xffffffff81deb2d8 <kld_sx>
tticks = 0x1b7ddf
slptype = <optimized out>
i = <error reading variable i (Cannot access memory at address 0x2)>
(kgdb) info registers
rax 0x12 0x12
rbx 0xffffffff81deb2d8 0xffffffff81deb2d8
rcx 0x80 0x80
rdx 0xfffffe00a6204850 0xfffffe00a6204850
rsi 0x80 0x80
rdi 0xffffffff81deab08 0xffffffff81deab08
rbp 0xfffffe00a6204a70 0xfffffe00a6204a70
rsp 0xfffffe00a6204a30 0xfffffe00a6204a30
r8 0x1 0x1
r9 0x0 0x0
r10 0xffffffff81cdc698 0xffffffff81cdc698
r11 0x0 0x0
r12 0xfffff80141b04560 0xfffff80141b04560
r13 0xdbba0 0xdbba0
r14 0xfffff80141b00538 0xfffff80141b00538
r15 0x1b7ddf 0x1b7ddf
rip 0xffffffff80b00466 0xffffffff80b00466 <deadlkres+934>
eflags 0x82 [ SF ]
cs 0x20 0x20
ss 0x28 0x28
ds <unavailable>
es <unavailable>
fs <unavailable>
gs <unavailable>
fs_base <unavailable>
gs_base <unavailable>
(kgdb) p *p
$3 = {
p_list = {
le_next = 0xfffff80200103000,
le_prev = 0xfffff8001f187000
},
p_threads = {
tqh_first = 0xfffff80141b04560,
tqh_last = 0xfffff80141b04570
},
p_slock = {
lock_object = {
lo_name = 0xffffffff8129ab1c "process slock",
lo_flags = 0x20030000,
lo_data = 0x0,
lo_witness = 0x0
},
mtx_lock = 0x0
},
p_ucred = 0xfffff80200216c00,
p_fd = 0xfffff800398548a0,
p_fdtol = 0x0,
p_stats = 0xfffff80012fea000,
p_limit = 0xfffff8001fa23500,
p_limco = {
c_links = {
le = {
le_next = 0x0,
le_prev = 0x0
},
sle = {
sle_next = 0x0
},
tqe = {
tqe_next = 0x0,
tqe_prev = 0x0
}
},
c_time = 0x0,
c_precision = 0x0,
c_arg = 0x0,
c_func = 0x0,
c_lock = 0xfffff80141b00658,
c_flags = 0x0,
c_iflags = 0x0,
c_cpu = 0x0
},
p_sigacts = 0xfffff80285537000,
p_flag = 0x10004002,
p_flag2 = 0x0,
p_state = PRS_NORMAL,
p_pid = 0xbc73,
p_hash = {
le_next = 0x0,
le_prev = 0xfffffe00063ae398
},
p_pglist = {
le_next = 0x0,
le_prev = 0xfffff800390bc710
},
p_pptr = 0xfffff80003696538,
p_sibling = {
le_next = 0xfffff80294339a70,
le_prev = 0xfffff8001f5c4620
},
p_children = {
lh_first = 0x0
},
p_reaper = 0xfffff80003696538,
p_reaplist = {
lh_first = 0x0
},
p_reapsibling = {
le_next = 0xfffff80200103000,
le_prev = 0xfffff8001f187110
},
p_mtx = {
lock_object = {
lo_name = 0xffffffff812297e6 "process lock",
lo_flags = 0x21430000,
lo_data = 0x0,
lo_witness = 0xfffff8087f063400
},
mtx_lock = 0x0
},
p_statmtx = {
lock_object = {
lo_name = 0xffffffff811e2c04 "pstatl",
lo_flags = 0x20030000,
lo_data = 0x0,
lo_witness = 0x0
},
mtx_lock = 0x0
},
p_itimmtx = {
lock_object = {
lo_name = 0xffffffff8121fea2 "pitiml",
lo_flags = 0x20030000,
lo_data = 0x0,
lo_witness = 0x0
},
mtx_lock = 0x0
},
p_profmtx = {
lock_object = {
lo_name = 0xffffffff8127b6d4 "pprofl",
lo_flags = 0x20030000,
lo_data = 0x0,
lo_witness = 0x0
},
mtx_lock = 0x0
},
p_ksi = 0xfffff8000756a000,
p_sigqueue = {
sq_signals = {
__bits = {0x100,
0x0,
0x0,
0x0}
},
sq_kill = {
__bits = {0x100,
0x0,
0x0,
0x0}
},
sq_ptrace = {
__bits = {0x0,
0x0,
0x0,
0x0}
},
sq_list = {
tqh_first = 0x0,
tqh_last = 0xfffff80141b00710
},
sq_proc = 0xfffff80141b00538,
sq_flags = 0x1
},
p_oppid = 0x0,
p_vmspace = 0xfffff80141f6c000,
p_swtick = 0x819d1360,
p_cowgen = 0x2,
p_realtimer = {
it_interval = {
tv_sec = 0x0,
tv_usec = 0x0
},
it_value = {
tv_sec = 0x0,
tv_usec = 0x0
}
},
p_ru = {
ru_utime = {
tv_sec = 0x0,
tv_usec = 0x0
},
ru_stime = {
tv_sec = 0x0,
tv_usec = 0x0
},
ru_maxrss = 0x0,
ru_ixrss = 0x0,
ru_idrss = 0x0,
ru_isrss = 0x0,
ru_minflt = 0x0,
ru_majflt = 0x0,
ru_nswap = 0x0,
ru_inblock = 0x0,
ru_oublock = 0x0,
ru_msgsnd = 0x0,
ru_msgrcv = 0x0,
ru_nsignals = 0x0,
ru_nvcsw = 0x0,
ru_nivcsw = 0x0
},
p_rux = {
rux_runtime = 0x300256,
rux_uticks = 0x0,
rux_sticks = 0x0,
rux_iticks = 0x0,
rux_uu = 0x0,
rux_su = 0x39f,
rux_tu = 0x39f
},
p_crux = {
rux_runtime = 0x0,
rux_uticks = 0x0,
rux_sticks = 0x0,
rux_iticks = 0x0,
rux_uu = 0x0,
rux_su = 0x0,
rux_tu = 0x0
},
p_profthreads = 0x0,
p_exitthreads = 0x0,
p_traceflag = 0x0,
p_tracevp = 0x0,
p_tracecred = 0x0,
p_textvp = 0xfffff80014df4d20,
p_lock = 0x0,
p_sigiolst = {
slh_first = 0x0
},
p_sigparent = 0x14,
p_sig = 0x0,
p_code = 0x0,
p_stops = 0x0,
p_stype = 0x0,
p_step = 0x0,
p_pfsflags = 0x0,
p_ptevents = 0x0,
p_nlminfo = 0x0,
p_aioinfo = 0x0,
p_singlethread = 0x0,
p_suspcount = 0x0,
p_xthread = 0x0,
p_boundary_count = 0x0,
p_pendingcnt = 0x0,
p_itimers = 0x0,
p_procdesc = 0x0,
p_treeflag = 0x0,
p_pendingexits = 0x0,
p_filemon = 0x0,
p_magic = 0xbeefface,
p_osrel = 0x124fbd,
p_comm = "kldload",
p_sysent = 0xffffffff81b68d48 <elf64_freebsd_sysvec>,
p_args = 0xfffff80039abd280,
p_cpulimit = 0x7fffffffffffffff,
p_nice = 0x0,
p_fibnum = 0x0,
p_reapsubtree = 0xcbc,
p_elf_machine = 0x3e,
p_elf_flags = 0x0,
p_xexit = 0x0,
p_xsig = 0x0,
p_pgrp = 0xfffff800390bc700,
p_klist = 0xfffff800031068c0,
p_numthreads = 0x1,
p_md = {
md_ldt = 0x0,
md_ldt_sd = {
sd_lolimit = 0x0,
sd_lobase = 0x0,
sd_type = 0x0,
sd_dpl = 0x0,
sd_p = 0x0,
sd_hilimit = 0x0,
sd_xx0 = 0x0,
sd_gran = 0x0,
sd_hibase = 0x0,
sd_xx1 = 0x0,
sd_mbz = 0x0,
sd_xx2 = 0x0
}
},
p_itcallout = {
c_links = {
le = {
le_next = 0x0,
le_prev = 0x0
},
sle = {
sle_next = 0x0
},
tqe = {
tqe_next = 0x0,
tqe_prev = 0x0
}
},
c_time = 0x0,
c_precision = 0x0,
c_arg = 0x0,
c_func = 0x0,
c_lock = 0xfffff80141b00658,
c_flags = 0x0,
c_iflags = 0x0,
c_cpu = 0x0
},
p_acflag = 0x0,
p_peers = 0x0,
p_leader = 0xfffff80141b00538,
p_emuldata = 0x0,
p_label = 0x0,
p_ktr = {
stqh_first = 0x0,
stqh_last = 0xfffff80141b00a00
},
p_mqnotifier = {
lh_first = 0x0
},
p_dtrace = 0xfffff80200ed04c0,
p_pwait = {
cv_description = 0xffffffff811f7ade "ppwait",
cv_waiters = 0x0
},
p_dbgwait = {
cv_description = 0xffffffff8125c296 "dbgwait",
cv_waiters = 0x0
},
p_prev_runtime = 0x0,
p_racct = 0x0,
p_throttled = 0x0,
p_orphan = {
le_next = 0x0,
le_prev = 0x0
},
p_orphans = {
lh_first = 0x0
}
}

File Metadata

Mime Type
text/plain; charset=utf-8
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1342477
Default Alt Text
panic: deadlkres: possible deadlock detected for 0xfffff80141b04560, blocked for 1801695 ticks (10 KB)

Event Timeline