On Tuesday 23 January 2007 19:01, Ricardo Correia wrote:
> My current code is tripping the following assertion:
> lib/libzpool/build-kernel/arc.c:736: arc_change_state: Assertion
> `new_state->size + to_delta >= new_state->lsize (0x2a60000 >= 0x2a64000)`
> failed.

(snip)

> (gdb) print new_state->size
> $1 = 44695552
> (gdb) print to_delta
> $2 = 131072
> (gdb) print new_state->lsize
> $3 = 44449792

I've just noticed how the "new_state->size + to_delta" value from the crash 
dump is different from the assertion.

I guess it might be a race condition, since I've just implemented 
multithreaded operation, but I think I'm missing some locks that are done by 
the Solaris VFS.

Reply via email to