Page MenuHomePhabricator

Error message too terse for missing Object.hasOwn
Open, LowPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

Try to run it on the Wikifunctions prod evaluator

What happens?:
We get an error message "Z507K1 not a function"

What should have happened instead?:
The error message is not wrong: it is a Z507/error in evaluation, and the error is indeed that for the executor, Object.hasOwn is not a function. But it would be extremely helpful if the name of the function, "Object.hasOwn" would have propagated as well.

Bonus points if the location also would be indicated, but that's probably way too difficult.

Note that this specific error will not be replicable on the above way anymore as soon as T353741 is closed. A different way to recreate the error would then be useful.

Error reported by User Racecard here: https://www.wikifunctions.org/wiki/Talk:Z10944

Event Timeline

I now can't replicate – that given link seems to work. Are we using the wrong version of the code?

I think the QuickJS 2024 update has already propagated through?

When I try to replicate this, I get no output:

root@dc67fa7d9055:/srv/service# cat << EOF > script.js
import * as std from 'std';
> print(Object.HELLO());
> EOF
root@dc67fa7d9055:/srv/service# wasmedge --dir .:. ./programming-languages/wasmedge_quickjs_uncompiled.wasm script.js 
root@dc67fa7d9055:/srv/service#

This is a known issue: QuickJS doesn't give you good error output. If execution fails, QuickJS just bails.

We do have a top-level try/catch that manages Z5 propagation. We should see if it's possible to capture the error stack in that error.

[edited to un-volunteer myself for now]