Bug#37530: apt-get dumps core
Package: apt
Version: 0.3.4
You're passing a null pointer to string ctor.
(gdb) run install xscreensaver
Starting program: /var/tmp/apt-0.3.4/build/bin/apt-get install xscreensaver
Linux thread target has modified Unknown signal handling
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
xscreensaver
0 packages upgraded, 1 newly installed, 0 to remove and 45 not upgraded.
1 packages not fully installed or removed.
Program received signal SIGSEGV, Segmentation fault.
0x400c11a7 in basic_string<char, string_char_traits<char>, __default_alloc_templ
ate<true, 0> >::basic_string ()
(gdb) where
#0 0x400c11a7 in basic_string<char, string_char_traits<char>, __default_alloc_t
emplate<true, 0> >::basic_string ()
#1 0x40068263 in pkgAcqArchive::pkgAcqArchive (this=0x8099a50,
Owner=0xbffff810, Sources=0xbffff838, Recs=0xbffff808,
Version=@0xbffff5e4, StoreFilename=@0x80938d4) at acquire-item.cc:368
#2 0x4005d3b9 in pkgPackageManager::GetArchives (this=0xbffff844,
Owner=0xbffff810, Sources=0xbffff838, Recs=0xbffff808)
at packagemanager.cc:74
#3 0x80502f3 in InstallPackages (Cache=@0xbffffa8c, ShwKept=false, Ask=false,
Saftey=true) at apt-get.cc:541
#4 0x8052b8f in DoInstall (CmdL=@0xbffffae4) at apt-get.cc:936
#5 0x40046ac1 in CommandLine::DispatchArg (this=0xbffffae4, Map=0xbffffaf0,
NoMatch=true) at contrib/cmndline.cc:331
#6 0x8053ead in main (argc=3, argv=0xbffffcf4) at apt-get.cc:1231
(gdb) up
#1 0x40068263 in pkgAcqArchive::pkgAcqArchive (this=0x8099a50,
Owner=0xbffff810, Sources=0xbffff838, Recs=0xbffff808,
Version=@0xbffff5e4, StoreFilename=@0x80938d4) at acquire-item.cc:368
368 QuoteString(Version.Arch(),"_:.") + ".deb";
(gdb) l
363 Retries = _config->FindI("Acquire::Retries",0);
364
365 // Generate the final file name as: package_version_arch.deb
366 StoreFilename = QuoteString(Version.ParentPkg().Name(),"_:") + '_' +
367 QuoteString(Version.VerStr(),"_:") + '_' +
368 QuoteString(Version.Arch(),"_:.") + ".deb";
369
370 // Select a source
371 if (QueueNext() == false && _error->PendingError() == false)
372 _error->Error("I wasn't able to locate file for the %s package. "
(gdb) p Version.Arch()
$1 = 0x0
The core dump is at master:~maor/apt.core if you need to learn more.
It's built with CFLAGS=-g CXXFLAGS=-g.
Guy
Reply to: