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

Bug #838038 reported by Roman Yepishev
48
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Smart Package Manager
New
Undecided
Unassigned
smart (Ubuntu)
Confirmed
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)

Revision history for this message
Roman Yepishev (rye) wrote :
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

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

Changed in smart (Ubuntu):
status: New → Incomplete
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

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

dpkg -l | grep smartpm

Revision history for this message
Roman Yepishev (rye) wrote :

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

Revision history for this message
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

Revision history for this message
Roman Yepishev (rye) wrote :
Roman Yepishev (rye)
Changed in smart (Ubuntu):
status: Incomplete → New
Revision history for this message
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"?

Revision history for this message
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...

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Confirmed.

Changed in smart (Ubuntu):
status: New → Confirmed
Revision history for this message
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
(...)

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

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

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

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

Revision history for this message
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

Revision history for this message
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?

Revision history for this message
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.

Revision history for this message
David Britton (dpb) 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$

Revision history for this message
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.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Amit,

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

Revision history for this message
Amit Kucheria (amitk) wrote :

Thanks Andreas, that worked.

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.