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: SIGABRT on quitting
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
Version: 0.6.3-3.1
Severity: normal


Upon quitting aptitude, the following message appears on console:

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<generic_solver_information<aptitude_universe>::choice_set_with_hash>::rep_type,
 
Key = 
generic_solver_information<aptitude_universe>::choice_set_with_hash]: 
A(z) „count()==0” kijelentés meghiúsult.
Ouch!  Got SIGABRT, dying..
Félbeszakítva


This has happened several times.

Best wishes,

        Gábor Braun

-- Package-specific info:
aptitude 0.6.3 compiled at Aug 26 2010 19:06:44
Compiler: g++ 4.4.5 20100816 (prerelease)
Compiled against:
  apt version 4.10.0
  NCurses version 5.7
  libsigc++ version: 2.2.4.2
  Ept support enabled.
  Gtk+ support disabled.

Current library versions:
  NCurses version: ncurses 5.7.20100313
  cwidget version: 0.5.12
  Apt version: 4.10.1
        linux-vdso.so.1 =>  (0x00007fff532e9000)
        libapt-pkg.so.4.10 => /usr/lib/libapt-pkg.so.4.10 (0x00007f4194ff8000)
        libncursesw.so.5 => /lib/libncursesw.so.5 (0x00007f4194da5000)
        libsigc-2.0.so.0 => /usr/lib/libsigc-2.0.so.0 (0x00007f4194b9f000)
        libcwidget.so.3 => /usr/lib/libcwidget.so.3 (0x00007f41948cc000)
        libept.so.1 => /usr/lib/libept.so.1 (0x00007f4194678000)
        libxapian.so.22 => /usr/lib/libxapian.so.22 (0x00007f4194297000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007f4194080000)
        libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x00007f4193dea000)
        libboost_iostreams.so.1.42.0 => /usr/lib/libboost_iostreams.so.1.42.0 
(0x00007f4193bce000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f41939b2000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f419369e000)
        libm.so.6 => /lib/libm.so.6 (0x00007f419341b000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f4193205000)
        libc.so.6 => /lib/libc.so.6 (0x00007f4192ea4000)
        libutil.so.1 => /lib/libutil.so.1 (0x00007f4192ca0000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f4192a9c000)
        libuuid.so.1 => /lib/libuuid.so.1 (0x00007f4192897000)
        libbz2.so.1.0 => /lib/libbz2.so.1.0 (0x00007f4192687000)
        librt.so.1 => /lib/librt.so.1 (0x00007f419247f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f4195310000)
Terminal: xterm
$DISPLAY is set.
`which aptitude`: /usr/bin/aptitude
aptitude version information:

aptitude linkage:

-- System Information:
Debian Release: squeeze/sid
  APT prefers stable
  APT policy: (990, 'stable'), (650, 'testing'), (600, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=hu_HU.UTF-8, LC_CTYPE=hu_HU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages aptitude depends on:
ii  apt [libapt-pkg4.10]   0.8.5             Advanced front-end for dpkg
ii  libboost-iostreams1.42 1.42.0-4          Boost.Iostreams Library
ii  libc6                  2.11.2-6          Embedded GNU C Library: Shared lib
ii  libcwidget3            0.5.12-4          high-level terminal interface libr
ii  libept1                1.0.3+b1          High-level library for managing De
ii  libgcc1                1:4.4.5-2         GCC support library
ii  libncursesw5           5.7+20100313-4    shared libraries for terminal hand
ii  libsigc++-2.0-0c2a     2.0.18-2          type-safe Signal Framework for C++
ii  libsqlite3-0           3.7.2-1           SQLite 3 shared library
ii  libstdc++6             4.4.5-2           The GNU Standard C++ Library v3
ii  libxapian22            1.2.3-2           Search engine library
ii  zlib1g                 1:1.2.3.3.dfsg-12 compression library - runtime

Versions of packages aptitude recommends:
ii  apt-xapian-index              0.16       maintenance tools for a Xapian ind
ii  aptitude-doc-en [aptitude-doc 0.6.3-3.1  English manual for aptitude, a ter
ii  libparse-debianchangelog-perl 1.1.1-2    parse Debian changelogs and output
ii  sensible-utils                0.0.4      Utilities for sensible alternative

Versions of packages aptitude suggests:
pn  debtags                       <none>     (no description available)
ii  tasksel                       2.78       Tool for selecting tasks for insta

-- no debconf information



--- 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

Reply via email to