diff --git a/umbra/controller.py b/umbra/controller.py
index <HASH>..<HASH> 100644
--- a/umbra/controller.py
+++ b/umbra/controller.py
@@ -138,8 +138,9 @@ class AmqpBrowserController:
             self.logger.info('browser={} client_id={} url={}'.format(browser, client_id, url))
             try:
                 browser.browse_page(url, on_request=on_request)
-            finally:
                 self._browser_pool.release(browser)
+            except:
+                self.logger.critical("problem browsing page, may have lost browser process", exc_info=True)
 
         import random
         threadName = "BrowsingThread{}-{}".format(browser.chrome_port,
dump stack trace and don't return browser to pool on critical error where chrome process might still be running