В процессе проверки #9576 наступил на недостающую проверку в aptitude-0.4.5-alt5 состояния, когда база уже залочена: $ sudo aptitude install gcc4.4-fortran [sudo] password for mike: Reading Package Lists... Done Building Dependency Tree Reading extended state information Initializing package states... Done Writing extended state information... Done The following NEW packages will be automatically installed: gcc-fortran-common libgfortran4.4-devel The following packages have been kept back: WindowMaker branding-altlinux-desktop-graphics gammu libWINGs libbluez libgammu libwraster psi qemu qemu-common qemu-system qemu-user wmsetbg The following NEW packages will be installed: gcc-fortran-common gcc4.4-fortran libgfortran4.4-devel 0 packages upgraded, 3 newly installed, 0 to remove and 13 not upgraded. aptitude: rpm/rpmhandler.cc:119: virtual std::string RPMFileHandler::Directory(): Assertion `HeaderP != __null' failed. zsh: abort sudo aptitude install gcc4.4-fortran Оформляя багрепорт, в процессе воспроизведения заметил, что на соседнем десктопе висел ожидающий подтверждения apt-get dist-upgrade. Прибив его, получил нормальную работу aptitude. :)
В aptitude нет файла rpm/rpmhandler.cc.
Да, такой файл есть в apt.git. Как вариант, можно переформулировать багу о том, что хотелось бы в случае наличия блокировки по крайней мере оповещать об этом факте на stderr (с pid держащего, если его несложно выяснить). Люди, включая меня, продолжают порой натыкаться на ситуации "в соседнем шелле висит apt-get с вопросом или apt-shell, отвлёкся, пошёл доделывать, запустил ещё один, отвлёкся, вернулся -- висит").