Skip to content

Showing code contents in ic-ref causes random test failures #1854

@osa1

Description

@osa1

Example from the test closure-params (test/run-drun/ok/closure-params.ic-ref-run.ok):

→ update create_canister()
← completed: (record {1313628723 = service "cvccv-qqaaq-aaaaa-aaaaa-c"})
→ update install_code(record {4849238 = blob ""; 265441191 = blob "\00asm\01\00\00\00\01\a0\81\80\80\00\1a`\n\7f\7f\7f\7f…
...

The blob part in install_code is the wasm module contents. Showing this part causes random breakage as a result of changes in the RTS or elsewhere. One example of this can be observed in #1750 where the test fails with this diff:

-→ update install_code(record {4849238 = blob ""; 265441191 = blob "\00asm\01\00\00\00\01\a0\81\80\80\00\1a`\n\7f\7f\7f\7f…
+→ update install_code(record {4849238 = blob ""; 265441191 = blob "\00asm\01\00\00\00\01\b1\81\80\80\00\1c`\n\7f\7f\7f\7f…

Basically length of the type vector in the type section changes from 32 to 49, which certainly shouldn't break the test.

It'd be great if we could fix this without any more perl lines and wrappers. I suggest we update ic-ref to not print blob contents. Printing some prefix of the type section in wasm modules is probably not useful anyway.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugSomething isn't workingP1high priority, resolve before the next milestone

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions