ecmwf / ecpoint-calibrate

Interactive GUI (developed in Python) for calibration and conditional verification of numerical weather prediction model outputs.
GNU General Public License v3.0
21 stars 8 forks source link

New 0.9.0 release fails when executing ./ecPoint-Calibrate-0.9.0.AppImage #117

Closed EstiGascon closed 3 years ago

EstiGascon commented 3 years ago

The first time that I tried to run the executable, it worked fine. However next times I obtained this error:

moeg@carmina:~/ecpoint/Calibration/Python_GUI> ./ecPoint-Calibrate-0.9.0.AppImage Fontconfig warning: "/etc/fonts/fonts.conf", line 86: unknown element "blank" Pulling from onyb/ecpoint-calibrate-logger Digest: sha256:a4208ddd5336fe9f007c5f1d462ef18018d6276ebf4cb14eedd3b58a0e40a2a3 Status: Image is up to date for onyb/ecpoint-calibrate-logger:latest Pulling from onyb/ecpoint-calibrate-core Digest: sha256:8fade9a17be9022705762242e8fec7e037bbf5b4210cd3469d5afbba6cf63d8e Status: Image is up to date for onyb/ecpoint-calibrate-core:develop Running Docker container: image=onyb/ecpoint-calibrate-logger containerID=2a60267cf612 Running Docker container: image=onyb/ecpoint-calibrate-core:develop containerID=6a245577cf0c driver failed programming external connectivity on endpoint quizzical_swanson (3b331ab55717b397007963cf4eef2b699a743fc334ff973fd11904a54e4da972): Bind for 0.0.0.0:9001 failed: port is already allocated (node:20504) UnhandledPromiseRejectionWarning: undefined (node:20504) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:20504) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

EstiGascon commented 3 years ago

Answer from Anirudha: Hi Esti,

Bind for 0.0.0.0:9001 failed: port is already allocated

Based on the above log entry, you may have previously closed the software by doing a Ctrl+C. You should always close it with the "X" button on the GUI window, which gracefully shuts down all the background services.

To recover from your situation, please execute the following: docker stop $(docker ps -aq)

Rerunning the software should work fine now. In the next release, I'll make sure the software handles this case properly.

@EstiGascon UPDATE: this solution fixed the problem

FatimaPillosu commented 3 years ago

Starting the software is a bit funny. Today it was not starting for me, then I run sudo start docker and the software opened.

I thought we were not supposed to use that command anymore. After running that command the software opened. Unfortunately I can't reproduce the error because now the software opens every time!

onyb commented 3 years ago

The software now detects stale containers from a previous session (due to an ungraceful shutdown) and stops them before launching the GUI.

Fixed in 698c98734653d7b9760afa3e62cae3cda3d61e89, will be released in v0.10.0.

onyb commented 3 years ago

Closing this as resolved.