Skip to content
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

fix(wasm): Avoid requesting stdlib paths from the source-resolver #2650

Merged
merged 19 commits into from
Sep 12, 2023

Conversation

phated
Copy link
Contributor

@phated phated commented Sep 11, 2023

Description

Problem*

Resolves #1244

Summary*

This fixes the noir_wasm integration tests, such that they succeed. The fundamental problem was that the implementation of source-resolver isn't actually checking file paths to know what files to load. Instead, it was always returning the entry file as the source code, so this meant the stdlib was setup all wrong inside the compiler.

While this is a lazy way to implement the source-resolver, none of the stdlib file paths should be reaching it in the first place. So I've added an extra case in the file_reader.rs to never go to the filesystem for the stdlib, which we always embed.

Also note that some stuff in the integration test needed to change because proving takes 6.5 minutes and verifying takes 5 minutes.

Documentation

  • This PR requires documentation updates when merged.

    • I will submit a noir-lang/docs PR.
    • I will request for and support Dev Rel's help in documenting this PR.

Additional Context

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

kevaundray
kevaundray previously approved these changes Sep 12, 2023
Copy link
Contributor

@kevaundray kevaundray left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - so if it cannot find the stdlib assets and the path is the path to the stdlib ie something that begins with std/ then it errors. This is better than erroneously looking at the file system for something which is not there

@socket-security
Copy link

New dependencies detected. Learn more about Socket for GitHub ↗︎

Packages Version New capabilities Transitives Size Publisher
@noir-lang/acvm_js 0.26.0 None +0 5.83 MB noir-lang

Copy link
Member

@TomAFrench TomAFrench left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

kobyhallx
kobyhallx previously approved these changes Sep 12, 2023
Copy link
Contributor

@kobyhallx kobyhallx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kobyhallx kobyhallx added this pull request to the merge queue Sep 12, 2023
@phated phated linked an issue Sep 12, 2023 that may be closed by this pull request
@TomAFrench TomAFrench removed this pull request from the merge queue due to a manual request Sep 12, 2023
Copy link
Member

@TomAFrench TomAFrench left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI is failing

@phated
Copy link
Contributor Author

phated commented Sep 12, 2023

CI is failing

This is the wasm test that constantly times out. It hasn't been working for weeks and is not a required check that blocks PRs.

@kobyhallx kobyhallx added this pull request to the merge queue Sep 12, 2023
Merged via the queue into master with commit aebab34 Sep 12, 2023
15 checks passed
@kobyhallx kobyhallx deleted the phated/wasm-stdlib-debug branch September 12, 2023 15:58
TomAFrench added a commit that referenced this pull request Sep 13, 2023
* master:
  chore: fix npm token for abi_wasm publishing (#2633)
  chore(ci): switch to using `Swatinem/rust-cache` action (#2671)
  feat: compile circuits and query circuit sizes in parallel for `nargo info` (#2665)
  chore(ci): use mock backend for all tests (#2670)
  chore!: Restrict packages to contain at most a single contract (#2668)
  chore: Embed a file map into `CompiledProgram`/`CompiledContract` (#2666)
  feat: Compile workspace packages in parallel (#2612)
  fix(wasm): Avoid requesting stdlib paths from the source-resolver (#2650)
  chore: add abi_wasm to release-please (#2664)
  chore: refactor `execute_cmd` (#2656)
  chore: defer reporting of errors until after compilation and optimization is finished (#2659)
  fix: fix compilation using `aztec` feature flag (#2663)
  fix: remove duplicate file extension in stack trace (#2655)
  chore: use `DebugArtifact`s instead of `FileManager` to report errors (#2641)
  chore: Fix clippy warnings for rust version 1.67.0 (#2661)
  fix(wasm): Apply transformation map to circuit debug information in `noir_wasm` (#2635)
  fix: Fix `update_acir` deleting all debug information (#2643)
Sign up for free to 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.

nightly test-integration failed Dependencies in noir wasm don't get std library
4 participants