-
Notifications
You must be signed in to change notification settings - Fork 261
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
Deprecate execution of "uncomponentizable" WAGI modules #2552
Comments
@lann For 3.0 - is the action item here mainly documentation at this point or are there other action items? |
Thinking about it more, seems like we'll need an error on spin up as now it's a deprecation notice. |
We'll also want to remove any templates for WAGI apps and templates referencing WAGI including: |
The Grain one at least looks like it's been recently fixed to enable componentisation. This doesn't affect all WAGI apps, only ones that can't be componentised (see criteria above) - does the Grain one still fall foul of that? |
There is an error in place: spin/crates/componentize/src/bugs.rs Lines 46 to 48 in 967fdf3
The current Grain template has been fixed but our language docs need to be updated to reflect changes; really we probably ought to validate all of our less-common language docs against 3.0. |
Talked about this at the latest Spin project meeting: |
Re: #2552 (comment), the grain and zig templates run fine w/ Spin 3 for me (well, Spin from
|
Could you try with |
Doesn't appear to include any more information, alas:
|
Ah sorry, the env var should actually be in spin's environment, e.g. just |
No luck :(
|
Ok not too surprising; thanks for trying. I can try something else but we might need to drop php. |
Was preparing to remove the php template when I noticed that we have test coverage for this one -- and it appears to be passing:
Thoughts on how/why? |
Turns out we were holding it wrong; you have to include the php file in the URL, e.g. |
D'oh! Thanks @lann. What's our plan with this issue? Keep open for tracking? Close out now that the implementation work is in? |
This issue is linked by a Spin error message if we detect these modules but I think we can close and I'll just add a note to the top. |
My module has been deprecated! What can I do?
This deprecation most likely impacts you only if:
If you have access to the relevant source code, updating wasi-sdk to at least version 19 can avoid this deprecation.
The Problem
Wasm modules compiled with old versions of wasi-sdk <18 have a bug that makes them incompatible with the wasi-preview1-adapter, which in turn means we cannot convert these modules into components. Maintaining support for executing these uncomponentizable modules represents a significant ongoing maintenance burden, but - as far as we can tell - has been used by very few users, especially recently.
Deprecation Details
We can heuristically detect these modules:
cabi_realloc
, it should be safe to componentize, regardless of the version of clang / wasi-sdkproducers
section indicating that it was compiled with clang < 15.0.7, it was probably compiled with a buggy version of wasi-sdkImplementation of this deprecation would include:
The text was updated successfully, but these errors were encountered: