#241 fatal error in merge: trying to delete a deleted record

closed-fixed
elsapo
None
8
2006-09-14
2006-06-23
elsapo
No

Submitted by lenny to LINES-L list

FATAL ERROR
Tried to add already-deleted record (1016) to xref (F)!
in file <xreffile.c> at line 381
ASSERT failure
Aborting now. Core dump? [y/n]

I seem to be getting the above error to frequently
these days.

I was merging two marriage records. F800 and F1016

The content of F1016 was to be merged into F800

Initially F1016 was in the top window, did "X" to swap
and then the merge.

...

LifeLines 3.0.50

Discussion

  • elsapo

    elsapo - 2006-06-27

    Logged In: YES
    user_id=1195173

    How to reproduce:

    Create new database
    ap: add person (I1)
    n: add person (I2)
    -: browse to I1
    tt browse to I2 (so I1 on top, I2 on bottom)
    j: merge bottom to top
    n: add person (I2)
    -: browse to I1
    tt browse to I2 (so I1 on top, I2 on bottom)

     
  • elsapo

    elsapo - 2006-06-29

    Logged In: YES
    user_id=1195173

    It is a fencepost error in function add_xref_to_set_impl.
    The result
    of find_slot can be a slot one beyond the highest currently
    occupied,
    in which case its contents is not reliable and should not be
    checked
    for the dup check.

    The fix is to avoid checking any slot beyond the highest
    live slot, eg:

    if (lo < set->n && (set->recs)[lo] == keynum) {

     
  • elsapo

    elsapo - 2006-06-29
    • status: open --> open-fixed
     
  • elsapo

    elsapo - 2006-06-29

    Logged In: YES
    user_id=1195173

    Fixed in cvs

     
  • elsapo

    elsapo - 2006-09-14

    Logged In: YES
    user_id=1195173

    A release has occurred since this was fixed, so closing this.

     
  • elsapo

    elsapo - 2006-09-14
    • status: open-fixed --> closed-fixed
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks