Stream: git-wasmtime

Topic: wasmtime / issue #4369 Add cmake compatibility to c-api


view this post on Zulip Wasmtime GitHub notifications bot (Jul 02 2022 at 23:41):

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:

To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.

Learn more.
</details>

view this post on Zulip Wasmtime GitHub notifications bot (Jul 03 2022 at 00:18):

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

view this post on Zulip Wasmtime GitHub notifications bot (Jul 03 2022 at 01:22):

TheGreatRambler commented on issue #4369:

error occurred: Failed to find tool. Is aarch64-linux-gnu-gcc installed? how should I go about fixing this?

view this post on Zulip Wasmtime GitHub notifications bot (Jul 04 2022 at 06:15):

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?

view this post on Zulip Wasmtime GitHub notifications bot (Jul 05 2022 at 15:48):

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?

view this post on Zulip Wasmtime GitHub notifications bot (Jul 05 2022 at 17:54):

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

view this post on Zulip Wasmtime GitHub notifications bot (Jul 06 2022 at 03:58):

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.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 06 2022 at 16:02):

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

view this post on Zulip Wasmtime GitHub notifications bot (Jul 09 2022 at 02:44):

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

view this post on Zulip Wasmtime GitHub notifications bot (Jul 11 2022 at 07:53):

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

view this post on Zulip Wasmtime GitHub notifications bot (Jul 19 2022 at 08:12):

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.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 19 2022 at 08:19):

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.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 19 2022 at 17:08):

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.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 21 2022 at 15:56):

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 in run-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.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 21 2022 at 19:48):

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.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 21 2022 at 19:50):

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.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 00:11):

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?

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 00:40):

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.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 02:46):

TheGreatRambler commented on issue #4369:

Of COURSE it got stuck again

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 02:47):

TheGreatRambler edited a comment on issue #4369:

Of COURSE it got stuck again, this PR is taking so much of my time lol

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 03:05):

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)

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 07:05):

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.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 07:20):

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 and tokio-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.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 08:11):

TheGreatRambler commented on issue #4369:

It was getting stuck because both memory.c and multimemory.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

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 17:21):

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