Your message dated Thu, 6 Feb 2014 20:37:47 +0000
with message-id
<capq4b8mhijnujxkinvtmzeb559jivy9y-0ae0j1svb+j54v...@mail.gmail.com>
and subject line aptitude: Assertion failure on exit
has caused the Debian Bug report #586429,
regarding aptitude: asserion failed after ugrade to squeeze
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
586429: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=586429
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: aptitude
Severity: normal
Version: 0.6.3-3.2
After the upgrade to squeeze (I had to do it partly manual because it
would have taken ages for aptitude to do it in one shot) I got this
error on exit:
aptitude: /usr/include/boost/flyweight/refcounted.hpp:68:
boost::flyweights::detail::refcounted_value<Value,
Key>::~refcounted_value() [with Value =
boost::flyweights::detail::default_value_policy<cost::cost_impl>::rep_type,
Key = cost::cost_impl]: Assertion `count()==0' failed.
Ouch! Got SIGABRT, dying..
Aborted
heidi:/home/eddy# echo $?
134
Starting againg aptitude and quitting didn't result in the same manner.
I hope this helps.
--
Regards,
EddyP
=============================================
"Imagination is more important than knowledge" A.Einstein
--- End Message ---
--- Begin Message ---
forcemerge 586429 613267 612001 599685
fixed 586429 aptitude/0.6.4-1
stop
All of these bug reports were reported against 0.6.2-* and 0.6.3-*,
linking against boost 1.42.0, all when quitting and with the abort in
the same line:
/usr/include/boost/flyweight/refcounted.hpp:68
with message: "Assertion `count()==0' failed", in the destructor
~refcounted_value(), with different values (3 the same, another
different).
I think that this change to boost::flyweight, in release 1.45, fixed it:
https://github.com/boostorg/flyweight/commit/02fd64836627f930ec1c33b7d18b1c96f60ce4ad
The line 68, along with the whole destructor, was removed:
- BOOST_ASSERT(count()==0);
And this was removed from doc/tutorial/technical.html:
"In some environments, the program above fails at termination time
with something like the following:
Assertion failed: count()==0, file c:\boost\flyweight\refcounted.hpp, line 68"
The comment in the release notes:
* Boost 1.45 release
- Fixed a hanging problem with intermodule_holder in Win32 platforms
related to a Boost.Interprocess issue described at ticket #4606.
- Removed an internal assertion incompatible with program termination
via std::exit.
Daniel Burrows also commented in NEWS of a previous version (probably
unrelated, but significant of problems with the implementation of
flyweight at the time, the first versions):
[9/8/2009]
Version 0.5.9rc1
[...]
+ [curses] Fix a crash on exit that was caused by having dangling
boost::flyweight objects when the global destructor was
invoked (arguably this is a bug in Boost; we might want
to consider moving away from flyweights for this reason).
There were indeed serious problems with versions earlier than Boost 1.42.0:
* Boost 1.39 release
The refcounted component was not thread-safe due to an incorrect
implementation and could deadlock under heavy usage conditions. This
problem has been corrected.
So I believe that with a high degree of probability this was indeed a
bug in Boost.Flyweight and that they are not present since newer
versions link to newer boost libraries where the bug is not present
anymore; and that it is safe to close these bug reports now.
Please reopen if you still have concerns about this.
Cheers.
--
Manuel A. Fernandez Montecelo <[email protected]>
--- End Message ---
_______________________________________________
Aptitude-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/aptitude-devel