problem firstly reported by John then by Will.
daemon die suddenly on assertion failure in
most of the time on /bin/bash samples files and
page->count != 0
The bug can be reproduced in a few minutes, starting
with --separate-samples invoking script creating a lot
process such a make of gcc and in parralel a continuous
op_time -k + a continuous ps aux | grep oprofiled
Problem occurs because we fail to recognize some image
as identical to an existing image struct so libdb open mmap
mrremap some samples files mutltiple time. The kernel
ensure coherency of these page because it doesn't reuse the
same physical page for the second mapping when the kernel
drop these page they are written in sample file so samples
files can contain page 0 coming from first mapping and page
1 coming from second mapping then the db_tree becomes
inconsistent and libdb miserabily fails...
This is fixed in current cvs. This bugs has been introduced
by fixing #584723 (ChangeLog is not very clear, I think
the bug is in 0.3 release *sighs*)
Log in to post a comment.