Opened 9 years ago

Last modified 6 years ago

#643 closed defect

Kernel panic on ASSERT(ret == make_link(&sentinel, N_INVALID) || (N_NORMAL == get_mark(ret))) — at Version 3

Reported by: Jakub Jermář Owned by: Jakub Jermář
Priority: major Milestone:
Component: helenos/kernel/generic Version: mainline
Keywords: cht, arm, sparc64 Cc:
Blocker for: Depends on:
See also:

Description (last modified by Jakub Jermář)

With mainline,2399, I got a kernel panic due to a failed assertion in cht.c:complete_head_move()`:

ASSERT(ret == make_link(&sentinel, N_INVALID) || (N_NORMAL == get_mark(ret)));

I did this with a default mainline build for IntegratorCP simply by invoking the cht test repeatedly:

kconsole> test cht

See the attached screenshot for more info.

Change History (4)

by Jakub Jermář, 9 years ago

Attachment: cht-resize-panic.png added

comment:1 by Jakub Jermář, 9 years ago

Keywords: arm added

comment:2 by Jakub Jermář, 7 years ago

Milestone: 0.7.1

comment:3 by Jakub Jermář, 6 years ago

Description: modified (diff)
Keywords: sparc64 added

Running the cht test on sun4u (868d75cb57128586445ac07403416215301724f8) results in the same panic:

cht (Concurrent hash table test)
Basic sanity test: ok.
Alloc and init table items. 
Running 2 ins/del/find stress threads + 2 resizers.
Joining resize stressers.
I{I{
######> Kernel panic on cpu0 due to a failed assertion: <######
complete_head_move() at generic/src/adt/cht.c:1760:
ret == make_link(&sentinel, N_INVALID) || (N_NORMAL == get_mark(ret))

THE=0x0000000001d60000: pe=0 thread=0x0000000001d548e0 task=0x00000000000ba000 cpu=0x00000000000a3000 as=0x000000000008a000 magic=0xfacefeed
thread="cht-resize"
task="kernel"
0x0000000001d639b0: generic/src/debug/stacktrace.o:stack_trace()+0x000000000000000c
0x0000000001d63a80: generic/src/debug/panic.o:panic_common()+0x00000000000001d8
0x0000000001d63b50: generic/src/adt/cht.o:complete_head_move()+0x00000000000000d4
0x0000000001d63c20: generic/src/adt/cht.o:upd_resizing_head()+0x0000000000000274
0x0000000001d63cf0: generic/src/adt/cht.o:cht_insert()+0x0000000000000240
0x0000000001d63df0: test/cht/cht1.o:resize_stresser()+0x0000000000000078
0x0000000001d63ea0: generic/src/proc/thread.o:cushion()+0x0000000000000064
0x0000000001d63f50: generic/src/proc/thread.o:thread_update_accounting()+0x0000000000000138
cpu0: halted
Note: See TracTickets for help on using tickets.