[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Wed Apr 7 23:22:34 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 0dfb4d3916fb8a8108c09c6677a8482e24c64ce9
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Nov 4 18:28:39 2009 +0000

    2009-11-04  Eric Seidel  <eric at webkit.org>
    
            Reviewed by Adam Barth.
    
            commit-queue is crashing when trying to reject patches after unknown failures
            https://bugs.webkit.org/show_bug.cgi?id=31091
    
            * Scripts/bugzilla-tool:
             - patch['id'] was a copy/paste mistake.  This code has no 'patch' variable
               so we have to find out what the current patch is by asking bugzilla again.
             - Discovered that this code was also leaking file descriptors, so fixed that.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50518 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index b2891b6..93dc9a1 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,15 @@
+2009-11-04  Eric Seidel  <eric at webkit.org>
+
+        Reviewed by Adam Barth.
+
+        commit-queue is crashing when trying to reject patches after unknown failures
+        https://bugs.webkit.org/show_bug.cgi?id=31091
+
+        * Scripts/bugzilla-tool:
+         - patch['id'] was a copy/paste mistake.  This code has no 'patch' variable
+           so we have to find out what the current patch is by asking bugzilla again.
+         - Discovered that this code was also leaking file descriptors, so fixed that.
+
 2009-11-04  Adam Roben  <aroben at apple.com>
 
         Make run-webkit-tests work for the Debug_Internal Windows
diff --git a/WebKitTools/Scripts/bugzilla-tool b/WebKitTools/Scripts/bugzilla-tool
index f73d76d..e17abbe 100755
--- a/WebKitTools/Scripts/bugzilla-tool
+++ b/WebKitTools/Scripts/bugzilla-tool
@@ -723,7 +723,11 @@ class LandPatchesFromCommitQueue(Command):
 
         self.status_bot = StatusBot(host=options.status_host)
 
+        bug_log = None
         while (True):
+            # If we still have a bug log open from the last loop, close it.
+            if bug_log:
+                self._remove_log_from_output_tee(bug_log)
             # Either of these calls could throw URLError which shouldn't stop the queue.
             # We catch all exceptions just in case.
             try:
@@ -758,11 +762,22 @@ class LandPatchesFromCommitQueue(Command):
             except ScriptError, e:
                 # Unexpected failure!  Mark the patch as commit-queue- and comment in the bug.
                 # exit(2) is a special exit code we use to indicate that the error was already handled by land-patches and we should keep looping anyway.
-                if e.exit_code != 2:
-                    tool.bugs.reject_patch_from_commit_queue(patch['id'], "Unexpected failure when landing patch!  Please file a bug against bugzilla-tool.\n%s" % e.message_with_output())
-            self._remove_log_from_output_tee(bug_log)
+                if e.exit_code == 2:
+                    continue
+                message = "Unexpected failure when landing patch!  Please file a bug against bugzilla-tool.\n%s" % e.message_with_output()
+                # We don't have a patch id at this point, so try to grab the first patch off of the bug in question.
+                patches = tool.bugs.fetch_commit_queue_patches_from_bug(first_bug_id)
+                non_obsolete_patches = filter(lambda patch: not patch['is_obsolete'], patches)
+                if not len(non_obsolete_patches):
+                    # If there are no patches left on the bug, assume land-patches already closed it before dying, and just continue.
+                    log(message)
+                    continue
+                first_patch_id = non_obsolete_patches[0]['id']
+                tool.bugs.reject_patch_from_commit_queue(first_patch_id, message)
 
-        log("Finished WebKit Commit Queue. %s" % datetime.now().strftime(self.log_date_format))
+        # Never reached.
+        if bug_log:
+            self._remove_log_from_output_tee(bug_log)
         self._remove_log_from_output_tee(queue_log)
 
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list