fixed freeze in crashing python apps rhbz#808562

This commit is contained in:
Jiri 2012-04-18 13:39:17 +02:00
parent 3872b9422d
commit 5079c04985
2 changed files with 75 additions and 0 deletions

View File

@ -0,0 +1,70 @@
From f7d7f594dcd5439bc05187361d55be720f07959e Mon Sep 17 00:00:00 2001
Message-Id: <f7d7f594dcd5439bc05187361d55be720f07959e.1334151133.git.jmoskovc@redhat.com>
From: Jiri Moskovcak <jmoskovc@redhat.com>
Date: Wed, 11 Apr 2012 15:31:34 +0200
Subject: [PATCH] pyhook: add timetout to sockets rhbz#808562
---
src/hooks/abrt_exception_handler.py.in | 46 ++++++++++++++++++--------------
1 file changed, 26 insertions(+), 20 deletions(-)
diff --git a/src/hooks/abrt_exception_handler.py.in b/src/hooks/abrt_exception_handler.py.in
index 9522a0f..cc00fc7 100644
--- a/src/hooks/abrt_exception_handler.py.in
+++ b/src/hooks/abrt_exception_handler.py.in
@@ -37,26 +37,32 @@ def write_dump(tb):
try:
import socket
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
- s.connect(@VAR_RUN@ + "/abrt/abrt.socket")
- s.sendall("PUT / HTTP/1.1\r\n\r\n")
- s.sendall("PID=%s\0" % os.getpid())
- s.sendall("EXECUTABLE=%s\0" % executable)
- s.sendall("ANALYZER=Python\0")
- s.sendall("BASENAME=pyhook\0")
- # This handler puts a short(er) crash descr in 1st line of the backtrace.
- # Example:
- # CCMainWindow.py:1:<module>:ZeroDivisionError: integer division or modulo by zero
- s.sendall("REASON=%s\0" % tb.splitlines()[0])
- s.sendall("BACKTRACE=%s\0" % tb)
- s.shutdown(socket.SHUT_WR)
-
- # Read the response and log if there's anything wrong
- response = ""
- while True:
- buf = s.recv(256)
- if not buf:
- break;
- response += buf
+ s.settimeout(5)
+ try:
+ s.connect(@VAR_RUN@ + "/abrt/abrt.socket")
+ s.sendall("PUT / HTTP/1.1\r\n\r\n")
+ s.sendall("PID=%s\0" % os.getpid())
+ s.sendall("EXECUTABLE=%s\0" % executable)
+ s.sendall("ANALYZER=Python\0")
+ s.sendall("BASENAME=pyhook\0")
+ # This handler puts a short(er) crash descr in 1st line of the backtrace.
+ # Example:
+ # CCMainWindow.py:1:<module>:ZeroDivisionError: integer division or modulo by zero
+ s.sendall("REASON=%s\0" % tb.splitlines()[0])
+ s.sendall("BACKTRACE=%s\0" % tb)
+ s.shutdown(socket.SHUT_WR)
+
+
+ # Read the response and log if there's anything wrong
+ response = ""
+ while True:
+ buf = s.recv(256)
+ if not buf:
+ break
+ response += buf
+ except socket.timeout, ex:
+ import syslog
+ syslog.syslog("communication with ABRT daemon failed: %s" % str(ex))
s.close()
parts = response.split()
--
1.7.10

View File

@ -37,6 +37,7 @@ Patch2: abrt_disable_gpgcheck.diff
Patch3: 0002-gui-fixed-crash-when-chowning-directory-using-dbus-c.patch
Patch4: 0003-dbus-use-the-helper-dir_accessible_by_uid-more-consi.patch
Patch5: 0001-a-a-analyze-core-check-the-len-if-the-line-array-bef.patch
Patch6: 0001-pyhook-add-timetout-to-sockets-rhbz-808562.patch
BuildRequires: dbus-devel
BuildRequires: gtk2-devel
BuildRequires: rpm-devel >= 4.6
@ -639,6 +640,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{_datadir}/polkit-1/actions/abrt_polkit.policy
%changelog
* Wed Apr 18 2012 Jiri Moskovcak <jmoskovc@redhat.com> 2.0.10-3
- fixed freeze in crashing python apps rhbz#808562
- Resolves: #808562
* Wed Apr 18 2012 Jiri Moskovcak <jmoskovc@redhat.com> 2.0.10-2
- minor rhel7 build fixes