eWaterCycle / eWaterCycle/grpc4bmi

Sometimes BmiClientDocker construction hangs

Open
#16 4 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
5
Forks
5
PR merge metrics
No merged PRs in 30d

Description

When doing:
```python
from grpc4bmi.bmi_client_docker import BmiClientDocker
model = BmiClientDocker(image='ewatercycle/walrus-grpc4bmi', image_port=55555)
```
Sometimes the intepreter hangs, when killed the stack trace is
```
---------------------------------------------------------------------------
KeyboardInterrupt Traceback (most recent call last)
in ()
2 model = BmiClientDocker(image='ewatercycle/walrus-grpc4bmi', image_port=55555,
3 input_dir="./input",
----> 4 output_dir="./output")

/usr/local/lib/python3.5/dist-packages/grpc4bmi/bmi_client_docker.py in __init__(self, image, image_port, host, input_dir, output_dir, user)
40 remove=True,
41 detach=True)
---> 42 super(BmiClientDocker, self).__init__(BmiClient.create_grpc_channel(port=port, host=host))
43
44 def __del__(self):

/usr/local/lib/python3.5/dist-packages/grpc4bmi/bmi_grpc_client.py in __init__(self, channel, timeout, stub)
27 self.stub = bmi_pb2_grpc.BmiServiceStub(c)
28 future = grpc.channel_ready_future(c)
---> 29 future.result(timeout=timeout)
30 else:
31 self.stub = stub

/usr/local/lib/python3.5/dist-packages/grpc/_utilities.py in result(self, timeout)
132
133 def result(self, timeout=None):
--> 134 self._block(timeout)
135 return None
136

/usr/local/lib/python3.5/dist-packages/grpc/_utilities.py in _block(self, timeout)
78 else:
79 if until is None:
---> 80 self._condition.wait()
81 else:
82 remaining = until - time.time()

/usr/lib/python3.5/threading.py in wait(self, timeout)
291 try: # restore state no matter what (e.g., KeyboardInterrupt)
292 if timeout is None:
--> 293 waiter.acquire()
294 gotit = True
295 else:

KeyboardInterrupt:
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.