I used python-faulthandler to print out a python stack trace when the segfault happens:
Current thread 0x00007fdc45a3c740:
File "/usr/lib/python2.7/dist-packages/apt/package.py", line 273 in _translated_records
File "/usr/lib/python2.7/dist-packages/apt/package.py", line 331 in description
File "<stdin>", line 1 in <module>
File "/usr/lib/python2.7/pdb.py", line 234 in default
File "/usr/lib/python2.7/cmd.py", line 220 in onecmd
File "/usr/lib/python2.7/pdb.py", line 279 in onecmd
File "/usr/lib/python2.7/cmd.py", line 142 in cmdloop
File "/usr/lib/python2.7/pdb.py", line 210 in interaction
File "/usr/lib/python2.7/pdb.py", line 158 in user_line
File "/usr/lib/python2.7/bdb.py", line 67 in dispatch_line
File "/usr/lib/python2.7/bdb.py", line 49 in trace_dispatch
File "/usr/share/apt-xapian-index/plugins/display_name.py", line 81 in index
File "/usr/lib/python2.7/dist-packages/axi/indexer.py", line 540 in get_document_from_apt
File "/usr/lib/python2.7/dist-packages/axi/indexer.py", line 577 in gen_documents_apt
File "/usr/lib/python2.7/dist-packages/axi/indexer.py", line 719 in buildIndex
File "/usr/lib/python2.7/dist-packages/axi/indexer.py", line 744 in rebuild
File "/usr/sbin/update-apt-xapian-index", line 111 in <module>
Segmentation fault (core dumped)
display_name.py is a plugin from software-center which is doing this:
def index(self, document, pkg):
…
ver = pkg.candidate
if ver is None:
return
if self.val_display_name != -1:
name = ver.summary
The `ver.summary' line is the one that triggers the segfault by eventually calling into the crashing code in python-apt.
python/cache.cc crashes in this line in DescriptionGetFileList() at the call to File():
I'm not sure if this is a bug in apt, python-apt or software-center. Here's my brain dump
ddebs.ubuntu.com currently has a package with no Description field
Package: php5-gearman-dbgsym p/php-gearman/ php5-gearman- dbgsym_ 1.1.2-1build1_ amd64.ddeb 27c2f4fb7e388e5 d5 197f2a5109d62b7 e100616684 bb0af6ac573bb22 b09b55d536baf28 bb20a8aabd373cb dd65 28c35143411aec4 49585d443a8a310 1839e27671ad112 9a33fe69679c927 8d6ecea927e6b2b 03db216a3812467 306fac08826173c 81ec3d32 pecl.php. net/package/ gearman
Priority: extra
Section: php
Installed-Size: 243
Maintainer: Debian PHP PECL Maintainers <email address hidden>
Architecture: amd64
Source: php-gearman
Version: 1.1.2-1build1
Depends: php5-gearman (= 1.1.2-1build1)
Filename: pool/universe/
Size: 50610
MD5sum: 0c9b4932b6a1de9
SHA1: 60697f6457e71e5
SHA256: 8f7f500dd44fa58
SHA512: 3809e68065c7b8e
Homepage: http://
I used python-faulthandler to print out a python stack trace when the segfault happens:
Current thread 0x00007fdc45a3c740: python2. 7/dist- packages/ apt/package. py", line 273 in _translated_records python2. 7/dist- packages/ apt/package. py", line 331 in description python2. 7/pdb.py" , line 234 in default python2. 7/cmd.py" , line 220 in onecmd python2. 7/pdb.py" , line 279 in onecmd python2. 7/cmd.py" , line 142 in cmdloop python2. 7/pdb.py" , line 210 in interaction python2. 7/pdb.py" , line 158 in user_line python2. 7/bdb.py" , line 67 in dispatch_line python2. 7/bdb.py" , line 49 in trace_dispatch apt-xapian- index/plugins/ display_ name.py" , line 81 in index python2. 7/dist- packages/ axi/indexer. py", line 540 in get_document_ from_apt python2. 7/dist- packages/ axi/indexer. py", line 577 in gen_documents_apt python2. 7/dist- packages/ axi/indexer. py", line 719 in buildIndex python2. 7/dist- packages/ axi/indexer. py", line 744 in rebuild update- apt-xapian- index", line 111 in <module>
File "/usr/lib/
File "/usr/lib/
File "<stdin>", line 1 in <module>
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
File "/usr/share/
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
File "/usr/sbin/
Segmentation fault (core dumped)
display_name.py is a plugin from software-center which is doing this:
def index(self, document, pkg):
…
ver = pkg.candidate
if ver is None: display_ name != -1:
return
if self.val_
name = ver.summary
The `ver.summary' line is the one that triggers the segfault by eventually calling into the crashing code in python-apt.
python/cache.cc crashes in this line in DescriptionGetF ileList( ) at the call to File():
DescFile = CppPyObject_ NEW<pkgCache: :PkgFileIterato r>(Owner, &PyPackageFile_ Type,I. File()) ;
So I'm not sure if the problem is in python-apt here or if there's a bad iterator coming from libapt.