Skip to content

Conversation

@Marenz
Copy link
Contributor

@Marenz Marenz commented Oct 26, 2021

fixes #12065

I am not really sure this is the correct way to fix this, but at least all tests run..

@Marenz Marenz force-pushed the use-src-ewasm-crash branch from e567f40 to ecf21eb Compare October 26, 2021 13:54
@Marenz Marenz force-pushed the use-src-ewasm-crash branch 2 times, most recently from 4d4cbc0 to 99f375c Compare October 27, 2021 14:46
@Marenz Marenz force-pushed the use-src-ewasm-crash branch from 99f375c to 73822cf Compare October 27, 2021 15:12
@leonardoalt
Copy link

Tests are failing.

@Marenz Marenz force-pushed the use-src-ewasm-crash branch from 73822cf to 51c4c0c Compare November 8, 2021 14:02
string(solidity::yul::wasm::polyfill::Memory) +
"}", "");
m_polyfill = Parser(errorReporter, WasmDialect::instance()).parse(charStream);
m_polyfill = Parser(errorReporter, WasmDialect::instance(), langutil::SourceLocation()).parse(charStream);
Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm, why do we have Parser with a default value (without the explicit arg) if it causes crashes?

Copy link
Contributor

Choose a reason for hiding this comment

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

It only causes a crash because we use it on a source file that is not known to the later asm printer.
The default value means "use the source locations as they are reported by the scanner". What we do here is combining regular source locations with the ones reported from the parser here, which are pointing to an on-the-fly generated source file.

Copy link
Collaborator

Choose a reason for hiding this comment

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

It's a bit more complicated. After #11998 we can discern between the native locations and those grabbed from annotations. In normal yul compilation it does not cause a crash even though the the original source is not available. So why does it crash here?

I think that the problem is actually that the nativeLocations in the generated AST are wrong. EVMToEwasmTranslator copies the whole debug info, when it translates the AST. This means that the new AST gets the native location pointing at the original assembly input file rather than the translated source it's supposed to point at.

The problem is that the translated assembly does not actually exist until we generate it from the AST. At the point where the debug info is being copied, we only have the (incomplete) AST and not source we could point at. I think the only thing we can do is to use empty nativeLocation in the translated AST. Not having native location means that we can't use it in errors reported from the analysis of that AST. But I don't think we even analyze it - it's generated by the compiler after all so it's not supposed to have errors - those should have been caught during parsing of the original assembly input. It's very likely that the only code that actually tries to access the native location is the AsmPrinter (which is where this crash happens).

The location override is another way to get rid of native locations from the AST but a very heavy-handed one - it also discards the origin location. Currently it does not matter much, because I don't think we make use of it when generating ewasm. It will matter once we decide we want to include debug info in ewasm though.

Overall, I think this is an acceptable workaround as long as work on ewasm is stalled. I'd just add a comment explaining that this is just a workaround and that it effectively strips both originLocation and nativeLocation from the AST even though only nativeLocation really has to be discarded.

@Marenz Marenz force-pushed the use-src-ewasm-crash branch from 51c4c0c to 093919e Compare November 9, 2021 09:59

Translated source:
/// @use-src 0:"test.sol"
object "C" {
Copy link
Collaborator

Choose a reason for hiding this comment

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

What a monster :-).

Maybe use

/// @use-src 0:"test.sol"
object "C" {
    code { sstore(0,0) }
}

as test case instead and run it with
--strict-assembly --yul-dialect evm --machine ewasm --optimize

:-)?

That also triggered the bug and is fixed with the PR, but it doesn't require 5K of test expectation ;-).

Copy link
Collaborator

Choose a reason for hiding this comment

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

We have #12074 now so you can use output selection to make this smaller. --ir-optimized or --bin should be enough in this case.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

i'll test with the new command parameters and see if they also trigger the problem

Copy link
Collaborator

@cameel cameel Nov 10, 2021

Choose a reason for hiding this comment

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

I think they should. For the compiler we actually skip generating the stuff for which output is not required but assembler is more straightforward. Output selection just makes it not print some stuff but it still does all the work. Maybe that's actually something we should change though.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Both parameters (together and on their own) make it not crash.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Adding sstore(0,0) makes it crash again though.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Then it sounds like it might be because of the optimizer?

Option selection should not disable anything unless some actual work is being done inside functions like print() or toHex(). https://github.com/ethereum/solidity/blob/v0.8.10/solc/CommandLineInterface.cpp#L1036-L1091

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think I misspelled something, I am currently testing again

Copy link
Contributor Author

Choose a reason for hiding this comment

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

crash:
	with sstore(0,0):
		--strict-assembly --yul-dialect evm --machine ewasm
		--strict-assembly --yul-dialect evm --machine ewasm --optimize
	without sstore(0,0):
		--strict-assembly --yul-dialect evm --machine ewasm
No crash:
	with and without sstore(0,0):
		--strict-assembly --yul-dialect evm --machine ewasm --ir-optimized
		--strict-assembly --yul-dialect evm --machine ewasm --ir-optimized --bin
	with no sstore(0,0):
		--strict-assembly --yul-dialect evm --machine ewasm --optimize

output wise I guess it's best to go with

	with sstore(0,0):

		--strict-assembly --yul-dialect evm --machine ewasm --optimize

Copy link
Collaborator

Choose a reason for hiding this comment

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

--strict-assembly --yul-dialect evm --machine ewasm --ewasm-ir also reproduces the crash for me on 0.8.10 (without sstore if --optimize is not used).

I guess the thing that triggers the crash is called from within AssemblyStack::print() after all.

@Marenz Marenz force-pushed the use-src-ewasm-crash branch from 093919e to 0e9802e Compare November 10, 2021 13:05
Copy link
Collaborator

@cameel cameel left a comment

Choose a reason for hiding this comment

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

After looking at this closely, this is not a real fix but just a workaround. It strips origin locations from translated AST so we can't use them in Ewasm. But since Ewasm does not use debug info yet and work on it is stalled, I think it's acceptable. I'd just add some comments explaining the situation. See my comment below for details.

Other than that, just two minor tweaks and it's good to go.

string(solidity::yul::wasm::polyfill::Memory) +
"}", "");
m_polyfill = Parser(errorReporter, WasmDialect::instance()).parse(charStream);
m_polyfill = Parser(errorReporter, WasmDialect::instance(), langutil::SourceLocation()).parse(charStream);
Copy link
Collaborator

Choose a reason for hiding this comment

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

It's a bit more complicated. After #11998 we can discern between the native locations and those grabbed from annotations. In normal yul compilation it does not cause a crash even though the the original source is not available. So why does it crash here?

I think that the problem is actually that the nativeLocations in the generated AST are wrong. EVMToEwasmTranslator copies the whole debug info, when it translates the AST. This means that the new AST gets the native location pointing at the original assembly input file rather than the translated source it's supposed to point at.

The problem is that the translated assembly does not actually exist until we generate it from the AST. At the point where the debug info is being copied, we only have the (incomplete) AST and not source we could point at. I think the only thing we can do is to use empty nativeLocation in the translated AST. Not having native location means that we can't use it in errors reported from the analysis of that AST. But I don't think we even analyze it - it's generated by the compiler after all so it's not supposed to have errors - those should have been caught during parsing of the original assembly input. It's very likely that the only code that actually tries to access the native location is the AsmPrinter (which is where this crash happens).

The location override is another way to get rid of native locations from the AST but a very heavy-handed one - it also discards the origin location. Currently it does not matter much, because I don't think we make use of it when generating ewasm. It will matter once we decide we want to include debug info in ewasm though.

Overall, I think this is an acceptable workaround as long as work on ewasm is stalled. I'd just add a comment explaining that this is just a workaround and that it effectively strips both originLocation and nativeLocation from the AST even though only nativeLocation really has to be discarded.

@Marenz Marenz force-pushed the use-src-ewasm-crash branch 2 times, most recently from 3f2a1e0 to 2c133fa Compare November 11, 2021 11:11
chriseth
chriseth previously approved these changes Nov 11, 2021
@chriseth chriseth enabled auto-merge November 11, 2021 12:50
@chriseth chriseth merged commit 7334420 into develop Nov 11, 2021
@chriseth chriseth deleted the use-src-ewasm-crash branch November 11, 2021 13:29
mejsiej added a commit to mejsiej/solidity that referenced this pull request Dec 13, 2021
commit 0bbf58e
Merge: 88cc422 2f90f2e
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 13 12:59:33 2021 +0100

    Merge pull request argotorg#12376 from ethereum/develop

    Merge `develop` into `breaking`

commit 2f90f2e
Merge: 592ac92 af02678
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 13 12:44:19 2021 +0100

    Merge pull request argotorg#12387 from ethereum/ci-adjust-parallelism

    [CI] Adjust job parallelism to actually match available resources

commit 592ac92
Merge: 2d0a14f e6179d5
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 13 12:30:47 2021 +0100

    Merge pull request argotorg#12392 from ethereum/fix-colony-nightly-run

    Fix `t_ems_test_ext_colony` nightly job

commit e6179d5
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Fri Dec 10 14:59:13 2021 +0100

    CI: Run `t_ems_test_ext_colony` on nodejs 14

    - Otherwise it seems to require python, which is not available in CI. We could install it but we'll probably run into other issues on latest node and the switch to latest was not intentional anyway.

commit 2d0a14f
Merge: 6b77173 f0aadcf
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 13 12:05:35 2021 +0100

    Merge pull request argotorg#12390 from cybergirldinah/develop

    [Docs] Replaced dead link for Alarm Clock

commit f0aadcf
Author: dinah <cybergirldinah@gmail.com>
Date:   Thu Dec 9 20:18:28 2021 -0600

    Remove stale link.

commit 6b77173
Merge: a8f82b4 3649103
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 13 11:45:15 2021 +0100

    Merge pull request argotorg#12380 from ethereum/native-solc-in-ext-tests

    External tests with native compiler binary

commit a8f82b4
Merge: b14a674 01d45a1
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 13 11:36:47 2021 +0100

    Merge pull request argotorg#12389 from gitpushOmnik/patch-1

    Remove redundant typo

commit 01d45a1
Author: Omkar Nikhal <69253915+gitpushOmnik@users.noreply.github.com>
Date:   Thu Dec 9 23:42:07 2021 +0530

    Remove redundant typo

commit 3649103
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Tue Dec 7 16:34:07 2021 +0100

    Switch most external tests to use native compiler built by b_ubu_static

commit f5830c4
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Tue Dec 7 16:30:25 2021 +0100

    CI: Extend t_ems job to allow using both emscripten and native binaries

commit eb8e304
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Fri Dec 3 14:51:05 2021 +0100

    externalTests: Add support for using a native binary

commit 68ff073
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Fri Dec 3 13:44:03 2021 +0100

    externalTests.sh: Remove outdated commented-out command to run gnosis

    - A newer command is already enabled above it

commit 081b80c
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Fri Dec 3 12:57:39 2021 +0100

    externalTests: Refactor setup and input verification

commit 0edbd90
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Fri Dec 3 12:53:50 2021 +0100

    externalTests: Use fail() function to simplify error checks

commit af02678
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Wed Dec 8 20:04:35 2021 +0100

    CI: Adjust job parallelism to actually match available resources

    - Some jobs don't actually run in parallel but have the `parallelism` setting enabled.
    - `soltest_all` could be parallelized much more.

commit b14a674
Merge: 26e5f23 d414153
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 6 18:48:14 2021 +0100

    Merge pull request argotorg#12374 from ethereum/clarifyLiterals

    Some clarifications on literals.

commit 26e5f23
Merge: 4e0f334 f0a9cd7
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 6 18:28:21 2021 +0100

    Merge pull request argotorg#12375 from ethereum/typeOnChangelog

    Typo in changelog.

commit d414153
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 6 15:59:08 2021 +0100

    Some clarifications on literals.

commit 4e0f334
Merge: 9e9225e a4fbc60
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 6 16:55:56 2021 +0100

    Merge pull request argotorg#12275 from nishant-sachdeva/calldata-struct-arugment-with-internal-type-inside

    Calldata struct array arugment with internal type inside

commit 9e9225e
Merge: 18faafa f50aec9
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 6 16:50:27 2021 +0100

    Merge pull request argotorg#11800 from spiyer99/separate-control-flow-from-error-reporting-in-CommandLineParser

    Separate control flow from error reporting in command line parser

commit 18faafa
Merge: f985913 b96d238
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 6 16:26:04 2021 +0100

    Merge pull request argotorg#12215 from ethereum/optimize-ci-resource-usage

    [CI] Optimize CI resource usage

commit f0a9cd7
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 6 16:15:32 2021 +0100

    Typo in changelog.

commit f985913
Merge: d8fa7ab d9a4020
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 6 11:50:58 2021 +0100

    Merge pull request argotorg#12354 from ethereum/addReadBytesFunction

    Function to read a number of bytes from an input stream.

commit d8fa7ab
Merge: 1602d1c 6bafeca
Author: chriseth <chris@ethereum.org>
Date:   Mon Dec 6 10:53:41 2021 +0100

    Merge pull request argotorg#12366 from minaminao/fix_three_consecutive_backquote

    Fix several three consecutive backquotes in document

commit 6bafeca
Author: minami <minaminaoy@gmail.com>
Date:   Sun Dec 5 16:58:03 2021 +0900

    Fix yul

commit 907405e
Author: minami <minaminaoy@gmail.com>
Date:   Sun Dec 5 16:57:59 2021 +0900

    Fix units-and-global-variables

commit 25a26d2
Author: minami <minaminaoy@gmail.com>
Date:   Sun Dec 5 16:57:48 2021 +0900

    Fix cheatsheet

commit 1602d1c
Merge: c76a6bd 105de25
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Fri Dec 3 22:19:18 2021 +0100

    Merge pull request argotorg#12363 from saska/patch-1

    rm trailing comma in style-guide.rst example

commit b96d238
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Fri Nov 5 17:26:52 2021 +0100

    CI: Double the number of threads for jobs that did slow down after switching to a smaller resource class

commit 075d7b6
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Thu Oct 28 13:19:04 2021 +0200

    CI: Remove separate compile-only runs for external tests that execute quickly

commit 0cece8e
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Thu Oct 28 22:34:48 2021 +0200

    CI: Optimize machine sizes for best speed/cost ratio

commit a4fbc60
Author: nishant-sachdeva <nishant.sachdeva@research.iiit.ac.in>
Date:   Wed Nov 10 17:46:36 2021 +0530

    Issue 11610 : Replced typeError with fataTypeError in lines 390 and 406. Test file added in test/libsolidity/syntaxTests/calldata_struct_argument_with_internal_type_inside.sol

    Issue : 11610 : Test cases updated, Changelog.md file updated to include change on 0.8.11

commit c76a6bd
Merge: dcef56a 16535aa
Author: Leo <leo@ethereum.org>
Date:   Fri Dec 3 01:03:59 2021 +0100

    Merge pull request argotorg#12358 from ethereum/smt_fix_targets

    Fix ICE when unsafe targets are solved more than once and the cex is !=

commit 16535aa
Author: Leo Alt <leo@ethereum.org>
Date:   Wed Dec 1 17:38:23 2021 +0100

    Fix ICE when unsafe targets are solved more than once and the cex is different

commit 105de25
Author: Saska Karsi <44523813+saska@users.noreply.github.com>
Date:   Fri Dec 3 01:11:04 2021 +0200

    rm trailing comma in style-guide.rst example

commit dcef56a
Merge: 5d571bb 829fe66
Author: chriseth <chris@ethereum.org>
Date:   Wed Dec 1 16:53:42 2021 +0100

    Merge pull request argotorg#12357 from ethereum/fixYulExampleCode

    Fix Yul example.

commit d9a4020
Author: chriseth <chris@ethereum.org>
Date:   Wed Dec 1 12:31:21 2021 +0100

    Function to read a number of bytes from an input stream.

commit 829fe66
Author: chriseth <chris@ethereum.org>
Date:   Wed Dec 1 16:23:26 2021 +0100

    Fix Yul example.

commit 5d571bb
Merge: d2585fd 264b7bd
Author: chriseth <chris@ethereum.org>
Date:   Wed Dec 1 15:59:21 2021 +0100

    Merge pull request argotorg#12352 from ethereum/lineColumnTranslateForCharStream

    LineColumn handling for CharStream.

commit d2585fd
Merge: 8569cf3 d56fb3a
Author: chriseth <chris@ethereum.org>
Date:   Wed Dec 1 15:44:57 2021 +0100

    Merge pull request argotorg#12322 from tzann/patch-1

    Fix ExpressionSplitter example

commit d56fb3a
Author: Tynan Richards <tynan@kri.ch>
Date:   Wed Nov 24 14:39:14 2021 +0100

    Fix ExpressionSplitter example

    Fix error (0x123 and 0x456 were swapped) and split constants into expressions

commit 264b7bd
Author: chriseth <chris@ethereum.org>
Date:   Wed Dec 1 12:20:09 2021 +0100

    LineColumn handling for CharStream.

commit 8569cf3
Merge: cc2a860 b6bd852
Author: chriseth <chris@ethereum.org>
Date:   Wed Dec 1 15:09:08 2021 +0100

    Merge pull request argotorg#12353 from ethereum/accessorsForExecptions

    Accessors for exceptions.

commit b6bd852
Author: chriseth <chris@ethereum.org>
Date:   Wed Dec 1 12:30:36 2021 +0100

    Accessors for exceptions.

commit cc2a860
Merge: 5a908a8 bd193ae
Author: chriseth <chris@ethereum.org>
Date:   Wed Dec 1 13:29:20 2021 +0100

    Merge pull request argotorg#12355 from ethereum/fixWhitespace

    Fix whitespace problem.

commit bd193ae
Author: chriseth <chris@ethereum.org>
Date:   Wed Dec 1 12:46:02 2021 +0100

    Fix whitespace problem.

commit 5a908a8
Merge: c04fca7 70e925d
Author: chriseth <chris@ethereum.org>
Date:   Wed Dec 1 12:36:32 2021 +0100

    Merge pull request argotorg#12348 from dallonasnes/fix-cut-on-macos

    Fix cl test script on macOS

commit 70e925d
Author: Dallon Asnes <30935722+dallonasnes@users.noreply.github.com>
Date:   Tue Nov 30 10:07:50 2021 -0600

    Update test/cmdlineTests.sh

    Co-authored-by: Kamil Śliwak <cameel2@gmail.com>

commit c04fca7
Merge: 2f95f3c 9f59d17
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Tue Nov 30 16:17:28 2021 +0100

    Merge pull request argotorg#12192 from ethereum/hardhat-in-oz-ext-test

    Use Hardhat and the right binary for OpenZeppelin external tests

commit 2f95f3c
Merge: 6005046 86ce5f1
Author: chriseth <chris@ethereum.org>
Date:   Tue Nov 30 11:47:01 2021 +0100

    Merge pull request argotorg#12345 from ethereum/useLineColumn

    Use LineColumn type.

commit 6005046
Merge: cb610b5 26ac843
Author: chriseth <chris@ethereum.org>
Date:   Tue Nov 30 11:46:41 2021 +0100

    Merge pull request argotorg#12316 from ethereum/dont-require-jq-for-ci-gitter-notification

    CI: Don't require `jq` to extract workflow name

commit a0aacb9
Author: Dallon Asnes <dallon.asnes@gmail.com>
Date:   Mon Nov 29 23:43:28 2021 -0600

    Fix cl test script on macOS

commit cb610b5
Merge: 622e896 310f743
Author: chriseth <chris@ethereum.org>
Date:   Tue Nov 30 00:09:31 2021 +0100

    Merge pull request argotorg#12326 from dallonasnes/encode-packed-api-details

    Add fixed size type details to encodePacked doc

commit 86ce5f1
Author: chriseth <chris@ethereum.org>
Date:   Mon Nov 29 21:19:41 2021 +0100

    Use LineColumn type.

commit 310f743
Author: Dallon Asnes <dallon.asnes@gmail.com>
Date:   Mon Nov 29 15:31:52 2021 -0600

    Add fixed size type details to encodePacked doc

commit 622e896
Merge: 3dd8285 bd399e3
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Mon Nov 29 20:38:26 2021 +0100

    Merge pull request argotorg#12342 from nishant-sachdeva/relocating_download_section_in_docs

    Restoring the RTD icon. Downloads section to still be above Versions section

commit bd399e3
Author: nishant-sachdeva <nishant.sachdeva@research.iiit.ac.in>
Date:   Tue Nov 30 00:12:52 2021 +0530

    restoring the RTD section. Downloads section to still be above versions section

commit 3dd8285
Merge: de7b5a9 49d9f33
Author: chriseth <chris@ethereum.org>
Date:   Mon Nov 29 17:45:35 2021 +0100

    Merge pull request argotorg#12300 from nishant-sachdeva/extracting_tests_from_solEndToEnd.cpp

    Extracted test cases from SolidityEndToEnd.cpp

commit de7b5a9
Merge: e0c85c6 ecf6c8e
Author: chriseth <chris@ethereum.org>
Date:   Mon Nov 29 17:29:33 2021 +0100

    Merge pull request argotorg#12277 from nishant-sachdeva/relocating_download_section_in_docs

    Relocating download Section in docs

commit 49d9f33
Author: nishant-sachdeva <nishant.sachdeva@research.iiit.ac.in>
Date:   Sun Nov 21 00:14:34 2021 +0530

    Extracted some test cases from SolidityEndToEnd.cpp

commit ecf6c8e
Author: nishant-sachdeva <nishant.sachdeva@research.iiit.ac.in>
Date:   Sat Nov 13 01:41:38 2021 +0530

    trailing whitespace removed in index.rst as per the requirements of a syntax test

commit 5e59325
Author: nishant-sachdeva <nishant.sachdeva@research.iiit.ac.in>
Date:   Sat Nov 13 01:31:11 2021 +0530

    relocated downloads section in versions flyout menu and added downloads Hint in index.html

commit 9f59d17
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Tue Oct 26 15:49:00 2021 +0200

    Fix OpenZeppelin external tests to actually use Hardhat and the binary built in CI

commit 674b1ec
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Fri Nov 5 17:38:25 2021 +0100

    CI: Change the default node version in t_ems_ext from 14 to latest

commit 26ac843
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Tue Nov 23 17:09:50 2021 +0100

    CI: Extract workflow name without jq

commit e0c85c6
Merge: 2364d8f 1c8d430
Author: chriseth <chris@ethereum.org>
Date:   Thu Nov 25 12:11:17 2021 +0100

    Merge pull request argotorg#12312 from ethereum/update_docker_z3

    Bump z3 version to 4.8.13 in our docker files

commit 2364d8f
Merge: 71f8576 a258853
Author: Leo <leo@ethereum.org>
Date:   Thu Nov 25 12:10:12 2021 +0100

    Merge pull request argotorg#12317 from ethereum/z3_4_8_13

    Update smtchecker tests to z3 4.8.13

commit 1c8d430
Author: Bhargava Shastry <bhargava.shastry@ethereum.org>
Date:   Wed Nov 24 17:55:52 2021 +0100

    Remove Hera as a dependency for oss-fuzz Docker image.

commit 6b69791
Author: Bhargava Shastry <bhargava.shastry@ethereum.org>
Date:   Wed Nov 24 14:24:56 2021 +0100

    Disabling Clang-14 bitwise instead of logical warning in Hera build.

commit aa1a170
Author: Leo Alt <leo@ethereum.org>
Date:   Tue Nov 23 12:03:43 2021 +0100

    Update z3 version in our docker files

commit a258853
Author: Leo Alt <leo@ethereum.org>
Date:   Wed Nov 24 11:38:22 2021 +0100

    macos nondeterminism

commit 6cff73a
Author: Leo Alt <leo@ethereum.org>
Date:   Tue Nov 23 18:59:26 2021 +0100

    update osx z3 hash

commit 0c34d9d
Author: Leo Alt <leo@ethereum.org>
Date:   Tue Nov 23 18:54:44 2021 +0100

    Adjust tests for nondeterminism

commit ff5c842
Author: Leo Alt <leo@ethereum.org>
Date:   Tue Nov 23 18:08:36 2021 +0100

    update smtchecker tests

commit 406b1fb
Author: Leo Alt <leo@ethereum.org>
Date:   Tue Nov 23 18:07:59 2021 +0100

    bump docker hashes and z3 version

commit 71f8576
Merge: 18d6792 00fb719
Author: chriseth <chris@ethereum.org>
Date:   Tue Nov 23 16:48:21 2021 +0100

    Merge pull request argotorg#12315 from ethereum/correct-workflow-name-in-ci-gitter-notifications

    [CI] Correct workflow name in gitter notifications

commit 00fb719
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Tue Nov 23 16:41:22 2021 +0100

    CI: Don't use # in gitter notifications

commit 4e6b520
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Tue Nov 23 16:40:54 2021 +0100

    CI: Include workflow name instead of hard-coded "nightly" in gitter notifications

commit 18d6792
Merge: 26cfa2a 0e7a065
Author: chriseth <chris@ethereum.org>
Date:   Tue Nov 23 15:47:24 2021 +0100

    Merge pull request argotorg#12310 from ethereum/renameRedundant

    Rename RedundantAssignEliminator to UnusedAssignEliminator.

commit 26cfa2a
Merge: 9b6a687 3b98bee
Author: chriseth <chris@ethereum.org>
Date:   Tue Nov 23 15:38:28 2021 +0100

    Merge pull request argotorg#12314 from ethereum/updatez3ppa

    Update z3 version in ppa build file.

commit 0e7a065
Author: chriseth <chris@ethereum.org>
Date:   Tue Nov 23 10:42:18 2021 +0100

    Enhance documentation.

commit 3b98bee
Author: chriseth <chris@ethereum.org>
Date:   Tue Nov 23 14:05:14 2021 +0100

    Update z3 version.

commit bd321b9
Author: chriseth <chris@ethereum.org>
Date:   Tue Nov 23 10:37:12 2021 +0100

    Rename RedundantAssignEliminator to UnusedAssignEliminator.

commit 9b6a687
Merge: defc74c ef3c562
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Mon Nov 22 23:56:46 2021 +0100

    Merge pull request argotorg#12308 from dallonasnes/docs-typo-fix

    Fix typo in intro to smart contracts

commit ef3c562
Author: Dallon Asnes <30935722+dallonasnes@users.noreply.github.com>
Date:   Mon Nov 22 15:18:43 2021 -0600

    Fix typo

commit defc74c
Merge: 4361478 27dc77b
Author: chriseth <chris@ethereum.org>
Date:   Mon Nov 22 12:39:07 2021 +0100

    Merge pull request argotorg#12282 from ethereum/fix-gas-test-enforcement

    Fix gas cost enforcement for constructors and make `--enforce-gas-cost-min-value` actually work

commit 4361478
Merge: 2aeeef8 b36a3c6
Author: chriseth <chris@ethereum.org>
Date:   Mon Nov 22 11:02:30 2021 +0100

    Merge pull request argotorg#12301 from ethereum/docs-literals

    Fix documentation for valid ASCII string literals

commit b36a3c6
Author: Alex Beregszaszi <alex@rtfs.hu>
Date:   Sat Nov 20 22:41:19 2021 +0000

    Fix documentation for valid ASCII string literals

commit 2aeeef8
Merge: cbb3e07 834f9d3
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Thu Nov 18 17:27:57 2021 +0100

    Merge pull request argotorg#12214 from ethereum/parallelize-external-tests

    Parallelize external tests

commit cbb3e07
Merge: ab96f2b e2e3934
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Thu Nov 18 15:17:44 2021 +0100

    Merge pull request argotorg#12141 from ethereum/via-ir-equivalence-tests

    Tests for the equivalence of one- and two-stage compilation via IR

commit ab96f2b
Merge: e557952 ab5a06e
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Thu Nov 18 15:09:31 2021 +0100

    Merge pull request argotorg#12200 from ethereum/refactorASTJSON

    Refactor ASTJSON tests to allow easier addition of variations.

commit e557952
Merge: 7334420 90fdea9
Author: chriseth <chris@ethereum.org>
Date:   Tue Nov 16 11:31:52 2021 +0100

    Merge pull request argotorg#12284 from ethereum/fix-isoltest-formatting-for-strings-with-control-chars

    Fix formatting for strings with control characters in isoltest expectations

commit 90fdea9
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Mon Nov 15 19:58:59 2021 +0100

    TestFunctionCall::formatRawParameters(): Ensure that uint8_t overload of toHex() is called

    - Wrong overload results in isoltest padding each char to 32 bytes

commit 27dc77b
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Mon Nov 15 16:32:38 2021 +0100

    Fix typo in test name: ihneritance -> inheritance

commit 032f2d8
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Mon Nov 15 16:19:33 2021 +0100

    Update gas expectations

commit f42180e
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Mon Nov 15 14:42:10 2021 +0100

    Rename gas constants in ExecutionFramework

commit 077b3a0
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Mon Nov 15 14:36:13 2021 +0100

    Fix `--enforce-gas-cost-min-value` being applied only when the cost expectations are not provided in the test file

commit cf52827
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Mon Nov 15 14:29:22 2021 +0100

    Fix gas mismatch in constructor not being counted as a failure

commit 7334420
Merge: 969707c 49b4e77
Author: chriseth <chris@ethereum.org>
Date:   Thu Nov 11 14:29:19 2021 +0100

    Merge pull request argotorg#12193 from ethereum/use-src-ewasm-crash

    Fix crash when using @use-src while compiling yul -> ewasm

commit 49b4e77
Author: Marenz <github@supradigital.org>
Date:   Tue Oct 26 14:03:23 2021 +0200

    Prevent crash when translating yul->ewasm with @use-src annotations

commit 969707c
Merge: 9240368 d3b2463
Author: chriseth <chris@ethereum.org>
Date:   Thu Nov 11 11:31:51 2021 +0100

    Merge pull request argotorg#12060 from acoglio/patch-3

    Make evaluation of string literals more generic

commit ab5a06e
Author: Marenz <github@supradigital.org>
Date:   Wed Oct 27 13:22:02 2021 +0200

    Refactor ASTJSON tests to allow easier addition of variations.

commit d3b2463
Author: Alessandro Coglio <coglio@kestrel.edu>
Date:   Wed Sep 29 13:05:08 2021 -0700

    Improve description of literal evaluation.

commit 9240368
Merge: f42e3c0 0ec3f52
Author: Mathias L. Baumann <Marenz@users.noreply.github.com>
Date:   Wed Nov 10 18:34:08 2021 +0100

    Merge pull request argotorg#12269 from ethereum/fix-gitter-ci-notifications-for-non-pr-runs

    Fix gitter notifications for non-PR runs in CI

commit e2e3934
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Fri Oct 15 15:50:52 2021 +0200

    Install diffutils on macOS to get diff with color support

commit 0d82fe9
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Thu Oct 14 17:30:13 2021 +0200

    cmdlineTests.sh: Test the equivalence of one and two-stage compilation via IR

commit 0ec3f52
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Wed Nov 10 17:05:23 2021 +0100

    CI: Workaround for $CIRCLE_PULL_REQUEST pointing at random PRs in runs outside of PRs

commit f42e3c0
Merge: 19159b9 1061818
Author: chriseth <chris@ethereum.org>
Date:   Wed Nov 10 11:09:15 2021 +0100

    Merge pull request argotorg#12262 from ethereum/functionGrouper

    Keep canonical form of Yul during optimization.

commit f50aec9
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Wed Oct 13 12:55:49 2021 +0200

    CommandLineInterface: Report an error immediately when writing to disk fails

commit c8380c2
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Tue Oct 12 14:16:29 2021 +0200

    CommandLineInterface: Update control flow to accommodate the new way of reporting errors

commit e829bcd
Author: neel iyer <33139997+spiyer99@users.noreply.github.com>
Date:   Sun Aug 15 11:14:38 2021 +1000

    CommandLineInterface: Replace code that prints to serr() and returns false with CommandLineValidationError exception

commit 16f62ed
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Mon Oct 11 14:20:56 2021 +0200

    Move the Yul experimental warning from CommandLineParser to CommandLineInterface and remove stderr from the parser

commit 3f54711
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Mon Oct 11 13:48:03 2021 +0200

    CommandLineParser: Report errors by raising exceptions

commit cda0d02
Author: neel iyer <33139997+spiyer99@users.noreply.github.com>
Date:   Sun Aug 15 10:32:01 2021 +1000

    Define CommandLineError and a few exceptions derived from it

commit 276d173
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Tue Oct 12 12:51:44 2021 +0200

    Document DEV_SIMPLE_EXCEPTION macro

commit 834f9d3
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Thu Oct 28 12:46:34 2021 +0200

    Parallelize external test runs on CircleCI

commit fbc48e3
Author: Kamil Śliwak <kamil.sliwak@codepoets.it>
Date:   Thu Oct 28 12:32:53 2021 +0200

    Extract helpers for managing steps in parallelized CircleCI jobs from soltest_all.sh

commit 1061818
Author: Daniel Kirchner <daniel@ekpyron.org>
Date:   Tue Nov 9 13:25:25 2021 +0100

    Update tests.

commit f2d9a80
Author: Daniel Kirchner <daniel@ekpyron.org>
Date:   Tue Nov 9 13:25:13 2021 +0100

    Document change to BlockFlattener.

commit 9fb77b1
Author: Daniel Kirchner <daniel@ekpyron.org>
Date:   Tue Nov 9 13:25:00 2021 +0100

    Keep canonical form of Yul code at all times.
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.

Crash when @use-src is used with --machine ewasm in assembly mode

8 participants