TezosTaqueria / taqueria

*BETA* Taqueria provides a seamless development workflow to easily build, test and deploy your Tezos applications.
https://taqueria.io
Apache License 2.0
64 stars 20 forks source link

๐Ÿ› Bug โžพ taqueria does not properly forward error message from Michelson error message #1858

Closed zamrokk closed 11 months ago

zamrokk commented 1 year ago

๐Ÿšฅ Status (Internal Taqueria Team Use Only)

๐Ÿ†˜ What happened?

TAQ_LIGO_IMAGE=ligolang/ligo:next taq compile main.jsligo

=== Error messages for main.jsligo ===
stderr maxBuffer length exceeded

===
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Contract    โ”‚ Artifact     โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ main.jsligo โ”‚ Not compiled โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

If I run with ligo

ligo compile contract ./contracts/main.jsligo

logs :

{ "id": "proto.015-PtLimaPt.michelson_v1.entrypoint_name_too_long",
  "description":
    "An entrypoint name exceeds the maximum length of 31 characters.",
  "data":
    { "name": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAorgMemberRequestsUpdated" } }

๐Ÿ†˜ Steps to Reproduce?

real issue is that the event name lenght is too long , ligo can show the actual error

Taqueria does not propagates the real error to the developer

๐Ÿชต Relevant log output

No response

๐Ÿ˜ How impactful is this bug?

None

โฑ๏ธ Prevalance

No response

๐Ÿ’ป Operating System

None

๐Ÿ•ธ๏ธ System Architecture

None

๐ŸŒฎ Taqueria Version

0.28.4

๐ŸŒฟ Node.js Version

No response

โ˜Ž๏ธ Contact Details

No response

Code of Conduct

mweichert commented 1 year ago

@zamrokk do you have an example contract I can use to test with please?

ManasJayanth commented 11 months ago

I couldn't repro this myself. Even with older ligo docker images. But, looking at the report, it looks like the issue stems from maxBuffer of exec'd child processes.

=== Error messages for main.jsligo === stderr maxBuffer length exceeded

This could be because either, runtime was older and supported a smaller stderr buffer (recent ones support 1024 * 1024 chars) or if older lima protocol was throwing a long error message.

Ref: https://deno.land/std@0.177.0/node/child_process.ts?source=#L43

Ref: https://nodejs.org/api/child_process.html#maxbuffer-and-unicode

@mweichert Would you like me to open a PR raising the maxBuffer limit?

Alternatively, spawn instead of exec could be used.

zamrokk commented 11 months ago

I cannot reproduce either on last ligoV1 version on nairobi

image

zamrokk commented 11 months ago

I close it so