-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Manager crashes in tests with Caught Error #180
Comments
That seems to be caused by an issue with the pipe2 flag O_DIRECT which might not be available in WSL or macOS, which system are you running your docker container on? |
Currently the host is a macOS. We can try this on a Linux distribution. |
Currently, I have not been able to run the demo on a proper linux machine. The VM I have with 20 gb or ram and 100 gb storage crashes when building. I am trying to find an alternative option. However, I am not convinced that the host is the issue. I am able to run the devcontainer in everest-utils playground without issue on my mac host. The difference between this and the demo is that the image the demo uses is the alpine build-kit image here. I have done some research around I have attempted to move the demo over to the debian build-kit version here. However, when building the recent release I am getting a version issue with ev-cli:
|
@couryrr-afs The build-kit image needs to be triggered to build manually at the moment, which is probably not done for the debian one a long time. I just triggered (https://github.com/EVerest/everest-ci/actions/runs/8664966499) this build for debian, should solve your ev-cli issue |
@andistorm thank you for the update. That did get me past the issue I was experiencing. |
Looks like this was introduced ~2 years ago on 2022-04-20, so it's likely that the issue manifests itself now because of a macos/docker/etc. change. However we can try to investigate if we can work around this for affected platforms |
By a "proper linux box", I assume you mean a physical server booting ubuntu. But which version of ubuntu (Debian/Alpine) did you try with?
Given that the primary difference between Alpine and Ubuntu/Debian/RHEL etc is in the libc implementation, I would expect that the crash is primarily due to the use of alpine in the demo container.
when you tried the build in debian, did it fail as well? |
@shankari the linux machine that was used was a desktop version PopOS. Under the hood that is Ubuntu 22.04. The version of linux in the docker machine was Alpine. I agree with your points. I was under the impression that Alpine was the culprit which is why I moved to trying to build the Debian container. While troubleshooting issues with the Debian build a teammate and I had successful runs on Alpine. So while I confirmed moving past the error I did not get to the point of a full build and run in the Debian docker container. All of the Debian work was being done on my Mac to verify what you highlighted in point 1 and 2. For the current state of the demo what error(s) are you seeing? My understanding is that you are not able to see a successful run still. |
@couryrr-afs I do not plan to run the demo to test this out until I know the exact scenario in which it passes. I don't want to spend my time working through various configurations. Can you please list out the known working configuration (host OS/VM OS/docker OS...) so that I can start there and try to go from working to working? |
For the docker demo related issue please see EVerest/everest-demo#30. Currently, the issue described here was resolved. |
Describe the bug
When running test in a docker container the manager starts up but dies almost immediately with the following:
The issue being
[ERRO] manager int main(int, char**) :: Main manager process exits because of caught exception: DEBUG root:everest_core.py:208 Syscall pipe2() failed (Invalid argument), exiting
I have attempted to get additional information from the logs based on this zulip thread with no success.EVerest Domain
Testing
Affected EVerest Module
No response
To Reproduce
Using the branch here: https://github.com/US-JOET/everest-demo/tree/couryrr/updating-dockerfile-for-testing
Ensure that a mqtt server is running
Build the docker image locally with:
docker build -t ghcr.io/everest/everest-demo/manager:test .
Attach with
docker run -it --network infranet_network -e MQTT_SERVER_ADDRESS=mqtt-server --entrypoint bash ghcr.io/everest/everest-demo/manager:test
Navigate to
cd /ext/source/tests
Run
pytest --everest-prefix ../build/dist core_tests/startup_tests.py
Anything else?
No response
The text was updated successfully, but these errors were encountered: