From d815eed174c8d277faa906bf32495655f28105c0 2014-05-09 00:00:42 From: Min RK <benjaminrk@gmail.com> Date: 2014-05-09 00:00:42 Subject: [PATCH] Merge pull request #5824 from takluyver/testcontroller-json-error Handle failure to read JSON waiting for server start --- diff --git a/IPython/testing/iptestcontroller.py b/IPython/testing/iptestcontroller.py index df29579..d72aa88 100644 --- a/IPython/testing/iptestcontroller.py +++ b/IPython/testing/iptestcontroller.py @@ -274,8 +274,14 @@ class JSController(TestController): if self.server.poll() is not None: return self._failed_to_start() if os.path.exists(self.server_info_file): - self._load_server_info() - return + try: + self._load_server_info() + except ValueError: + # If the server is halfway through writing the file, we may + # get invalid JSON; it should be ready next iteration. + pass + else: + return time.sleep(0.1) print("Notebook server-info file never arrived: %s" % self.server_info_file, file=sys.stderr