[Aptitude-devel] Bug#507525: aptitude crashed

Manuel A. Fernandez Montecelo manuel.montezelo at gmail.com
Wed Feb 5 21:08:37 UTC 2014


Control: reassign -1 src:cwidget

Line 480 in cwidget is indeed and abort(), which raises the exception
shown in the stack traces and causes the whole program (aptitude) to,
well, abort.

https://source.debian.net/src/cwidget/0.5.16-3/src/cwidget/widgets/menubar.cc

Basically, the function tries to hide the menu bar itself or one of
its elements (I'm not familiar with the internals of cwidget), with
the given reference (w).  The loop iterates over the active_menus, but
cannot find any that matches for the given reference "w" (in which
case it will do the necessary bookkeeping and return from the
function).

Instead, not finding any matches, ends the loop and finds the abort in
the end (which I think that is a bad practice specially in libraries,
but well).

Given that there are threads and signals involved, I guess that this
is a synchronisation issue.  I am not sure if aptitude is at fault for
misusing sync primitives, but in principle I think that the issue lies
more with cwidget, so accordingly I am reassigning it.


For the record, I tried to contact Daniel Burrows some weeks/months
ago to continue with the development of cwidget, at least to not
burden other developers with NMUs when needed and to try to fix
problems like these when possible, but no reply from him.


Cheers.
-- 
Manuel A. Fernandez Montecelo <manuel.montezelo at gmail.com>



More information about the Aptitude-devel mailing list