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.