⬢ DragonFlyBSD Kernel Audit
DF-2232 / panic.b.txt
← back to finding ↓ download raw
[DF2232-A1] idr_find(1) -> 0xaa (expect 0xaa)
[DF2232-A1] idr_find(1000) -> 0xbb (expect 0xbb)
[DF2232-A1] idr_find(999) -> 0 (expect NULL)
[DF2232-A1] iter 1: idr_pre_get -> 1 (expect 1)
[DF2232-A1] iter 1: idr_get_new_above(sid=500) -> -35 (EAGAIN=-35 expected on iter 1), id=-1
[DF2232-A1] iter 2: idr_pre_get -> 1 (expect 1)
[DF2232-A1] iter 2: idr_get_new_above(sid=500) -> 0 (EAGAIN=-35 expected on iter 1), id=500
[DF2232-A1] get_new_above settled: ret=0 id=500 (expect 0, 500) after 2 iteration(s), idr_maxwant=500 (expect 500)
[DF2232-A1] idr_remove(1000) -> 0xbb (expect 0xbb)
[DF2232-A1] idr_alloc(start=1000) again -> 1000 (expect 1000)
[DF2232-A1] idr_nexpands=1
[DF2232-A1] idr_destroy done
[DF2232-A1] === control phase PASSED (fails=0) ===
[DF2232-A2] === control phase (kernel KPI (shipped binary)) ===
[DF2232-A2] sizeof(struct idr_node)=16
[DF2232-A2] idr_init()
[DF2232-A2] idr_count=255 (expect 255)
[DF2232-A2] idr_alloc(start=1) -> 1 (expect 1), idr_count=255 (expect 255)
[DF2232-A2] idr_alloc(start=1000) -> 1000 (expect 1000), idr_count=1023 (expect 1023)
[DF2232-A2] idr_find(1) -> 0xaa (expect 0xaa)
[DF2232-A2] idr_find(1000) -> 0xbb (expect 0xbb)
[DF2232-A2] idr_find(999) -> 0 (expect NULL)
[DF2232-A2] iter 1: idr_pre_get -> 1 (expect 1)
[DF2232-A2] iter 1: idr_get_new_above(sid=500) -> -35 (EAGAIN=-35 expected on iter 1), id=-1
[DF2232-A2] iter 2: idr_pre_get -> 1 (expect 1)
[DF2232-A2] iter 2: idr_get_new_above(sid=500) -> 0 (EAGAIN=-35 expected on iter 1), id=500
[DF2232-A2] get_new_above settled: ret=0 id=500 (expect 0, 500) after 2 iteration(s), idr_maxwant=500 (expect 500)
[DF2232-A2] idr_remove(1000) -> 0xbb (expect 0xbb)
[DF2232-A2] idr_alloc(start=1000) again -> 1000 (expect 1000)
[DF2232-A2] idr_nexpands=1
[DF2232-A2] idr_destroy done
[DF2232-A2] === control phase PASSED (fails=0) ===
[DF2232] rig unloaded
[DF2232] rig loaded: verbatim linux_idr.c + kernel KPI, watchdog 15s
[DF2232-B] === giant-kmalloc phase (verbatim copy) ===
[DF2232-B] plan: idr_alloc(start=536870912, end=0)
[DF2232-B] expected idr_grow loop result: nf = 2^30-1 = 1073741823
[DF2232-B] expected kmalloc request: 1073741823 * 16 = 17179869168 bytes (~16 GiB, M_ZERO|M_WAITOK)
[DF2232] arming 15 s watchdog on cpu 4
[DF2232-B] idr_init
[DF2232-B] ALLOCATOR BOUNDARY: kmalloc(4080 bytes [0xff0], M_IDR, flags 0x102) -> real allocator
[DF2232-B] entering idr_alloc ... (wedge expected on unfixed kernel; watchdog 15 s)
[DF2232-B] ALLOCATOR BOUNDARY: kmalloc(17179869168 bytes [0x3fffffff0], M_IDR, flags 0x102) -> real allocator
[DF2232] watchdog thread on cpu 4
[DF2232-WD] FIRED after ~15 s
[DF2232-WD] a_stage=0 a_done=0 b_started=0 b_acquired=0 last_kmalloc_req=17179869168 bytes
panic: DF2232-WD: B: idr_grow kmalloc(~16GB, M_WAITOK) never returned (vm_wait wedge / OOM)
cpuid = 4
Trace beginning at frame 0xfffff800896699b0
df2232_watchdog() at df2232_watchdog+0x79 0xffffffff82600269 
df2232_watchdog() at df2232_watchdog+0x79 0xffffffff82600269 
systimer_intr() at systimer_intr+0xd6 0xffffffff8065a2f6 
pcpu_timer_process_oncpu() at pcpu_timer_process_oncpu+0x82 0xffffffff8065b242 
splz_timer() at splz_timer+0x13 0xffffffff80bca404 
Debugger("panic")

CPU4 stopping CPUs: 0x0000002f
 stopped
Stopped at      Debugger+0x7c:  movb    $0,0xbdaf09(%rip)
db>