venvlib: handle missing log file better

If we failed early enough that there is no log, don't crash trying
to dump it.

BUG=chromium:1109615
TEST=create_env w/missing py2 modules doesn't double crash

Change-Id: Ic0174e4e83dca686e7eccfecc4db3a28bb3745d2
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra_virtualenv/+/2319394
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/venv/cros_venv/venvlib.py b/venv/cros_venv/venvlib.py
index f55c6f2..cda555f 100644
--- a/venv/cros_venv/venvlib.py
+++ b/venv/cros_venv/venvlib.py
@@ -116,8 +116,13 @@
     @property
     def logdata(self):
         """Get any internal logged data."""
-        with open(self._paths.logfile) as fp:
-            return fp.read()
+        try:
+            with open(self._paths.logfile) as fp:
+                return fp.read()
+        except IOError as e:
+            if e.errno == errno.ENOENT:
+                return '<log does not exist>'
+            raise
 
     def _log_env(self, logfile):
         """Log details about the active runtime for debugging."""