eWaterCycle / eWaterCycle/ewatercycle-hype

Hype docker image gives an error

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

Description

The hype notebook using docker image gives the error (the singularity works fine):

```python
--------------------------------------------------------------------------
DeadContainerException Traceback (most recent call last)
Input In [6], in ()
----> 1 cfg_file, cfg_dir = model.setup()
2 cfg_file, cfg_dir

File ~/GitHub/ewatercycle/src/ewatercycle/models/hype.py:152, in Hype.setup(self, start_time, end_time, crit_time, cfg_dir)
150 # start container
151 work_dir = str(cfg_dir_as_path)
--> 152 self.bmi = _start_container(self.version, work_dir)
154 return str(cfg_file), work_dir

File ~/GitHub/ewatercycle/src/ewatercycle/models/hype.py:217, in _start_container(version, work_dir)
215 elif CFG["container_engine"].lower() == "docker":
216 image = _version_images[version]["docker"]
--> 217 return BmiClientDocker(
218 image=image,
219 image_port=55555, # TODO needed?
220 work_dir=work_dir,
221 )
222 else:
223 raise ValueError(
224 f"Unknown container technology in CFG: {CFG['container_engine']}"
225 )

File ~/mambaforge/envs/ewatercycle/lib/python3.10/site-packages/grpc4bmi/bmi_client_docker.py:88, in BmiClientDocker.__init__(self, image, work_dir, image_port, host, input_dirs, user, remove, delay, timeout)
86 logs = self.logs()
87 msg = f'Failed to start Docker container with image {image}, Container log: {logs}'
---> 88 raise DeadContainerException(msg, exitcode, logs)
90 super(BmiClientDocker, self).__init__(BmiClient.create_grpc_channel(port=port, host=host), timeout=timeout)

DeadContainerException: Failed to start Docker container with image ewatercycle/hype-grpc4bmi:feb2021, Container log: terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_M_construct null not valid
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with src/ewatercycle/models/hype.py, especially Hype.setup and _start_container, and reproduce the Docker path with ewatercycle/hype-grpc4bmi:feb2021 while comparing the working Singularity path. Trace the container logs and confirm a fix by making model.setup() start successfully under Docker.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, python
Domain
devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.