2012-04-20 16:54:06 |
Martin Pitt |
description |
At some point, an apparent memory leak has been introduced into apport making it bring systems to a grinding halt while it tries to run.
I've noticed this over the last few days, so I suspect it's a fairly recent change. Today, I've tried filing a bug twice using apport, however, each time, the apport process chews through up to 3.5GB of RAM before it finally crashes. Here's the python trace generated after it finally runs out of memory:
bladernr@klaatu:~$ ubuntu-bug linux
ERROR: hook /usr/share/apport/package-hooks//source_linux.py crashed:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/apport/report.py", line 768, in add_hooks_info
symb['add_info'](self, ui)
File "/usr/share/apport/package-hooks//source_linux.py", line 46, in add_info
report['AcpiTables'] = root_command_output(['/usr/share/apport/dump_acpi_tables.py'])
File "/usr/lib/python2.7/dist-packages/apport/hookutils.py", line 365, in root_command_output
return command_output(_root_command_prefix() + command, input, stderr,
File "/usr/lib/python2.7/dist-packages/apport/hookutils.py", line 340, in _root_command_prefix
stderr=subprocess.PIPE) == 0 and \
File "/usr/lib/python2.7/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1143, in _execute_child
self.pid = os.fork()
OSError: [Errno 12] Cannot allocate memory
Traceback (most recent call last):
File "/usr/share/apport/apport-gtk", line 507, in <module>
app.run_argv()
File "/usr/lib/python2.7/dist-packages/apport/ui.py", line 543, in run_argv
return self.run_report_bug()
File "/usr/lib/python2.7/dist-packages/apport/ui.py", line 348, in run_report_bug
self.collect_info(symptom_script)
File "/usr/lib/python2.7/dist-packages/apport/ui.py", line 861, in collect_info
icthread.exc_raise()
File "/usr/lib/python2.7/dist-packages/apport/REThread.py", line 34, in run
self._retval = self.__target(*self.__args, **self.__kwargs)
File "/usr/lib/python2.7/dist-packages/apport/ui.py", line 93, in thread_collect_info
elif not apport.packaging.is_distro_package(report['Package'].split()[0]):
File "/usr/lib/python2.7/dist-packages/apport/packaging_impl.py", line 144, in is_distro_package
stdout=subprocess.PIPE)
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1143, in _execute_child
self.pid = os.fork()
OSError: [Errno 12] Cannot allocate memory |
SRU TEST CASE: See comment 7
At some point, an apparent memory leak has been introduced into apport making it bring systems to a grinding halt while it tries to run.
I've noticed this over the last few days, so I suspect it's a fairly recent change. Today, I've tried filing a bug twice using apport, however, each time, the apport process chews through up to 3.5GB of RAM before it finally crashes. Here's the python trace generated after it finally runs out of memory:
bladernr@klaatu:~$ ubuntu-bug linux
ERROR: hook /usr/share/apport/package-hooks//source_linux.py crashed:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/apport/report.py", line 768, in add_hooks_info
symb['add_info'](self, ui)
File "/usr/share/apport/package-hooks//source_linux.py", line 46, in add_info
report['AcpiTables'] = root_command_output(['/usr/share/apport/dump_acpi_tables.py'])
File "/usr/lib/python2.7/dist-packages/apport/hookutils.py", line 365, in root_command_output
return command_output(_root_command_prefix() + command, input, stderr,
File "/usr/lib/python2.7/dist-packages/apport/hookutils.py", line 340, in _root_command_prefix
stderr=subprocess.PIPE) == 0 and \
File "/usr/lib/python2.7/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1143, in _execute_child
self.pid = os.fork()
OSError: [Errno 12] Cannot allocate memory
Traceback (most recent call last):
File "/usr/share/apport/apport-gtk", line 507, in <module>
app.run_argv()
File "/usr/lib/python2.7/dist-packages/apport/ui.py", line 543, in run_argv
return self.run_report_bug()
File "/usr/lib/python2.7/dist-packages/apport/ui.py", line 348, in run_report_bug
self.collect_info(symptom_script)
File "/usr/lib/python2.7/dist-packages/apport/ui.py", line 861, in collect_info
icthread.exc_raise()
File "/usr/lib/python2.7/dist-packages/apport/REThread.py", line 34, in run
self._retval = self.__target(*self.__args, **self.__kwargs)
File "/usr/lib/python2.7/dist-packages/apport/ui.py", line 93, in thread_collect_info
elif not apport.packaging.is_distro_package(report['Package'].split()[0]):
File "/usr/lib/python2.7/dist-packages/apport/packaging_impl.py", line 144, in is_distro_package
stdout=subprocess.PIPE)
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1143, in _execute_child
self.pid = os.fork()
OSError: [Errno 12] Cannot allocate memory |
|