wasmtime: update to v13.0.0. - #368

Closed
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps
Closed

wasmtime: update to v13.0.0.#368
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps

Conversation

@rahulchaphalkar

Copy link
Copy Markdown

Updated wasmtime to v13.0.0, resolved duplicate dependency issues caused by cargo raze.

correct rustix
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
Comment threadbazel/cargo/wasmtime/remote/BUILD.rustix-0.38.14.bazel Outdated
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@PiotrSikora

Copy link
Copy Markdown
Member

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I just updated wasmtime in repositories.bzl , and it ran the failing test successfully. I suspect the failures here were due to that.
Let me take a look at rules_rust as well.

@rahulchaphalkar

Copy link
Copy Markdown
Author

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Without updating rules_rust (after updating wasmtime in above commit), the tests complete when I run them with bazel test --verbose_failures --test_output=errors --define engine=wasmtime --config=clang -c opt -- //test/...

I updated rules_rust to latest release v0.27.0 , which in turn required updating bazel version to 6.3.0, but seemingly bazel 6.x.x is causing some failures, similar to discussed here https://groups.google.com/g/bazel-discuss/c/iQyt08ZaNek

I can work on resolving these issues, but just want to understand if that's fine to do. Or I can use the latest head from rules_rust, where the requirement for bazel 6.3.0 has been reverted.

I'm still not sure if updated rules_rust is required, so if the CI can be rerun to check if the failures still exist, would be helpful.

@mpwarres

Copy link
Copy Markdown
Contributor

Rerunning the CI

@PiotrSikoraPiotrSikora changed the title Update wasmtime to v13.0.0wasmtime: update to v13.0.0.Sep 25, 2023
@PiotrSikora

Copy link
Copy Markdown
Member

I'll re-run it after other tests finish, but the failure on Windows looks real.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The windows failure seems to be related to a newly added crate in wasmtime v13.0.0, versioned_export_macros. I'm having a hard time trying to repro it as I don't have a windows system properly set up for development, currently proxy_wasm build fails on my windows system with following error -

ERROR: Traceback (most recent call last):
File "C:/users/abc/_bazel_rschapha/s5hcskdl/external/rules_rust/rust/private/rustfmt.bzl", line 121, column 24, in <toplevel>
rustfmt_aspect = aspect(
Error in aspect: aspect() got unexpected keyword argument 'required_providers'

@PiotrSikora

Copy link
Copy Markdown
Member

I'm wondering if this is hitting Windows's Maximum Path Length Limitation, since C:\users\runneradmin\_bazel_runneradmin\dwxiuyix\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o is 280 characters long.

Perhaps updating runner image to windows-2022 (see: #372) would fix it?

@rahulchaphalkar

Copy link
Copy Markdown
Author

From what I gathered from actions/runner-images#4913 windows-2019 image should already have enabled long paths. Can test it if needed by adding this snippet -

- name: Check LongPathsEnabled
run: |
(Get-ItemProperty "HKLM:System\CurrentControlSet\Control\FileSystem").LongPathsEnabled

@PiotrSikora

Copy link
Copy Markdown
Member

FWIW, updating CI to windows-2022 in this PR should be a trivial way to see if it fixes the issue.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I've updated CI to use the newer windows image.
I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

@PiotrSikora

Copy link
Copy Markdown
Member

I've updated CI to use the newer windows image.

Thanks!

I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

I don't think this is related, since that file isn't checked into git.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

@mpwarres

Copy link
Copy Markdown
Contributor

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

That might not be sufficient on its own, I'm running into the same thing with #375 , using updated runners.

@rahulchaphalkar

Copy link
Copy Markdown
Author

I think I've figured out the issue, and somewhat of a workaround for the Windows CI failure which was occurring on windows-2019 image (not the latest CI update to windows-2022)
This is indeed related to the max windows limit of 260 characters, but indirectly. Bazel seems to shorten all paths that are >260 chars to short paths. So a >260 char path like

C:\Users\rschapha\_bazel_rschapha\s5hcskdl\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

is shortened by bazel to

C:\Users\rschapha\_BAZEL~1\s5hcskdl\execroot\PROXY_~1\BAZEL-~1\X64_WI~2\bin\external\WA973C~1\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

It seems the linker and even win utilities like dir are not able to recognize files in this shortened path in my local testing.
Bazel previously had this shortening behind a flag, but now is default on.

The workaround is to use bazel startup option --output_user_root (probably in a bazelrc file) to reduce total path length.
So, the following works -

bazel --output_user_root=C:\tmp test --verbose_failures --sandbox_debug --define engine=wasmtime -- //test/... -//test/fuzz/...

and the this passed all tests on my local system. However, I needed to manually delete the C:\tmp directory for rerunning.

Planning on opening a bazel issue as well, and still looking at what is the best way to resolve this.

@keithmattixkeithmattix mentioned this pull request Aug 13, 2024
@martijneken

Copy link
Copy Markdown
Contributor

Obsolete, #406 updated to wasmtime 24.0.0

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rahulchaphalkar@PiotrSikora@mpwarres@martijneken
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

wasmtime: update to v13.0.0. - #368

Closed
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps
Closed

wasmtime: update to v13.0.0.#368
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps

Conversation

@rahulchaphalkar

Copy link
Copy Markdown

Updated wasmtime to v13.0.0, resolved duplicate dependency issues caused by cargo raze.

correct rustix
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
Comment threadbazel/cargo/wasmtime/remote/BUILD.rustix-0.38.14.bazel Outdated
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@PiotrSikora

Copy link
Copy Markdown
Member

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I just updated wasmtime in repositories.bzl , and it ran the failing test successfully. I suspect the failures here were due to that.
Let me take a look at rules_rust as well.

@rahulchaphalkar

Copy link
Copy Markdown
Author

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Without updating rules_rust (after updating wasmtime in above commit), the tests complete when I run them with bazel test --verbose_failures --test_output=errors --define engine=wasmtime --config=clang -c opt -- //test/...

I updated rules_rust to latest release v0.27.0 , which in turn required updating bazel version to 6.3.0, but seemingly bazel 6.x.x is causing some failures, similar to discussed here https://groups.google.com/g/bazel-discuss/c/iQyt08ZaNek

I can work on resolving these issues, but just want to understand if that's fine to do. Or I can use the latest head from rules_rust, where the requirement for bazel 6.3.0 has been reverted.

I'm still not sure if updated rules_rust is required, so if the CI can be rerun to check if the failures still exist, would be helpful.

@mpwarres

Copy link
Copy Markdown
Contributor

Rerunning the CI

@PiotrSikoraPiotrSikora changed the title Update wasmtime to v13.0.0wasmtime: update to v13.0.0.Sep 25, 2023
@PiotrSikora

Copy link
Copy Markdown
Member

I'll re-run it after other tests finish, but the failure on Windows looks real.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The windows failure seems to be related to a newly added crate in wasmtime v13.0.0, versioned_export_macros. I'm having a hard time trying to repro it as I don't have a windows system properly set up for development, currently proxy_wasm build fails on my windows system with following error -

ERROR: Traceback (most recent call last):
File "C:/users/abc/_bazel_rschapha/s5hcskdl/external/rules_rust/rust/private/rustfmt.bzl", line 121, column 24, in <toplevel>
rustfmt_aspect = aspect(
Error in aspect: aspect() got unexpected keyword argument 'required_providers'

@PiotrSikora

Copy link
Copy Markdown
Member

I'm wondering if this is hitting Windows's Maximum Path Length Limitation, since C:\users\runneradmin\_bazel_runneradmin\dwxiuyix\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o is 280 characters long.

Perhaps updating runner image to windows-2022 (see: #372) would fix it?

@rahulchaphalkar

Copy link
Copy Markdown
Author

From what I gathered from actions/runner-images#4913 windows-2019 image should already have enabled long paths. Can test it if needed by adding this snippet -

- name: Check LongPathsEnabled
run: |
(Get-ItemProperty "HKLM:System\CurrentControlSet\Control\FileSystem").LongPathsEnabled

@PiotrSikora

Copy link
Copy Markdown
Member

FWIW, updating CI to windows-2022 in this PR should be a trivial way to see if it fixes the issue.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I've updated CI to use the newer windows image.
I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

@PiotrSikora

Copy link
Copy Markdown
Member

I've updated CI to use the newer windows image.

Thanks!

I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

I don't think this is related, since that file isn't checked into git.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

@mpwarres

Copy link
Copy Markdown
Contributor

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

That might not be sufficient on its own, I'm running into the same thing with #375 , using updated runners.

@rahulchaphalkar

Copy link
Copy Markdown
Author

I think I've figured out the issue, and somewhat of a workaround for the Windows CI failure which was occurring on windows-2019 image (not the latest CI update to windows-2022)
This is indeed related to the max windows limit of 260 characters, but indirectly. Bazel seems to shorten all paths that are >260 chars to short paths. So a >260 char path like

C:\Users\rschapha\_bazel_rschapha\s5hcskdl\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

is shortened by bazel to

C:\Users\rschapha\_BAZEL~1\s5hcskdl\execroot\PROXY_~1\BAZEL-~1\X64_WI~2\bin\external\WA973C~1\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

It seems the linker and even win utilities like dir are not able to recognize files in this shortened path in my local testing.
Bazel previously had this shortening behind a flag, but now is default on.

The workaround is to use bazel startup option --output_user_root (probably in a bazelrc file) to reduce total path length.
So, the following works -

bazel --output_user_root=C:\tmp test --verbose_failures --sandbox_debug --define engine=wasmtime -- //test/... -//test/fuzz/...

and the this passed all tests on my local system. However, I needed to manually delete the C:\tmp directory for rerunning.

Planning on opening a bazel issue as well, and still looking at what is the best way to resolve this.

@keithmattixkeithmattix mentioned this pull request Aug 13, 2024
@martijneken

Copy link
Copy Markdown
Contributor

Obsolete, #406 updated to wasmtime 24.0.0

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rahulchaphalkar@PiotrSikora@mpwarres@martijneken
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

wasmtime: update to v13.0.0. - #368

Closed
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps
Closed

wasmtime: update to v13.0.0.#368
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps

Conversation

@rahulchaphalkar

Copy link
Copy Markdown

Updated wasmtime to v13.0.0, resolved duplicate dependency issues caused by cargo raze.

correct rustix
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
Comment threadbazel/cargo/wasmtime/remote/BUILD.rustix-0.38.14.bazel Outdated
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@PiotrSikora

Copy link
Copy Markdown
Member

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I just updated wasmtime in repositories.bzl , and it ran the failing test successfully. I suspect the failures here were due to that.
Let me take a look at rules_rust as well.

@rahulchaphalkar

Copy link
Copy Markdown
Author

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Without updating rules_rust (after updating wasmtime in above commit), the tests complete when I run them with bazel test --verbose_failures --test_output=errors --define engine=wasmtime --config=clang -c opt -- //test/...

I updated rules_rust to latest release v0.27.0 , which in turn required updating bazel version to 6.3.0, but seemingly bazel 6.x.x is causing some failures, similar to discussed here https://groups.google.com/g/bazel-discuss/c/iQyt08ZaNek

I can work on resolving these issues, but just want to understand if that's fine to do. Or I can use the latest head from rules_rust, where the requirement for bazel 6.3.0 has been reverted.

I'm still not sure if updated rules_rust is required, so if the CI can be rerun to check if the failures still exist, would be helpful.

@mpwarres

Copy link
Copy Markdown
Contributor

Rerunning the CI

@PiotrSikoraPiotrSikora changed the title Update wasmtime to v13.0.0wasmtime: update to v13.0.0.Sep 25, 2023
@PiotrSikora

Copy link
Copy Markdown
Member

I'll re-run it after other tests finish, but the failure on Windows looks real.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The windows failure seems to be related to a newly added crate in wasmtime v13.0.0, versioned_export_macros. I'm having a hard time trying to repro it as I don't have a windows system properly set up for development, currently proxy_wasm build fails on my windows system with following error -

ERROR: Traceback (most recent call last):
File "C:/users/abc/_bazel_rschapha/s5hcskdl/external/rules_rust/rust/private/rustfmt.bzl", line 121, column 24, in <toplevel>
rustfmt_aspect = aspect(
Error in aspect: aspect() got unexpected keyword argument 'required_providers'

@PiotrSikora

Copy link
Copy Markdown
Member

I'm wondering if this is hitting Windows's Maximum Path Length Limitation, since C:\users\runneradmin\_bazel_runneradmin\dwxiuyix\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o is 280 characters long.

Perhaps updating runner image to windows-2022 (see: #372) would fix it?

@rahulchaphalkar

Copy link
Copy Markdown
Author

From what I gathered from actions/runner-images#4913 windows-2019 image should already have enabled long paths. Can test it if needed by adding this snippet -

- name: Check LongPathsEnabled
run: |
(Get-ItemProperty "HKLM:System\CurrentControlSet\Control\FileSystem").LongPathsEnabled

@PiotrSikora

Copy link
Copy Markdown
Member

FWIW, updating CI to windows-2022 in this PR should be a trivial way to see if it fixes the issue.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I've updated CI to use the newer windows image.
I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

@PiotrSikora

Copy link
Copy Markdown
Member

I've updated CI to use the newer windows image.

Thanks!

I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

I don't think this is related, since that file isn't checked into git.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

@mpwarres

Copy link
Copy Markdown
Contributor

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

That might not be sufficient on its own, I'm running into the same thing with #375 , using updated runners.

@rahulchaphalkar

Copy link
Copy Markdown
Author

I think I've figured out the issue, and somewhat of a workaround for the Windows CI failure which was occurring on windows-2019 image (not the latest CI update to windows-2022)
This is indeed related to the max windows limit of 260 characters, but indirectly. Bazel seems to shorten all paths that are >260 chars to short paths. So a >260 char path like

C:\Users\rschapha\_bazel_rschapha\s5hcskdl\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

is shortened by bazel to

C:\Users\rschapha\_BAZEL~1\s5hcskdl\execroot\PROXY_~1\BAZEL-~1\X64_WI~2\bin\external\WA973C~1\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

It seems the linker and even win utilities like dir are not able to recognize files in this shortened path in my local testing.
Bazel previously had this shortening behind a flag, but now is default on.

The workaround is to use bazel startup option --output_user_root (probably in a bazelrc file) to reduce total path length.
So, the following works -

bazel --output_user_root=C:\tmp test --verbose_failures --sandbox_debug --define engine=wasmtime -- //test/... -//test/fuzz/...

and the this passed all tests on my local system. However, I needed to manually delete the C:\tmp directory for rerunning.

Planning on opening a bazel issue as well, and still looking at what is the best way to resolve this.

@keithmattixkeithmattix mentioned this pull request Aug 13, 2024
@martijneken

Copy link
Copy Markdown
Contributor

Obsolete, #406 updated to wasmtime 24.0.0

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rahulchaphalkar@PiotrSikora@mpwarres@martijneken
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

wasmtime: update to v13.0.0. - #368

Closed
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps
Closed

wasmtime: update to v13.0.0.#368
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps

Conversation

@rahulchaphalkar

Copy link
Copy Markdown

Updated wasmtime to v13.0.0, resolved duplicate dependency issues caused by cargo raze.

correct rustix
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
Comment threadbazel/cargo/wasmtime/remote/BUILD.rustix-0.38.14.bazel Outdated
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@PiotrSikora

Copy link
Copy Markdown
Member

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I just updated wasmtime in repositories.bzl , and it ran the failing test successfully. I suspect the failures here were due to that.
Let me take a look at rules_rust as well.

@rahulchaphalkar

Copy link
Copy Markdown
Author

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Without updating rules_rust (after updating wasmtime in above commit), the tests complete when I run them with bazel test --verbose_failures --test_output=errors --define engine=wasmtime --config=clang -c opt -- //test/...

I updated rules_rust to latest release v0.27.0 , which in turn required updating bazel version to 6.3.0, but seemingly bazel 6.x.x is causing some failures, similar to discussed here https://groups.google.com/g/bazel-discuss/c/iQyt08ZaNek

I can work on resolving these issues, but just want to understand if that's fine to do. Or I can use the latest head from rules_rust, where the requirement for bazel 6.3.0 has been reverted.

I'm still not sure if updated rules_rust is required, so if the CI can be rerun to check if the failures still exist, would be helpful.

@mpwarres

Copy link
Copy Markdown
Contributor

Rerunning the CI

@PiotrSikoraPiotrSikora changed the title Update wasmtime to v13.0.0wasmtime: update to v13.0.0.Sep 25, 2023
@PiotrSikora

Copy link
Copy Markdown
Member

I'll re-run it after other tests finish, but the failure on Windows looks real.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The windows failure seems to be related to a newly added crate in wasmtime v13.0.0, versioned_export_macros. I'm having a hard time trying to repro it as I don't have a windows system properly set up for development, currently proxy_wasm build fails on my windows system with following error -

ERROR: Traceback (most recent call last):
File "C:/users/abc/_bazel_rschapha/s5hcskdl/external/rules_rust/rust/private/rustfmt.bzl", line 121, column 24, in <toplevel>
rustfmt_aspect = aspect(
Error in aspect: aspect() got unexpected keyword argument 'required_providers'

@PiotrSikora

Copy link
Copy Markdown
Member

I'm wondering if this is hitting Windows's Maximum Path Length Limitation, since C:\users\runneradmin\_bazel_runneradmin\dwxiuyix\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o is 280 characters long.

Perhaps updating runner image to windows-2022 (see: #372) would fix it?

@rahulchaphalkar

Copy link
Copy Markdown
Author

From what I gathered from actions/runner-images#4913 windows-2019 image should already have enabled long paths. Can test it if needed by adding this snippet -

- name: Check LongPathsEnabled
run: |
(Get-ItemProperty "HKLM:System\CurrentControlSet\Control\FileSystem").LongPathsEnabled

@PiotrSikora

Copy link
Copy Markdown
Member

FWIW, updating CI to windows-2022 in this PR should be a trivial way to see if it fixes the issue.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I've updated CI to use the newer windows image.
I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

@PiotrSikora

Copy link
Copy Markdown
Member

I've updated CI to use the newer windows image.

Thanks!

I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

I don't think this is related, since that file isn't checked into git.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

@mpwarres

Copy link
Copy Markdown
Contributor

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

That might not be sufficient on its own, I'm running into the same thing with #375 , using updated runners.

@rahulchaphalkar

Copy link
Copy Markdown
Author

I think I've figured out the issue, and somewhat of a workaround for the Windows CI failure which was occurring on windows-2019 image (not the latest CI update to windows-2022)
This is indeed related to the max windows limit of 260 characters, but indirectly. Bazel seems to shorten all paths that are >260 chars to short paths. So a >260 char path like

C:\Users\rschapha\_bazel_rschapha\s5hcskdl\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

is shortened by bazel to

C:\Users\rschapha\_BAZEL~1\s5hcskdl\execroot\PROXY_~1\BAZEL-~1\X64_WI~2\bin\external\WA973C~1\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

It seems the linker and even win utilities like dir are not able to recognize files in this shortened path in my local testing.
Bazel previously had this shortening behind a flag, but now is default on.

The workaround is to use bazel startup option --output_user_root (probably in a bazelrc file) to reduce total path length.
So, the following works -

bazel --output_user_root=C:\tmp test --verbose_failures --sandbox_debug --define engine=wasmtime -- //test/... -//test/fuzz/...

and the this passed all tests on my local system. However, I needed to manually delete the C:\tmp directory for rerunning.

Planning on opening a bazel issue as well, and still looking at what is the best way to resolve this.

@keithmattixkeithmattix mentioned this pull request Aug 13, 2024
@martijneken

Copy link
Copy Markdown
Contributor

Obsolete, #406 updated to wasmtime 24.0.0

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rahulchaphalkar@PiotrSikora@mpwarres@martijneken
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

wasmtime: update to v13.0.0. - #368

Closed
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps
Closed

wasmtime: update to v13.0.0.#368
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps

Conversation

@rahulchaphalkar

Copy link
Copy Markdown

Updated wasmtime to v13.0.0, resolved duplicate dependency issues caused by cargo raze.

correct rustix
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
Comment threadbazel/cargo/wasmtime/remote/BUILD.rustix-0.38.14.bazel Outdated
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@PiotrSikora

Copy link
Copy Markdown
Member

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I just updated wasmtime in repositories.bzl , and it ran the failing test successfully. I suspect the failures here were due to that.
Let me take a look at rules_rust as well.

@rahulchaphalkar

Copy link
Copy Markdown
Author

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Without updating rules_rust (after updating wasmtime in above commit), the tests complete when I run them with bazel test --verbose_failures --test_output=errors --define engine=wasmtime --config=clang -c opt -- //test/...

I updated rules_rust to latest release v0.27.0 , which in turn required updating bazel version to 6.3.0, but seemingly bazel 6.x.x is causing some failures, similar to discussed here https://groups.google.com/g/bazel-discuss/c/iQyt08ZaNek

I can work on resolving these issues, but just want to understand if that's fine to do. Or I can use the latest head from rules_rust, where the requirement for bazel 6.3.0 has been reverted.

I'm still not sure if updated rules_rust is required, so if the CI can be rerun to check if the failures still exist, would be helpful.

@mpwarres

Copy link
Copy Markdown
Contributor

Rerunning the CI

@PiotrSikoraPiotrSikora changed the title Update wasmtime to v13.0.0wasmtime: update to v13.0.0.Sep 25, 2023
@PiotrSikora

Copy link
Copy Markdown
Member

I'll re-run it after other tests finish, but the failure on Windows looks real.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The windows failure seems to be related to a newly added crate in wasmtime v13.0.0, versioned_export_macros. I'm having a hard time trying to repro it as I don't have a windows system properly set up for development, currently proxy_wasm build fails on my windows system with following error -

ERROR: Traceback (most recent call last):
File "C:/users/abc/_bazel_rschapha/s5hcskdl/external/rules_rust/rust/private/rustfmt.bzl", line 121, column 24, in <toplevel>
rustfmt_aspect = aspect(
Error in aspect: aspect() got unexpected keyword argument 'required_providers'

@PiotrSikora

Copy link
Copy Markdown
Member

I'm wondering if this is hitting Windows's Maximum Path Length Limitation, since C:\users\runneradmin\_bazel_runneradmin\dwxiuyix\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o is 280 characters long.

Perhaps updating runner image to windows-2022 (see: #372) would fix it?

@rahulchaphalkar

Copy link
Copy Markdown
Author

From what I gathered from actions/runner-images#4913 windows-2019 image should already have enabled long paths. Can test it if needed by adding this snippet -

- name: Check LongPathsEnabled
run: |
(Get-ItemProperty "HKLM:System\CurrentControlSet\Control\FileSystem").LongPathsEnabled

@PiotrSikora

Copy link
Copy Markdown
Member

FWIW, updating CI to windows-2022 in this PR should be a trivial way to see if it fixes the issue.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I've updated CI to use the newer windows image.
I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

@PiotrSikora

Copy link
Copy Markdown
Member

I've updated CI to use the newer windows image.

Thanks!

I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

I don't think this is related, since that file isn't checked into git.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

@mpwarres

Copy link
Copy Markdown
Contributor

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

That might not be sufficient on its own, I'm running into the same thing with #375 , using updated runners.

@rahulchaphalkar

Copy link
Copy Markdown
Author

I think I've figured out the issue, and somewhat of a workaround for the Windows CI failure which was occurring on windows-2019 image (not the latest CI update to windows-2022)
This is indeed related to the max windows limit of 260 characters, but indirectly. Bazel seems to shorten all paths that are >260 chars to short paths. So a >260 char path like

C:\Users\rschapha\_bazel_rschapha\s5hcskdl\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

is shortened by bazel to

C:\Users\rschapha\_BAZEL~1\s5hcskdl\execroot\PROXY_~1\BAZEL-~1\X64_WI~2\bin\external\WA973C~1\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

It seems the linker and even win utilities like dir are not able to recognize files in this shortened path in my local testing.
Bazel previously had this shortening behind a flag, but now is default on.

The workaround is to use bazel startup option --output_user_root (probably in a bazelrc file) to reduce total path length.
So, the following works -

bazel --output_user_root=C:\tmp test --verbose_failures --sandbox_debug --define engine=wasmtime -- //test/... -//test/fuzz/...

and the this passed all tests on my local system. However, I needed to manually delete the C:\tmp directory for rerunning.

Planning on opening a bazel issue as well, and still looking at what is the best way to resolve this.

@keithmattixkeithmattix mentioned this pull request Aug 13, 2024
@martijneken

Copy link
Copy Markdown
Contributor

Obsolete, #406 updated to wasmtime 24.0.0

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rahulchaphalkar@PiotrSikora@mpwarres@martijneken
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

wasmtime: update to v13.0.0. - #368

Closed
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps
Closed

wasmtime: update to v13.0.0.#368
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps

Conversation

@rahulchaphalkar

Copy link
Copy Markdown

Updated wasmtime to v13.0.0, resolved duplicate dependency issues caused by cargo raze.

correct rustix
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
Comment threadbazel/cargo/wasmtime/remote/BUILD.rustix-0.38.14.bazel Outdated
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@PiotrSikora

Copy link
Copy Markdown
Member

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I just updated wasmtime in repositories.bzl , and it ran the failing test successfully. I suspect the failures here were due to that.
Let me take a look at rules_rust as well.

@rahulchaphalkar

Copy link
Copy Markdown
Author

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Without updating rules_rust (after updating wasmtime in above commit), the tests complete when I run them with bazel test --verbose_failures --test_output=errors --define engine=wasmtime --config=clang -c opt -- //test/...

I updated rules_rust to latest release v0.27.0 , which in turn required updating bazel version to 6.3.0, but seemingly bazel 6.x.x is causing some failures, similar to discussed here https://groups.google.com/g/bazel-discuss/c/iQyt08ZaNek

I can work on resolving these issues, but just want to understand if that's fine to do. Or I can use the latest head from rules_rust, where the requirement for bazel 6.3.0 has been reverted.

I'm still not sure if updated rules_rust is required, so if the CI can be rerun to check if the failures still exist, would be helpful.

@mpwarres

Copy link
Copy Markdown
Contributor

Rerunning the CI

@PiotrSikoraPiotrSikora changed the title Update wasmtime to v13.0.0wasmtime: update to v13.0.0.Sep 25, 2023
@PiotrSikora

Copy link
Copy Markdown
Member

I'll re-run it after other tests finish, but the failure on Windows looks real.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The windows failure seems to be related to a newly added crate in wasmtime v13.0.0, versioned_export_macros. I'm having a hard time trying to repro it as I don't have a windows system properly set up for development, currently proxy_wasm build fails on my windows system with following error -

ERROR: Traceback (most recent call last):
File "C:/users/abc/_bazel_rschapha/s5hcskdl/external/rules_rust/rust/private/rustfmt.bzl", line 121, column 24, in <toplevel>
rustfmt_aspect = aspect(
Error in aspect: aspect() got unexpected keyword argument 'required_providers'

@PiotrSikora

Copy link
Copy Markdown
Member

I'm wondering if this is hitting Windows's Maximum Path Length Limitation, since C:\users\runneradmin\_bazel_runneradmin\dwxiuyix\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o is 280 characters long.

Perhaps updating runner image to windows-2022 (see: #372) would fix it?

@rahulchaphalkar

Copy link
Copy Markdown
Author

From what I gathered from actions/runner-images#4913 windows-2019 image should already have enabled long paths. Can test it if needed by adding this snippet -

- name: Check LongPathsEnabled
run: |
(Get-ItemProperty "HKLM:System\CurrentControlSet\Control\FileSystem").LongPathsEnabled

@PiotrSikora

Copy link
Copy Markdown
Member

FWIW, updating CI to windows-2022 in this PR should be a trivial way to see if it fixes the issue.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I've updated CI to use the newer windows image.
I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

@PiotrSikora

Copy link
Copy Markdown
Member

I've updated CI to use the newer windows image.

Thanks!

I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

I don't think this is related, since that file isn't checked into git.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

@mpwarres

Copy link
Copy Markdown
Contributor

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

That might not be sufficient on its own, I'm running into the same thing with #375 , using updated runners.

@rahulchaphalkar

Copy link
Copy Markdown
Author

I think I've figured out the issue, and somewhat of a workaround for the Windows CI failure which was occurring on windows-2019 image (not the latest CI update to windows-2022)
This is indeed related to the max windows limit of 260 characters, but indirectly. Bazel seems to shorten all paths that are >260 chars to short paths. So a >260 char path like

C:\Users\rschapha\_bazel_rschapha\s5hcskdl\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

is shortened by bazel to

C:\Users\rschapha\_BAZEL~1\s5hcskdl\execroot\PROXY_~1\BAZEL-~1\X64_WI~2\bin\external\WA973C~1\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

It seems the linker and even win utilities like dir are not able to recognize files in this shortened path in my local testing.
Bazel previously had this shortening behind a flag, but now is default on.

The workaround is to use bazel startup option --output_user_root (probably in a bazelrc file) to reduce total path length.
So, the following works -

bazel --output_user_root=C:\tmp test --verbose_failures --sandbox_debug --define engine=wasmtime -- //test/... -//test/fuzz/...

and the this passed all tests on my local system. However, I needed to manually delete the C:\tmp directory for rerunning.

Planning on opening a bazel issue as well, and still looking at what is the best way to resolve this.

@keithmattixkeithmattix mentioned this pull request Aug 13, 2024
@martijneken

Copy link
Copy Markdown
Contributor

Obsolete, #406 updated to wasmtime 24.0.0

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rahulchaphalkar@PiotrSikora@mpwarres@martijneken
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

wasmtime: update to v13.0.0. - #368

Closed
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps
Closed

wasmtime: update to v13.0.0.#368
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps

Conversation

@rahulchaphalkar

Copy link
Copy Markdown

Updated wasmtime to v13.0.0, resolved duplicate dependency issues caused by cargo raze.

correct rustix
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
Comment threadbazel/cargo/wasmtime/remote/BUILD.rustix-0.38.14.bazel Outdated
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@PiotrSikora

Copy link
Copy Markdown
Member

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I just updated wasmtime in repositories.bzl , and it ran the failing test successfully. I suspect the failures here were due to that.
Let me take a look at rules_rust as well.

@rahulchaphalkar

Copy link
Copy Markdown
Author

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Without updating rules_rust (after updating wasmtime in above commit), the tests complete when I run them with bazel test --verbose_failures --test_output=errors --define engine=wasmtime --config=clang -c opt -- //test/...

I updated rules_rust to latest release v0.27.0 , which in turn required updating bazel version to 6.3.0, but seemingly bazel 6.x.x is causing some failures, similar to discussed here https://groups.google.com/g/bazel-discuss/c/iQyt08ZaNek

I can work on resolving these issues, but just want to understand if that's fine to do. Or I can use the latest head from rules_rust, where the requirement for bazel 6.3.0 has been reverted.

I'm still not sure if updated rules_rust is required, so if the CI can be rerun to check if the failures still exist, would be helpful.

@mpwarres

Copy link
Copy Markdown
Contributor

Rerunning the CI

@PiotrSikoraPiotrSikora changed the title Update wasmtime to v13.0.0wasmtime: update to v13.0.0.Sep 25, 2023
@PiotrSikora

Copy link
Copy Markdown
Member

I'll re-run it after other tests finish, but the failure on Windows looks real.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The windows failure seems to be related to a newly added crate in wasmtime v13.0.0, versioned_export_macros. I'm having a hard time trying to repro it as I don't have a windows system properly set up for development, currently proxy_wasm build fails on my windows system with following error -

ERROR: Traceback (most recent call last):
File "C:/users/abc/_bazel_rschapha/s5hcskdl/external/rules_rust/rust/private/rustfmt.bzl", line 121, column 24, in <toplevel>
rustfmt_aspect = aspect(
Error in aspect: aspect() got unexpected keyword argument 'required_providers'

@PiotrSikora

Copy link
Copy Markdown
Member

I'm wondering if this is hitting Windows's Maximum Path Length Limitation, since C:\users\runneradmin\_bazel_runneradmin\dwxiuyix\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o is 280 characters long.

Perhaps updating runner image to windows-2022 (see: #372) would fix it?

@rahulchaphalkar

Copy link
Copy Markdown
Author

From what I gathered from actions/runner-images#4913 windows-2019 image should already have enabled long paths. Can test it if needed by adding this snippet -

- name: Check LongPathsEnabled
run: |
(Get-ItemProperty "HKLM:System\CurrentControlSet\Control\FileSystem").LongPathsEnabled

@PiotrSikora

Copy link
Copy Markdown
Member

FWIW, updating CI to windows-2022 in this PR should be a trivial way to see if it fixes the issue.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I've updated CI to use the newer windows image.
I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

@PiotrSikora

Copy link
Copy Markdown
Member

I've updated CI to use the newer windows image.

Thanks!

I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

I don't think this is related, since that file isn't checked into git.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

@mpwarres

Copy link
Copy Markdown
Contributor

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

That might not be sufficient on its own, I'm running into the same thing with #375 , using updated runners.

@rahulchaphalkar

Copy link
Copy Markdown
Author

I think I've figured out the issue, and somewhat of a workaround for the Windows CI failure which was occurring on windows-2019 image (not the latest CI update to windows-2022)
This is indeed related to the max windows limit of 260 characters, but indirectly. Bazel seems to shorten all paths that are >260 chars to short paths. So a >260 char path like

C:\Users\rschapha\_bazel_rschapha\s5hcskdl\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

is shortened by bazel to

C:\Users\rschapha\_BAZEL~1\s5hcskdl\execroot\PROXY_~1\BAZEL-~1\X64_WI~2\bin\external\WA973C~1\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

It seems the linker and even win utilities like dir are not able to recognize files in this shortened path in my local testing.
Bazel previously had this shortening behind a flag, but now is default on.

The workaround is to use bazel startup option --output_user_root (probably in a bazelrc file) to reduce total path length.
So, the following works -

bazel --output_user_root=C:\tmp test --verbose_failures --sandbox_debug --define engine=wasmtime -- //test/... -//test/fuzz/...

and the this passed all tests on my local system. However, I needed to manually delete the C:\tmp directory for rerunning.

Planning on opening a bazel issue as well, and still looking at what is the best way to resolve this.

@keithmattixkeithmattix mentioned this pull request Aug 13, 2024
@martijneken

Copy link
Copy Markdown
Contributor

Obsolete, #406 updated to wasmtime 24.0.0

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rahulchaphalkar@PiotrSikora@mpwarres@martijneken
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

wasmtime: update to v13.0.0. - #368

Closed
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps
Closed

wasmtime: update to v13.0.0.#368
rahulchaphalkar wants to merge 4 commits into
proxy-wasm:mainfrom
rahulchaphalkar:update-wasmtime-deps

Conversation

@rahulchaphalkar

Copy link
Copy Markdown

Updated wasmtime to v13.0.0, resolved duplicate dependency issues caused by cargo raze.

correct rustix
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
Comment threadbazel/cargo/wasmtime/remote/BUILD.rustix-0.38.14.bazel Outdated
Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@PiotrSikora

Copy link
Copy Markdown
Member

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I just updated wasmtime in repositories.bzl , and it ran the failing test successfully. I suspect the failures here were due to that.
Let me take a look at rules_rust as well.

@rahulchaphalkar

Copy link
Copy Markdown
Author

Ugh, I suspect that you need to update rules_rust to pull more recent version of Rust first.

Without updating rules_rust (after updating wasmtime in above commit), the tests complete when I run them with bazel test --verbose_failures --test_output=errors --define engine=wasmtime --config=clang -c opt -- //test/...

I updated rules_rust to latest release v0.27.0 , which in turn required updating bazel version to 6.3.0, but seemingly bazel 6.x.x is causing some failures, similar to discussed here https://groups.google.com/g/bazel-discuss/c/iQyt08ZaNek

I can work on resolving these issues, but just want to understand if that's fine to do. Or I can use the latest head from rules_rust, where the requirement for bazel 6.3.0 has been reverted.

I'm still not sure if updated rules_rust is required, so if the CI can be rerun to check if the failures still exist, would be helpful.

@mpwarres

Copy link
Copy Markdown
Contributor

Rerunning the CI

@PiotrSikoraPiotrSikora changed the title Update wasmtime to v13.0.0wasmtime: update to v13.0.0.Sep 25, 2023
@PiotrSikora

Copy link
Copy Markdown
Member

I'll re-run it after other tests finish, but the failure on Windows looks real.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The windows failure seems to be related to a newly added crate in wasmtime v13.0.0, versioned_export_macros. I'm having a hard time trying to repro it as I don't have a windows system properly set up for development, currently proxy_wasm build fails on my windows system with following error -

ERROR: Traceback (most recent call last):
File "C:/users/abc/_bazel_rschapha/s5hcskdl/external/rules_rust/rust/private/rustfmt.bzl", line 121, column 24, in <toplevel>
rustfmt_aspect = aspect(
Error in aspect: aspect() got unexpected keyword argument 'required_providers'

@PiotrSikora

Copy link
Copy Markdown
Member

I'm wondering if this is hitting Windows's Maximum Path Length Limitation, since C:\users\runneradmin\_bazel_runneradmin\dwxiuyix\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o is 280 characters long.

Perhaps updating runner image to windows-2022 (see: #372) would fix it?

@rahulchaphalkar

Copy link
Copy Markdown
Author

From what I gathered from actions/runner-images#4913 windows-2019 image should already have enabled long paths. Can test it if needed by adding this snippet -

- name: Check LongPathsEnabled
run: |
(Get-ItemProperty "HKLM:System\CurrentControlSet\Control\FileSystem").LongPathsEnabled

@PiotrSikora

Copy link
Copy Markdown
Member

FWIW, updating CI to windows-2022 in this PR should be a trivial way to see if it fixes the issue.

Signed-off-by: rahulchaphalkar <rahul.s.chaphalkar@intel.com>
@rahulchaphalkar

Copy link
Copy Markdown
Author

I've updated CI to use the newer windows image.
I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

@PiotrSikora

Copy link
Copy Markdown
Member

I've updated CI to use the newer windows image.

Thanks!

I suspect git config --system core.longpaths true might be required to enable this, I have not added that yet in CI.

I don't think this is related, since that file isn't checked into git.

@rahulchaphalkar

Copy link
Copy Markdown
Author

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

@mpwarres

Copy link
Copy Markdown
Contributor

The failures seem to be due to bazel being unable to find msvc tools. Perhaps simply installing the 2022 tools on the system would be sufficient.

That might not be sufficient on its own, I'm running into the same thing with #375 , using updated runners.

@rahulchaphalkar

Copy link
Copy Markdown
Author

I think I've figured out the issue, and somewhat of a workaround for the Windows CI failure which was occurring on windows-2019 image (not the latest CI update to windows-2022)
This is indeed related to the max windows limit of 260 characters, but indirectly. Bazel seems to shorten all paths that are >260 chars to short paths. So a >260 char path like

C:\Users\rschapha\_bazel_rschapha\s5hcskdl\execroot\proxy_wasm_cpp_host\bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\wasmtime__wasmtime_versioned_export_macros__13_0_0\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

is shortened by bazel to

C:\Users\rschapha\_BAZEL~1\s5hcskdl\execroot\PROXY_~1\BAZEL-~1\X64_WI~2\bin\external\WA973C~1\wasmtime_versioned_export_macros-3083915575.wasmtime_versioned_export_macros.cf0192ed-cgu.0.rcgu.o

It seems the linker and even win utilities like dir are not able to recognize files in this shortened path in my local testing.
Bazel previously had this shortening behind a flag, but now is default on.

The workaround is to use bazel startup option --output_user_root (probably in a bazelrc file) to reduce total path length.
So, the following works -

bazel --output_user_root=C:\tmp test --verbose_failures --sandbox_debug --define engine=wasmtime -- //test/... -//test/fuzz/...

and the this passed all tests on my local system. However, I needed to manually delete the C:\tmp directory for rerunning.

Planning on opening a bazel issue as well, and still looking at what is the best way to resolve this.

@keithmattixkeithmattix mentioned this pull request Aug 13, 2024
@martijneken

Copy link
Copy Markdown
Contributor

Obsolete, #406 updated to wasmtime 24.0.0

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rahulchaphalkar@PiotrSikora@mpwarres@martijneken