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