Comment 16 for bug 1580623

Revision history for this message
Ralph Lange (ralph-lange) wrote :

> it seems likely that ~msgForMultiplyDefinedPV is/was never called due to some bug involving free lists, custom "operator delete", and explicitly calling the dtor.

I think so.

~msgForMultiplyDefinedPV is explicitly called as part of cac::pvMultiplyDefinedNotify, the callback that is executed when additional DNS answers come in.

Since fixing lp:1527636 removed the phase that waited for all pending requests (and callbacks being executed), the new fast exit means cac::pvMultiplyDefinedNotify is not called.

I think this shows in a fast 'caget' client loop: now I get lots of single line executions, while running the destructor in ipAddrToAsciiEnginePrivate::release() (called from the cac destructor) yields exactly one MultiplyDefined message per call, and no segfaults or exceptions.