| Index: app/lib/backend.dart | 
| diff --git a/app/lib/backend.dart b/app/lib/backend.dart | 
| index 6234b7f0e594fc32a2e08e3081749b1ed77e9fe9..69f204ed5b35b4a7ef69e7914f6a34f87544259b 100644 | 
| --- a/app/lib/backend.dart | 
| +++ b/app/lib/backend.dart | 
| @@ -314,7 +314,15 @@ class GCloudPackageRepository extends PackageRepository { | 
| newVersion.pubspec.jsonString); | 
| } catch (error, stack) { | 
| _logger.warning('Error while committing: $error, $stack'); | 
| -        await T.rollback(); | 
| + | 
| +        // This call might fail if the transaction has already been | 
| +        // committed/rolled back or the transaction failed. | 
| +        // | 
| +        // In which case we simply ignore the rollback error and rethrow the | 
| +        // original error. | 
| +        try { | 
| +          await T.rollback(); | 
| +        } catch (_) {} | 
| rethrow; | 
| } | 
| }); | 
|  |