[Bug 852003] Re: USC fails to launch in non-admin user account if there's a private PPA
David Ayers
ayers at fsfe.org
Tue Jul 10 18:48:05 UTC 2012
I believe the error still exists. I know next to nothing about C++ but
I believe this is a symptom of a programming error in apt:
The code in
apt-pkg/sourcelist.cc
says:
ifstream F(File.c_str(),ios::in /*| ios::nocreate*/);
if (!F != 0)
return _error->Errno("ifstream::ifstream",_("Opening %s"),File.c_str());
but the C++ documentation I found says:
If the constructor is not successful in opening the file, the object is still created although no file is associated to the stream buffer and the stream's failbit is set (which can be checked with inherited member fail).
http://www.cplusplus.com/reference/iostream/ifstream/ifstream/
So I believe that the the if case is arbitrarily failing due to type
promotion rules dependent on the address that is stored in F.
That would make this a bug in the apt package which is repeated a few
times in other places. (i.e. other places is apt where the result of the
constructor is tested via if (!F != 0) rather than fail.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/852003
Title:
USC fails to launch in non-admin user account if there's a private PPA
Status in “apt” package in Ubuntu:
Confirmed
Status in “python-apt” package in Ubuntu:
Confirmed
Status in “software-center” package in Ubuntu:
Triaged
Bug description:
Ubuntu Software Center 4.1.23.2, Ubuntu 11.10 beta 1
Ubuntu Software Center 5.0.1.4, Ubuntu 11.10
1. Subscribe to a private PPA. (For example, purchase some software.)
2. Close USC and relaunch it.
3. Switch to a guest account (or any non-admin account), and launch USC.
What happens:
2. USC opens.
3. USC fails to open, with this traceback:
------------
Traceback (most recent call last):
File "/usr/bin/software-center", line 151, in <module>
app = SoftwareCenterAppGtk3(datadir, xapian_base_path, options, args)
File "/usr/share/software-center/softwarecenter/ui/gtk3/app.py", line 206, in __init__
self.cache.open()
File "/usr/share/software-center/softwarecenter/db/pkginfo_impl/aptcache.py", line 209, in open
self._cache = apt.Cache(GtkMainIterationProgress())
File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 93, in __init__
self.open(progress)
File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 140, in open
self._list.read_main_list()
SystemError: E:Opening /etc/apt/sources.list.d/private-ppa.launchpad.net_whatever_ubuntu.list - ifstream::ifstream (13: Permission denied)
------------
What should happen:
3. USC should launch.
Bug 746625 (currently marked Invalid) is the equivalent bug in apt.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/852003/+subscriptions
More information about the foundations-bugs
mailing list