From: <no...@so...> - 2002-11-01 20:30:39
|
Bugs item #615166, was opened at 2002-09-26 22:00 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=615166&group_id=16191 Category: None Group: None Status: Open >Resolution: Fixed Priority: 7 Submitted By: Philippe Elie (phil_e) Assigned to: Philippe Elie (phil_e) Summary: daemon die with assertion failure Initial Comment: problem firstly reported by John then by Will. daemon die suddenly on assertion failure in libd/db-insert.c most of the time on /bin/bash samples files and page->count != 0 asserted. The bug can be reproduced in a few minutes, starting profling with --separate-samples invoking script creating a lot of short 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 doesn't 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*) regards, Phil ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=615166&group_id=16191 |