#1534 closed bug (fixed)
Assert in DoublyLinkedList.h
Reported by: | kaliber | Owned by: | bonefish |
---|---|---|---|
Priority: | critical | Milestone: | R1 |
Component: | System/Kernel | Version: | R1/pre-alpha1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
During shutdown:
list: 0x90810810, element: 0x908bc4e0 PANIC: ASSERT FAILED (headers/private/kernel/util/DoublyLinkedList.h:464): fFirst != 0 && fLast != 0 && (fFirst != fLast || element == Welcome to Kernel Debugging Land... Running on CPU 0 kdebug> bt stack trace for thread 0x49 "Terminal" kernel stack: 0x90660000 to 0x90664000 user stack: 0x7efe7000 to 0x7ffe7000 frame caller <image>:function + offset 90663ca0 (+ 52) 8008e5c4 <kernel>:invoke_command + 0x0074 90663cd4 (+ 48) 8008e6e2 <kernel>:kernel_debugger_loop + 0x00de 90663d04 (+ 32) 8008f16e <kernel>:kernel_debugger + 0x00b2 90663d24 (+ 192) 8008f0b1 <kernel>:panic + 0x0029 90663de4 (+ 64) 8003ae40 <kernel>:team_set_job_control_state + 0x012c 90663e24 (+ 128) 8003d7f4 <kernel>:thread_exit + 0x0168 90663ea4 (+ 64) 80034acc <kernel>:handle_signals + 0x0328 90663ee4 (+ 48) 8003dcbd <kernel>:thread_at_kernel_exit + 0x0015 90663f14 (+ 144) 80097e16 <kernel>:i386_handle_trap + 0x0402 iframe at 0x90663fac (end = 0x90664000) eax 0x0 ebx 0x830750 ecx 0x7ffe6e50 edx 0x0 esi 0x7ffef538 edi 0x7ffe7100 ebp 0x7ffe6f6c esp 0x90663fdc eip 0xffff0102 eflags 0x207 vector: 0x63, error code: 0x0 90663fa4 (+ 0) ffff0102 7ffe6f6c -- read fault
BTW. Seems that assert line is truncated. Maybe it's another bug?
Change History (4)
comment:1 by , 17 years ago
Component: | - General → System/Kernel |
---|---|
Owner: | changed from | to
Priority: | normal → critical |
comment:2 by , 17 years ago
Status: | new → assigned |
---|
comment:3 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:4 by , 17 years ago
Regarding the truncated assert line: This is a limitation of panic(). It uses a 128 byte on-stack buffer to format the output. We could probably use a larger static buffer (per CPU?), but usually 128 are enough. For asserts source file and line number do suffice, since the truncated part is static text anyway.
Note:
See TracTickets
for help on using tickets.
Fixed in hrev22450.