[oneiric] smart uses 100% CPU while trying to download google talkplugin repository info

Bug #838038 reported by Roman Yepishev on 2011-08-31
48
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Smart Package Manager
Undecided
Unassigned
smart (Ubuntu)
Undecided
Unassigned

Bug Description

I have landscape-client installed.

smart uses 100% while trying to download http://dl.google.com/linux/talkplugin/deb/dists/stable/Release.
The counter shows (0% Stalled unknown) even though the file can be downloaded with wget.

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: smartpm (not installed)
ProcVersionSignature: Ubuntu 3.0.0-9.15-generic 3.0.3
Uname: Linux 3.0.0-9-generic x86_64
NonfreeKernelModules: nvidia
Architecture: amd64
Date: Wed Aug 31 15:09:51 2011
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100429)
SourcePackage: smart
UpgradeStatus: Upgraded to oneiric on 2011-08-30 (1 days ago)

Roman Yepishev (rye) wrote :
Andreas Hasenack (ahasenack) wrote :

Can you please attach your sources.list and sources.list.d/* files?

Changed in smart (Ubuntu):
status: New → Incomplete
Andreas Hasenack (ahasenack) wrote :

I also don't see the smartpm version you have, please show

dpkg -l | grep smartpm

Roman Yepishev (rye) wrote :

/usr/share/smart/smart belongs to python-smartpm

Roman Yepishev (rye) wrote :

Hello and sorry for all the missing data I should have provided.

python-smartpm:
  Installed: 1.4-1ubuntu1
  Candidate: 1.4-1ubuntu1
  Version table:
 *** 1.4-1ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ oneiric/main amd64 Packages
        100 /var/lib/dpkg/status

sources.list and combined sources.list.d is attached

Roman Yepishev (rye) wrote :
Roman Yepishev (rye) on 2011-09-01
Changed in smart (Ubuntu):
status: Incomplete → New
Andreas Hasenack (ahasenack) wrote :

The sources.list file you attached doesn't have the google repository you mentioned when opening this bug, are you sure it's the right one?

An unrelated question, do you have a proxy setup? Or do you need a proxy to go out to the internet?

When you say "The counter shows (0% Stalled unknown)", is that from "smart update"?

Roman Yepishev (rye) wrote :
Download full text (4.0 KiB)

Hello, the process command line (as seen in ps, along with the output) is below:

rtg@buzz:~$ sudo /usr/bin/python /usr/share/smart/smart update --after=60
Loading cache...
Updating cache... ######################################## [100%]

Fetching information for 'oneiric-backports - universe main multiverse restricted'...
-> http://archive.ubuntu.com/ubuntu/dists/oneiric-backports/Release
Release ######################################## [ 2%]
-> http://archive.ubuntu.com/ubuntu/dists/oneiric-backports/Release.gpg
Release.gpg ######################################## [ 4%]

Fetching information for 'stable - main'...
-> http://dl.google.com/linux/earth/deb/dists/stable/Release
Release ######################################## [ 15%]
-> http://dl.google.com/linux/earth/deb/dists/stable/Release.gpg
Release.gpg ######################################## [ 17%]

Fetching information for 'oneiric - partner'...
-> http://archive.canonical.com/ubuntu/dists/oneiric/Release.gpg
Release.gpg ######################################## [ 22%]
-> http://archive.canonical.com/ubuntu/dists/oneiric/Release
Release ######################################## [ 24%]

Fetching information for 'oneiric - main universe restricted multiverse'...
-> http://archive.ubuntu.com/ubuntu/dists/oneiric/Release.gpg
Release.gpg ######################################## [ 28%]
-> http://archive.ubuntu.com/ubuntu/dists/oneiric/Release
Release ######################################## [ 31%]

Fetching information for 'oneiric-security - universe main multiverse restricted'...
-> http://security.ubuntu.com/ubuntu/dists/oneiric-security/Release.gpg
Release.gpg ######################################## [ 42%]
-> http://security.ubuntu.com/ubuntu/dists/oneiric-security/Release
Release ######################################## [ 44%]

Fetching information for 'oneiric-updates - universe main multiverse restricted'...
-> http://archive.ubuntu.com/ubuntu/dists/oneiric-updates/Release.gpg
Release.gpg ######################################## [ 55%]
-> http://archive.ubuntu.com/ubuntu/dists/oneiric-updates/Release
Release ######################################## [ 57%]

Fetching information for 'oneiric - main'...
-> http://ppa.launchpad.net/novacut/daily/ubuntu/dists/oneiric/Release.gpg ...

Read more...

Andreas Hasenack (ahasenack) wrote :

Confirmed.

Changed in smart (Ubuntu):
status: New → Confirmed
Andreas Hasenack (ahasenack) wrote :

It's stuck in some sort of select loop:
(...)

[pid 32157] clock_gettime(CLOCK_MONOTONIC, {1546857, 314851500}) = 0
[pid 32157] clock_gettime(CLOCK_MONOTONIC, {1546857, 315013377}) = 0
[pid 32157] gettimeofday({1315237506, 146840}, NULL) = 0
[pid 32157] select(29, [28], [], [], {1, 0}) = 1 (in [28], left {0, 999996})
[pid 32157] clock_gettime(CLOCK_MONOTONIC, {1546857, 315565078}) = 0
[pid 32157] clock_gettime(CLOCK_MONOTONIC, {1546857, 315705119}) = 0
[pid 32157] gettimeofday({1315237506, 147477}, NULL) = 0
[pid 32157] select(29, [28], [], [], {1, 0}) = 1 (in [28], left {0, 999996})
[pid 32157] clock_gettime(CLOCK_MONOTONIC, {1546857, 316225228}) = 0
[pid 32157] clock_gettime(CLOCK_MONOTONIC, {1546857, 316400638}) = 0
[pid 32157] gettimeofday({1315237506, 148185}, NULL) = 0
[pid 32157] select(29, [28], [], [], {1, 0}) = 1 (in [28], left {0, 999996})
[pid 32157] clock_gettime(CLOCK_MONOTONIC, {1546857, 316932547}) = 0
[pid 32157] clock_gettime(CLOCK_MONOTONIC, {1546857, 317110454}) = 0
[pid 32157] gettimeofday({1315237506, 148887}, NULL) = 0
[pid 32157] select(29, [28], [], [], {1, 0}) = 1 (in [28], left {0, 999995})
[pid 32157] clock_gettime(CLOCK_MONOTONIC, {1546857, 317714231}) = 0
[pid 32157] clock_gettime(CLOCK_MONOTONIC, {1546857, 317885336}) = 0
[pid 32157] gettimeofday({1315237506, 149739}, NULL) = 0
[pid 32157] select(29, [28], [], [], {1, 0}) = 1 (in [28], left {0, 999995})
[pid 32157] clock_gettime(CLOCK_MONOTONIC, {1546857, 318574102}) = 0
[pid 32157] clock_gettime(CLOCK_MONOTONIC, {1546857, 318747210}) = 0
[pid 32157] gettimeofday({1315237506, 150570}, NULL) = 0
[pid 32157] select(29, [28], [], [], {1, 0}) = 1 (in [28], left {0, 999995})
[pid 32157] clock_gettime(CLOCK_MONOTONIC, {1546857, 319387483}) = 0
(...)

Andreas Hasenack (ahasenack) wrote :

I deleted the config and cache files from /var/lib/smart/ and now I can't reproduce the bug :(

Andreas Hasenack (ahasenack) wrote :

I can reproduce it again after I remove (and reimport) the gpg key for that google repo.

Andreas Hasenack (ahasenack) wrote :

Can you please try this command and repeat "smart update"? Here it helped, i.e., I didn't see the issue anymore:

sudo smart config --set pycurl=0
sudo smart update

Roman Yepishev (rye) wrote :

Andreas,
After running the entries you posted (I suppose it is disabling fetching the data via pycurl) smart was able to complete the update process for the first time.
Is this a bug in pycurl then?

Andreas Hasenack (ahasenack) wrote :

Maybe, it looks threading related. I couldn't reproduce it in lucid, even with smart 1.4 (same package as in oneiric, but using pysupport instead of dh_python2 to build the package). That command I posted indeed disabled the usage of pycurl and makes smart fallback to urllib.

David Britton (davidpbritton) wrote :

deb http://dl.google.com/linux/chrome/deb/ stable main
deb http://dl.google.com/linux/talkplugin/deb/ stable main
#deb http://dl.google.com/linux/earth/deb/ stable main

I can get the failure pretty consistently on oneiric with the above two lines enabled.

 - either alone work fine
 - either alone with any other combination of sources I tried work fine
 - either alone with the earth repo (commented out above) also work fine
 - both together has worked for me a couple times, but very rarely.

The 100% cpu hang usually looks like the following:

dpb@helo:landscape$ sudo smart update
Loading cache...
Updating cache... ##################################################################################### [100%]

Fetching information for 'stable - main'...
-> http://dl.google.com/linux/talkplugin/deb/dists/stable/Release
Release ##################################################################################### [ 16%]
-> http://dl.google.com/linux/talkplugin/deb/dists/stable/Release.gpg
Release.gpg ##################################################################################### [ 33%]
-> http://dl.google.com/linux/chrome/deb/dists/stable/Release.gpg
^Clease.gpg (0% Stalled Unknown)
Interrupted

dpb@helo:landscape$

Amit Kucheria (amitk) wrote :

'Me too' here. And the command to disable pycurl isn't working for me either.

$ /usr/bin/python /usr/share/smart/smart update --after=60
error: Configuration is in readonly mode.

Andreas Hasenack (ahasenack) wrote :

Amit,

you need to kill any existing smart process before running smart config to change the configuration.

Amit Kucheria (amitk) wrote :

Thanks Andreas, that worked.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers