Boost logo

Boost Users :

From: Kris Braun (kbraun_at_[hidden])
Date: 2007-12-14 16:35:37


Hi there,

Trying to upgrade from 1.33.1 to 1.34.1 on Visual Studio 2005, I'm
experiencing an infinite loop in the signals code. It happens when
named_slot_map constructor calls groups.clear(), which ends up in some
standard library iterator cleanup code (_Clean_up_iter_debug). It
appears there's a circular link in some pointers to parents.

This is happening on a debug build with both Boost and my project
compiled with _HAS_ITERATOR_DEBUGGING=0. The problem does not appear on
non-debug builds.

The signals constructor is running inside the function below, which is
called during C++ static initialization:

static boost::signal< void( E& ) >& GetHandler( void )
{
    static boost::signal< void( E& ) > _Handler;
    return _Handler;
}

Does anybody have any idea what has changed between 1.33.1 and 1.34.1
that would cause this behaviour change?

Thanks,
Kris

--------------------------------------------------------------------- This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net