Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#78 daemon die with assertion failure

closed-fixed
Philippe Elie
None
7
2002-11-06
2002-09-26
Philippe Elie
No

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

Discussion

  • Philippe Elie
    Philippe Elie
    2002-11-01

    • status: open --> open-fixed
     
  • John Levon
    John Levon
    2002-11-06

    • status: open-fixed --> closed-fixed