[Desktop-packages] [Bug 984256] Re: recent_logfile() causes a huge memory leak for large log files
This bug was fixed in the package apport - 2.0.1-0ubuntu6 --- apport (2.0.1-0ubuntu6) precise-proposed; urgency=low * Cherry-pick from trunk: - hookutils.py, recent_logfile(): Use a default limit of 1 lines and call "tail" instead of reading the whole file. This protects against using up all memory when there are massive repeated log messages. (LP: #984256) - apport-gtk: Do not assume that an icon requested for size 42 actually delivers size 42; some themes do not have this available and deliver a smaller one instead, causing overflows. Also, copy the image as gtk_icon_theme_load_icon() returns a readonly result which we must not modify. Fixes crashes when using themes other than the standard Ubuntu ones. (LP: #937249) -- Martin PittFri, 20 Apr 2012 18:53:24 +0200 ** Changed in: apport (Ubuntu) Status: Fix Committed => Fix Released -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to apport in Ubuntu. https://bugs.launchpad.net/bugs/984256 Title: recent_logfile() causes a huge memory leak for large log files Status in “apport” package in Ubuntu: Fix Released Status in “apport” source package in Precise: Fix Released Bug description: 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 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 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apport/+bug/984256/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp
[Desktop-packages] [Bug 984256] Re: recent_logfile() causes a huge memory leak for large log files
This bug was fixed in the package apport - 2.0.1-0ubuntu6 --- apport (2.0.1-0ubuntu6) precise-proposed; urgency=low * Cherry-pick from trunk: - hookutils.py, recent_logfile(): Use a default limit of 1 lines and call "tail" instead of reading the whole file. This protects against using up all memory when there are massive repeated log messages. (LP: #984256) - apport-gtk: Do not assume that an icon requested for size 42 actually delivers size 42; some themes do not have this available and deliver a smaller one instead, causing overflows. Also, copy the image as gtk_icon_theme_load_icon() returns a readonly result which we must not modify. Fixes crashes when using themes other than the standard Ubuntu ones. (LP: #937249) -- Martin PittFri, 20 Apr 2012 18:53:24 +0200 ** Changed in: apport (Ubuntu Precise) Status: Fix Committed => Fix Released -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to apport in Ubuntu. https://bugs.launchpad.net/bugs/984256 Title: recent_logfile() causes a huge memory leak for large log files Status in “apport” package in Ubuntu: Fix Committed Status in “apport” source package in Precise: Fix Released Bug description: 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 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 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apport/+bug/984256/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp