[Bug 1281086] [NEW] Crash in os.environ.clear() with empty environment key
Daniel Hahler
launchpad at thequod.de
Mon Feb 17 12:46:05 UTC 2014
Public bug reported:
% ubuntu-bug apport
Traceback (most recent call last):
File "/usr/share/apport/apport-gtk", line 590, in <module>
app.run_argv()
File "/usr/lib/python3/dist-packages/apport/ui.py", line 654, in run_argv
return self.run_report_bug()
File "/usr/lib/python3/dist-packages/apport/ui.py", line 456, in run_report_bug
self.collect_info(symptom_script)
File "/usr/lib/python3/dist-packages/apport/ui.py", line 1031, in collect_info
os.environ.clear()
File "/usr/lib/python3.3/collections/abc.py", line 553, in clear
self.popitem()
File "/usr/lib/python3.3/collections/abc.py", line 546, in popitem
del self[key]
File "/usr/lib/python3.3/os.py", line 687, in __delitem__
self.unsetenv(encodedkey)
OSError: [Errno 22] Invalid argument
Looking at the output of `os.environ`, there is a odd entry (key '').
os.environ.clear() fails both with python2.7 and python3:
In [1]: import os
In [2]: os.environ[''] = ''
In [3]: os.environ.clear()
---------------------------------------------------------------------------
OSError Traceback (most recent call last)
<ipython-input-3-bfe7fb2930ac> in <module>()
----> 1 os.environ.clear()
/usr/lib/python3.3/collections/abc.py in clear(self)
551 try:
552 while True:
--> 553 self.popitem()
554 except KeyError:
555 pass
/usr/lib/python3.3/collections/abc.py in popitem(self)
544 raise KeyError
545 value = self[key]
--> 546 del self[key]
547 return key, value
548
/usr/lib/python3.3/os.py in __delitem__(self, key)
685 def __delitem__(self, key):
686 encodedkey = self.encodekey(key)
--> 687 self.unsetenv(encodedkey)
688 try:
689 del self._data[encodedkey]
OSError: [Errno 22] Invalid argument
While this looks like a bug to be fixed in Python also, apport should
handle it gracefully, and not crash/abort on it.
ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: apport 2.12.5-0ubuntu2.2
ProcVersionSignature: Ubuntu 3.11.0-15.25-generic 3.11.10
Uname: Linux 3.11.0-15-generic x86_64
ApportVersion: 2.12.5-0ubuntu2.2
Architecture: amd64
CrashReports:
640:1000:114:120104180:2014-02-13 00:58:41.677010970 +0100:2014-02-13 00:57:20.989009053 +0100:/var/crash/_opt_firefox_firefox.1000.crash
640:1000:114:63870076:2014-02-13 00:00:35.972928127 +0100:2014-02-12 23:59:49.260927017 +0100:/var/crash/_usr_lib_firefox_firefox.1000.crash
640:1000:114:14175879:2014-02-09 10:23:03.104148831 +0100:2014-02-09 10:22:57.576148699 +0100:/var/crash/_usr_bin_nautilus.1000.crash
Date: Mon Feb 17 13:41:48 2014
InstallationDate: Installed on 2012-05-28 (629 days ago)
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
MarkForUpload: True
PackageArchitecture: all
SourcePackage: apport
UpgradeStatus: Upgraded to saucy on 2013-10-08 (131 days ago)
modified.conffile..etc.default.apport: [modified]
mtime.conffile..etc.default.apport: 2014-02-13T00:58:07.609010
** Affects: apport (Ubuntu)
Importance: Undecided
Status: New
** Affects: python2.7 (Ubuntu)
Importance: Undecided
Status: New
** Affects: python3.3 (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug saucy
** Description changed:
- % ubuntu-bug apport
+ % ubuntu-bug apport
Traceback (most recent call last):
- File "/usr/share/apport/apport-gtk", line 590, in <module>
- app.run_argv()
- File "/usr/lib/python3/dist-packages/apport/ui.py", line 654, in run_argv
- return self.run_report_bug()
- File "/usr/lib/python3/dist-packages/apport/ui.py", line 456, in run_report_bug
- self.collect_info(symptom_script)
- File "/usr/lib/python3/dist-packages/apport/ui.py", line 1031, in collect_info
- os.environ.clear()
- File "/usr/lib/python3.3/collections/abc.py", line 553, in clear
- self.popitem()
- File "/usr/lib/python3.3/collections/abc.py", line 546, in popitem
- del self[key]
- File "/usr/lib/python3.3/os.py", line 687, in __delitem__
- self.unsetenv(encodedkey)
+ File "/usr/share/apport/apport-gtk", line 590, in <module>
+ app.run_argv()
+ File "/usr/lib/python3/dist-packages/apport/ui.py", line 654, in run_argv
+ return self.run_report_bug()
+ File "/usr/lib/python3/dist-packages/apport/ui.py", line 456, in run_report_bug
+ self.collect_info(symptom_script)
+ File "/usr/lib/python3/dist-packages/apport/ui.py", line 1031, in collect_info
+ os.environ.clear()
+ File "/usr/lib/python3.3/collections/abc.py", line 553, in clear
+ self.popitem()
+ File "/usr/lib/python3.3/collections/abc.py", line 546, in popitem
+ del self[key]
+ File "/usr/lib/python3.3/os.py", line 687, in __delitem__
+ self.unsetenv(encodedkey)
OSError: [Errno 22] Invalid argument
Looking at the output of `os.environ`, there is a odd entry (key '').
+
+ os.environ.clear() fails both with python2.7 and python3:
+
+ In [1]: import os
+
+ In [2]: os.environ[''] = ''
+
+ In [3]: os.environ.clear()
+ ---------------------------------------------------------------------------
+ OSError Traceback (most recent call last)
+ <ipython-input-3-bfe7fb2930ac> in <module>()
+ ----> 1 os.environ.clear()
+
+ /usr/lib/python3.3/collections/abc.py in clear(self)
+ 551 try:
+ 552 while True:
+ --> 553 self.popitem()
+ 554 except KeyError:
+ 555 pass
+
+ /usr/lib/python3.3/collections/abc.py in popitem(self)
+ 544 raise KeyError
+ 545 value = self[key]
+ --> 546 del self[key]
+ 547 return key, value
+ 548
+
+ /usr/lib/python3.3/os.py in __delitem__(self, key)
+ 685 def __delitem__(self, key):
+ 686 encodedkey = self.encodekey(key)
+ --> 687 self.unsetenv(encodedkey)
+ 688 try:
+ 689 del self._data[encodedkey]
+
+ OSError: [Errno 22] Invalid argument
+
+ While this looks like a bug to be fixed in Python also, apport should
+ handle it gracefully, and not crash/abort on it.
ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: apport 2.12.5-0ubuntu2.2
ProcVersionSignature: Ubuntu 3.11.0-15.25-generic 3.11.10
Uname: Linux 3.11.0-15-generic x86_64
ApportVersion: 2.12.5-0ubuntu2.2
Architecture: amd64
CrashReports:
- 640:1000:114:120104180:2014-02-13 00:58:41.677010970 +0100:2014-02-13 00:57:20.989009053 +0100:/var/crash/_opt_firefox_firefox.1000.crash
- 640:1000:114:63870076:2014-02-13 00:00:35.972928127 +0100:2014-02-12 23:59:49.260927017 +0100:/var/crash/_usr_lib_firefox_firefox.1000.crash
- 640:1000:114:14175879:2014-02-09 10:23:03.104148831 +0100:2014-02-09 10:22:57.576148699 +0100:/var/crash/_usr_bin_nautilus.1000.crash
+ 640:1000:114:120104180:2014-02-13 00:58:41.677010970 +0100:2014-02-13 00:57:20.989009053 +0100:/var/crash/_opt_firefox_firefox.1000.crash
+ 640:1000:114:63870076:2014-02-13 00:00:35.972928127 +0100:2014-02-12 23:59:49.260927017 +0100:/var/crash/_usr_lib_firefox_firefox.1000.crash
+ 640:1000:114:14175879:2014-02-09 10:23:03.104148831 +0100:2014-02-09 10:22:57.576148699 +0100:/var/crash/_usr_bin_nautilus.1000.crash
Date: Mon Feb 17 13:41:48 2014
InstallationDate: Installed on 2012-05-28 (629 days ago)
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
MarkForUpload: True
PackageArchitecture: all
SourcePackage: apport
UpgradeStatus: Upgraded to saucy on 2013-10-08 (131 days ago)
modified.conffile..etc.default.apport: [modified]
mtime.conffile..etc.default.apport: 2014-02-13T00:58:07.609010
** Summary changed:
- Apport might crash when clearing environment (via os.environ.clear() with empty environ key)
+ Crash in os.environ.clear() with empty environment key
** Also affects: python2.7 (Ubuntu)
Importance: Undecided
Status: New
** Also affects: python3.3 (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to python2.7 in Ubuntu.
https://bugs.launchpad.net/bugs/1281086
Title:
Crash in os.environ.clear() with empty environment key
Status in “apport” package in Ubuntu:
New
Status in “python2.7” package in Ubuntu:
New
Status in “python3.3” package in Ubuntu:
New
Bug description:
% ubuntu-bug apport
Traceback (most recent call last):
File "/usr/share/apport/apport-gtk", line 590, in <module>
app.run_argv()
File "/usr/lib/python3/dist-packages/apport/ui.py", line 654, in run_argv
return self.run_report_bug()
File "/usr/lib/python3/dist-packages/apport/ui.py", line 456, in run_report_bug
self.collect_info(symptom_script)
File "/usr/lib/python3/dist-packages/apport/ui.py", line 1031, in collect_info
os.environ.clear()
File "/usr/lib/python3.3/collections/abc.py", line 553, in clear
self.popitem()
File "/usr/lib/python3.3/collections/abc.py", line 546, in popitem
del self[key]
File "/usr/lib/python3.3/os.py", line 687, in __delitem__
self.unsetenv(encodedkey)
OSError: [Errno 22] Invalid argument
Looking at the output of `os.environ`, there is a odd entry (key '').
os.environ.clear() fails both with python2.7 and python3:
In [1]: import os
In [2]: os.environ[''] = ''
In [3]: os.environ.clear()
---------------------------------------------------------------------------
OSError Traceback (most recent call last)
<ipython-input-3-bfe7fb2930ac> in <module>()
----> 1 os.environ.clear()
/usr/lib/python3.3/collections/abc.py in clear(self)
551 try:
552 while True:
--> 553 self.popitem()
554 except KeyError:
555 pass
/usr/lib/python3.3/collections/abc.py in popitem(self)
544 raise KeyError
545 value = self[key]
--> 546 del self[key]
547 return key, value
548
/usr/lib/python3.3/os.py in __delitem__(self, key)
685 def __delitem__(self, key):
686 encodedkey = self.encodekey(key)
--> 687 self.unsetenv(encodedkey)
688 try:
689 del self._data[encodedkey]
OSError: [Errno 22] Invalid argument
While this looks like a bug to be fixed in Python also, apport should
handle it gracefully, and not crash/abort on it.
ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: apport 2.12.5-0ubuntu2.2
ProcVersionSignature: Ubuntu 3.11.0-15.25-generic 3.11.10
Uname: Linux 3.11.0-15-generic x86_64
ApportVersion: 2.12.5-0ubuntu2.2
Architecture: amd64
CrashReports:
640:1000:114:120104180:2014-02-13 00:58:41.677010970 +0100:2014-02-13 00:57:20.989009053 +0100:/var/crash/_opt_firefox_firefox.1000.crash
640:1000:114:63870076:2014-02-13 00:00:35.972928127 +0100:2014-02-12 23:59:49.260927017 +0100:/var/crash/_usr_lib_firefox_firefox.1000.crash
640:1000:114:14175879:2014-02-09 10:23:03.104148831 +0100:2014-02-09 10:22:57.576148699 +0100:/var/crash/_usr_bin_nautilus.1000.crash
Date: Mon Feb 17 13:41:48 2014
InstallationDate: Installed on 2012-05-28 (629 days ago)
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
MarkForUpload: True
PackageArchitecture: all
SourcePackage: apport
UpgradeStatus: Upgraded to saucy on 2013-10-08 (131 days ago)
modified.conffile..etc.default.apport: [modified]
mtime.conffile..etc.default.apport: 2014-02-13T00:58:07.609010
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apport/+bug/1281086/+subscriptions
More information about the foundations-bugs
mailing list