github-actions[bot] commented on issue #4369:
Subscribe to Label Action
cc @peterhuene
<details>
This issue or pull request has been labeled: "wasmtime:c-api", "wasmtime:docs"Thus the following users have been cc'd because of the following labels:
- peterhuene: wasmtime:c-api
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
TheGreatRambler commented on issue #4369:
error: failed to open: /home/runner/work/wasmtime/wasmtime/target/release/.cargo-lock
This PR couldn't have caused that CI error
TheGreatRambler commented on issue #4369:
error occurred: Failed to find tool. Is
aarch64-linux-gnu-gccinstalled?
how should I go about fixing this?
TheGreatRambler edited a comment on issue #4369:
error occurred: Failed to find tool. Is aarch64-linux-gnu-gcc installed?
how should I go about fixing this?
alexcrichton commented on issue #4369:
Thanks for this! This seems reasonable enough to me. Could this be used to replace and/or modify the existing
run-examples
crate run on CI? Additionally we ideally wouldn't add any more time to CI since building, especially in release mode, is a bit hefty. Could this ensure that the crates are only built in CI once?
TheGreatRambler commented on issue #4369:
I've moved compilation to the
run-examples
crate and verified it worked, the CI seems stuck on my end so not sure how well it will work here
TheGreatRambler commented on issue #4369:
CI failed due to a lack of disk space. If it becomes a problem in the future I found this script from Apache that could help, it just removes unnecessary packages from the runner.
TheGreatRambler commented on issue #4369:
I don't even know what to do to fix this CI error. I'm just going to give it a break for now
TheGreatRambler commented on issue #4369:
Can anyone provide any tips for why the externref example works perfectly fine on my machine but fails in the CI? I clean the build folder to save disk space, but that should only impact the
examples/build
folder,externref.wat
isn't stored there
TheGreatRambler commented on issue #4369:
Still running out of storage? I... I don't even know, I'm going to revert the tests and test from there
TheGreatRambler commented on issue #4369:
Could someone (if this is possible) manually restart the CI and/or give any tips on how to fix this final issue? It has to do with
CI / Test (windows-2019)
in particular taking too long or hanging.
TheGreatRambler edited a comment on issue #4369:
Could someone (if this is possible) manually restart the CI and/or give any tips on how to fix this final issue? It has to do with
CI / Test (windows-2019)
in particular hanging on linking.
alexcrichton commented on issue #4369:
I don't know CMake on Windows really at all, but that looks like some form of a legitimate loop of some kind.
jameysharp commented on issue #4369:
A little over 2 minutes of that difference was the
free-disk-space
action, which makes sense to me. But the biggest difference was an extra 4+ minutes inrun-tests.sh
, which I really think shouldn't have been affected by this PR at all. Other steps were also a little longer, so I think that particular CI job runner was just more heavily loaded.That said, I would also like to know if removing the
free-disk-space
action passes CI now. I didn't get a look at the failure mode before you added it so I'm not sure what to expect. But given that the Windows tests seem to have magically fixed themselves (right? you didn't change anything that should explain that?) I'm wondering if this PR just got extraordinarily unlucky with its CI runs.
TheGreatRambler commented on issue #4369:
free-disk-space
was an unneccesary action I pulled in when I kept running out of space during tests. Turns out it was because I was pulling in the full rust toolchain rather than the minimal one, so it should be unneccesary.
TheGreatRambler commented on issue #4369:
As for the Windows builds passing this time, it could be dumb luck but I actually reduced the warnings msvc reports to
/W3
(the default) just in case, it may have helped by reducing stdout.
jameysharp commented on issue #4369:
The new problem seems to be that the examples which rely on wasm blobs can't find them when run under CTest. The macos build is the one that failed but I think it just got to that point before any of the other job runners did, since I don't see any reason why it should be Mac-specific. Do you need to change how you set the current working directory for each test, perhaps?
TheGreatRambler commented on issue #4369:
It has to do with the order in which I build the tests, since wasm modules are built for some c tests to run. Now the new problem is msbuild not taking the ctest arguments, and it sort of needs to accept them, without
--output-on-failure
you can't diagnose issues.
TheGreatRambler commented on issue #4369:
Of COURSE it got stuck again
TheGreatRambler edited a comment on issue #4369:
Of COURSE it got stuck again, this PR is taking so much of my time lol
TheGreatRambler edited a comment on issue #4369:
Of COURSE it got stuck again, this PR is taking so much of my time lol (I wish Github let me see the command line output so I can debug better)
jameysharp commented on issue #4369:
I've cancelled and restarted the windows-2019 job; 4+ hours in, it clearly wasn't going to work. I wish I had any good guesses about what's going on; I'd assumed there might be something weird in the run-examples crate, but that's gone now and we're still seeing this hang in CI. You have my sympathy for how painful this has been!
I don't know much about cmake but I see there's a TIMEOUT property that you can set on a test. Maybe you can set a timeout on all the tests and at least get it to fail faster? I think 30 seconds ought to be more than enough time when things are working okay.
Ooh, I see you have a new patch on the branch while I was typing this. I'll be curious to see if that fixes things.
jameysharp commented on issue #4369:
Hey, windows-2019 got past the point where it had been stuck! Although I see my suggestion of a 30-second timeout would have been too short for
epochs-rust
andtokio-rust
, which took closer to 120 seconds on Windows and 70 seconds on Ubuntu. So I guess 300 seconds might be a better choice, if you should decide to set timeouts.
TheGreatRambler commented on issue #4369:
It was getting stuck because both
memory.c
andmultimemory.c
read 8 bytes into a variable on the stack rather than 4, which I guess the old testing didn't catch. Cmake catches exceptions and return codes, so it just got silently stuck. Ideally everything is fine now
jameysharp commented on issue #4369:
Alex and I are dismayed that our CI didn't catch that bug sooner; apparently we should start using
-Werror
in CI or something. That's not a problem for this PR though, which I'm merging now. Thank you for all your effort getting this through!
Last updated: Dec 23 2024 at 12:05 UTC