Matej Habrnal bcb3c1
From 01557f26b84f392dd74083b47d763def27683410 Mon Sep 17 00:00:00 2001
Matej Habrnal bcb3c1
From: Jakub Filak <jfilak@redhat.com>
Matej Habrnal bcb3c1
Date: Thu, 27 Nov 2014 12:45:04 +0100
Matej Habrnal bcb3c1
Subject: [PATCH] vmcore: catch IOErrors and OSErrors
Matej Habrnal bcb3c1
Matej Habrnal bcb3c1
Perhaps some temporary data cleaner removed problem directory while the hook
Matej Habrnal bcb3c1
was still using in.
Matej Habrnal bcb3c1
Matej Habrnal bcb3c1
Resolves: rhbz#1077241
Matej Habrnal bcb3c1
Matej Habrnal bcb3c1
Signed-off-by: Jakub Filak <jfilak@redhat.com>
Matej Habrnal bcb3c1
---
Matej Habrnal bcb3c1
 src/hooks/abrt_harvest_vmcore.py.in | 12 ++++++++++--
Matej Habrnal bcb3c1
 1 file changed, 10 insertions(+), 2 deletions(-)
Matej Habrnal bcb3c1
Matej Habrnal bcb3c1
diff --git a/src/hooks/abrt_harvest_vmcore.py.in b/src/hooks/abrt_harvest_vmcore.py.in
Matej Habrnal bcb3c1
index 17e2be8..c6a7e6b 100644
Matej Habrnal bcb3c1
--- a/src/hooks/abrt_harvest_vmcore.py.in
Matej Habrnal bcb3c1
+++ b/src/hooks/abrt_harvest_vmcore.py.in
Matej Habrnal bcb3c1
@@ -272,8 +272,16 @@ def harvest_vmcore():
Matej Habrnal bcb3c1
             except OSError:
Matej Habrnal bcb3c1
                 sys.stderr.write("Unable to delete '%s'. Ignoring\n" % f_full)
Matej Habrnal bcb3c1
 
Matej Habrnal bcb3c1
-        # Let abrtd know what type of problem it is:
Matej Habrnal bcb3c1
-        create_abrtd_info(destdirnew)
Matej Habrnal bcb3c1
+        try:
Matej Habrnal bcb3c1
+            # Let abrtd know what type of problem it is:
Matej Habrnal bcb3c1
+            create_abrtd_info(destdirnew)
Matej Habrnal bcb3c1
+        except EnvironmentError as ex:
Matej Habrnal bcb3c1
+            sys.stderr.write("Unable to create problem directory info: " + str(ex))
Matej Habrnal bcb3c1
+            try:
Matej Habrnal bcb3c1
+                shutil.rmtree(destdirnew)
Matej Habrnal bcb3c1
+            except Exception as ex:
Matej Habrnal bcb3c1
+                sys.stderr.write("Unable to remove incomplete problem directory: " + str(ex))
Matej Habrnal bcb3c1
+            continue
Matej Habrnal bcb3c1
 
Matej Habrnal bcb3c1
         # chown -R 0:0
Matej Habrnal bcb3c1
         change_owner_rec(destdirnew)
Matej Habrnal bcb3c1
-- 
Matej Habrnal bcb3c1
2.1.0
Matej Habrnal bcb3c1