Re: Bug#385784: aptitude: crash with basic_string::_S_construct NULL not valid [better stacktrace]
On Sun, Sep 03, 2006 at 05:43:43PM -0700, Daniel Burrows wrote:
...
> If it's not too much trouble, I wonder if I could suggest that you
> build a debug apt too? I believe you can do this by fetching the source
> and running "DEB_BUILD_OPTIONS=noopt,nostrip dpkg-buildpackage -rfakeroot"
> in the root of the source package, then installing the resulting binaries.
>
> Daniel
Here it is. This time I set catch throw in gdb to avoid some of the
noise.
Catchpoint 1 (exception thrown)
0xa7e2a145 in __cxa_throw () from /usr/lib/libstdc++.so.6
(gdb) Errors were encountered while processing:
preview-latex-style
backt
#0 0xa7e2a145 in __cxa_throw () from /usr/lib/libstdc++.so.6
#1 0xa7dbf10f in std::__throw_logic_error () from /usr/lib/libstdc++.so.6
#2 0xa7e05b5f in std::string::_S_copy_chars () from /usr/lib/libstdc++.so.6
#3 0xa7e05ca9 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string () from /usr/lib/libstdc++.so.6
#4 0xa7f79f68 in pkgDPkgPM::Go (this=0x86adbc8, OutStatusFd=-1)
at deb/dpkgpm.cc:664
#5 0xa7f2cea8 in pkgPackageManager::DoInstall (this=0x86adbc8, status_fd=-1)
at packagemanager.cc:640
#6 0x0820e89b in download_install_manager::execute_install_run (
this=0xafcd02bc, res=pkgAcquire::Continue, progress=@0xafcd0170)
at download_install_manager.cc:136
#7 0x0820e9db in download_install_manager::finish (this=0xafcd02bc,
res=pkgAcquire::Continue, progress=@0xafcd0170)
at download_install_manager.cc:175
#8 0x08161aeb in cmdline_do_download (m=0xafcd02bc) at cmdline_util.cc:185
#9 0x0814a988 in cmdline_do_action (argc=2, argv=0xafcd06e8,
status_fname=0x0, simulate=false, assume_yes=false, download_only=false,
fix_broken=false, showvers=false, showdeps=false, showsize=false,
visual_preview=false, always_prompt=false, queue_only=false, verbose=0)
at cmdline_do_action.cc:243
#10 0x08054060 in main (argc=3, argv=0xafcd06e4) at main.cc:473
Note:
#4 is at
vector<struct DpkgState> &states = PackageOps[pkg];
#5 at line with *
pkgPackageManager::OrderResult pkgPackageManager::DoInstall(int status_fd)
{
OrderResult Res = OrderInstall();
if(Debug)
std::clog << "OrderInstall() returned: " << Res << std::endl;
if (Res != Failed)
* if (Go(status_fd) == false)
return Failed;
return Res;
}
#6 at this line
pkgPackageManager::OrderResult pmres =
pm->DoInstall(aptcfg->FindI("APT::Status-Fd", -1));
Reply to: