On 13/09/10 16:08, Anthony Callegaro wrote:
Checking: lighttpd (["<Origin component:'main' archive:'testing'
origin:'Debian' label:'Debian' site:'mir1.ovh.net' isTrusted:True>"])
Checking: wget (["<Origin component:'main' archive:'testing'
origin:'Debian' label:'Debian' site:'mir1.ovh.net' isTrusted:True>"])
pkgs that look like they should be upgraded: apache2-utils
apache2.2-bin
apache2.2-common
libusb-0.1-4
lighttpd
wget
Fetched 0B in 0s
(0B/s)
Segmentation fault

For comparison, here's what happens on my own Squeeze system, instead of segfaulting:

Checking: wireshark (["<Origin component:'main' archive:'testing' origin:'Debian' 
label:'Debian' site:'cdn.debian.net' isTrusted:True>"])
Checking: wireshark-common (["<Origin component:'main' archive:'testing' 
origin:'Debian' label:'Debian' site:'cdn.debian.net' isTrusted:True>"])
pkgs that look like they should be upgraded: libgtk-vnc-1.0-0
libpython2.6
python2.6
python2.6-minimal
tshark
wireshark
wireshark-common
Fetched 0B in 0s (0B/s)
<apt_pkg.AcquireItem object: Status: 2 Complete: 1 Local: 1 IsTrusted: 1 FileSize: 
107354 DestFile:'/var/cache/apt/archives/libgtk-vnc-1.0-0_0.4.1-3_amd64.deb' DescURI: 
'http://cdn.debian.net/debian/pool/main/g/gtk-vnc/libgtk-vnc-1.0-0_0.4.1-3_amd64.deb' 
ID:0 ErrorText: ''>

That leads me to believe the segfault is in the one of apt_pkg's methods (from package python-apt, implemented in C++), when called within this section of unattended-upgrade's code:

    logging.debug("pkgs that look like they should be upgraded: %s" % pkgs)

    # download what looks good
    if options.debug:
        fetcher = apt_pkg.Acquire(apt.progress.text.AcquireProgress())
    else:
        fetcher = apt_pkg.Acquire()
    list = apt_pkg.SourceList()
    list.read_main_list()
    recs = cache._records
    pm = apt_pkg.PackageManager(cache._depcache)
    try:
        pm.get_archives(fetcher,list,recs)
    except SystemError, e:
        logging.error(_("GetArchives() failed: '%s'") % e)
    res = fetcher.run()

    if dpkg_conffile_prompt():
        # now check the downloaded debs for conffile conflicts and build
        # a blacklist
        for item in fetcher.items:
            logging.debug("%s" % item)

It may be possible to narrow it down to the exact line, if someone able to reproduce this issue could please run:

$ python -m trace -t $(which unattended-upgrade) | gzip > pytrace.txt.gz

then attach the resulting pytrace.txt.gz file.


I'm a bit out of my depth now, but my nose tells me the problem may be in PkgAcquireNew of python/acquire.cc:317 in python-apt where there's a FIXME regarding a possible memory leak. But the segfault seems to be happening whether progress reporting is requested or not.

In any case I think this bug ought to be reassigned to the python-apt package, whose authors will know much more about this than I do.

Regards,
--
Steven Chamberlain
ste...@pyro.eu.org



--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to