Skip to content

Unreachable Code when invoking VM #1143

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

Open
1 of 4 tasks
Quantumplation opened this issue Apr 1, 2025 · 3 comments
Open
1 of 4 tasks

Unreachable Code when invoking VM #1143

Quantumplation opened this issue Apr 1, 2025 · 3 comments

Comments

@Quantumplation
Copy link
Contributor

What Git revision are you using?

What operating system are you using, and which version?

  • Linux / Ubuntu
  • Linux / Other
  • macOS
  • Windows

Describe what the problem is?

When invoking eval_phase_two_raw via the JPG Store wasm bindgen frontend, with the following values:

{
  tx_bytes: "84a600d90102818258201111111111111111111111111111111111111111111111111111111111111111000182a300581d70f1e313eecf9a750400fccf917a2ba120186bbb031dc1e1b3613eb0a9011b000000174876e800028201d81843d87980a300581d70f1e313eecf9a750400fccf917a2ba120186bbb031dc1e1b3613eb0a9011b0000005d21dba000028201d81843d87980020003181d0ed9010281581cc8c47610a36034aac6fc58848bdae5c278d994ff502c05455e3b3ee812d9010281825820000000000000000000000000000000000000000000000000000000000000000000a200d9010281825820000000000000000000000000000000000000000000000000000000000000000058400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005a182000082d87980821a00d59f801b00000002540be400f5f6",
  utxos_refs_bytes: [ "825820000000000000000000000000000000000000000000000000000000000000000000",
    "825820111111111111111111111111111111111111111111111111111111111111111100"
  ],
  utxos_outputs_bytes: [ "a300581d70bbece14f554b0020fe2715d05801f4680ebd40d11a58f14740b9f2c5011a004c4b4103d818592412820359240d59240a0101003229800aba4aba2aba1aba0aab9faab9eaab9dab9cab9a488888888a60022a660049212165787065637420646174756d3a2056656e646f72446174756d203d20646174756d00168a998012492b6578706563742072656769737472793a20536372697074486173685265676973747279203d20646174756d00168a9980124937657870656374205b616d6f756e745d203d207769746864726177616c73207c3e2070616972732e6765745f616c6c286163636f756e742900168a998012491f72656465656d65723a2054726561737572795370656e6452656465656d65720016488896600330013008375401d370e9000488c8cc00400400c896600200314bd7044cc8966002600a00513301000233004004001899802002000a016300f001301000140352300c300d0019ba54800246018601a601a003370e90014dc3a4009370e90044dc3a400c91111111114c004c05802a602a015222232330010010052259800800c4cc068cdd81ba9005374c00897adef6c608994c004dd7180c000cdd5980c800cc0740092225980099b9000900389980f19bb037520126e980200162b30013371e01200713259800980a180e1baa00189980f99bb037520146040603a6ea800400a200480d26002013008801200e89980f19bb037520066e98008cc0180180050192032180d800a032911192cc004c020c054dd5000c5200089bad3019301637540028098c9660026010602a6ea80062980103d87a8000899198008009bab301a3017375400444b30010018a6103d87a8000899192cc004cdc8803000c56600266e3c0180062601c66038603400497ae08a60103d87a8000405d133004004301e003405c6eb8c060004c06c005019202632330010010042259800800c5300103d87a8000899192cc004cdc8803000c56600266e3c0180062601a66036603200497ae08a60103d87a80004059133004004301d00340586eb8c05c004c068005018488c8cc00400400c896600200314c0103d87a80008992cc004c010006260166603200297ae0899801801980d80120283019001405c911114c004c0680166034603600b22329800800c00e00480088896600200510018994c004012604200798008014dd7180e000cdd5980e800c888c966002b30010018a518a50408914c103d87a80008980a998119ba60014bd70203c329800800c00e004800888966002005100189919914c00401a605400b32330010010052259800800c4cc0a8cdd81ba9004375000697adef6c608994c004dd71814000cdd69814800cc0b40092225980099b9000800389981719bb037520106ea001c0162b30013371e01000713259800981218161baa00189981799bb037520126060605a6ea800400a20048150c966002604800314c0103d87a800089810998179ba80014bd7020543370000e00513302e337606ea400cdd400119803003000a05240a4302b00140a48030dd718118009bad3024001302600240908049004180f801203a94c004006910100a44100400c911119912cc004c03c00a2646644b300100989919912cc004c0680062b30013023375401900280e20488acc004c0540062b30013023375401900280e20488acc004c050006264b300100180ec4c96600200301e8992cc004c0a800e26600c00244b3001002803c4c8c966002003023811c08e0471332259800800c0962660186eac0048966002005130073032008899192cc004006053029814c0a626644b3001001815c0ae05713230063037007375a00302b40dc6eb8004c0c000903518170009818801205e812c09604a8188dd70009815001205e3028001302b00240a501f409c6eac00603d01e80f20543027001409460466ea80322b300130120018992cc00400603b13259800800c07a264b3001302a003899803000912cc00400a00f1323259800800c08e047023811c4cc89660020030258998061bab001225980080144c01cc0c802226464b3001001814c0a6053029899912cc00400605702b815c4c8c018c0dc01cdd6800c0ad0371bae001303000240d4605c0026062004817a04b025812a062375c00260540048178c0a0004c0ac009029407d0271bab00180f407a03c8150c09c00502518119baa00c80e2040408081010200992cc004c064c084dd5000c4c8c928cc0048c8cc004004008896600200314bd7044cc0a0c06cc098dd51814800998010011815000a04e91919800800801112cc004006297adef6c608994c004dd71813000cdd59813800cc0ac0092225980099b91489000038acc004cdc7a441000038800c401502744cc0b0cdd81ba9003374c0046600c00c00281386052002813a4646600200200444b30010018a5eb7bdb1822646605266ec0c098004dd319198008009bab30280022259800800c52f5bded8c11323302c3376060520026ea0cdc0a40006eb4c0a8004cc00c00cc0b8008c0b000502a1980180198158011814800a04e91192cc004c060c094dd5000c4c9660026032604c6ea8c070c09cdd5180e18139baa004899b88001003899b8900100340906eb4c0a4c098dd5000c52820463028302537546034604a6ea800a4444646600200200a4464b300130210018991919800800804112cc00400629422b30013371e6eb8c0c000400e29462660040046062002815102e1bae302d302a3754005159800980e000c4c8cc004004dd6181718159baa0032259800800c528c5660026600a00a605e00313300200230300018a5040a4816a2b3001301b001899198008009bac302e302b375400644b30010018a508acc004cc014014c0bc00629462660040046060002814902d45660026032003132337126eb4c0b8004c8cc004004dd618179818001112cc0040062900044cc89660026601001000513370000290014400502c1818000998010011818800a05c302a3754005159800980d000c4cc8966002603c60566ea8006264b3001301f302c37546044605a6ea8c088c0b4dd500444cdc4800801c4cdc4000801a054375a605e60586ea800629410291bad302d302a3754004605a60546ea8c07cc0a8dd5002c56600266e1d200a001899912cc004c078c0acdd5000c4c966002603e60586ea8c088c0b4dd5181818169baa008899b89003001899b8800300140a86eb4c0bcc0b0dd5000c5282052375a605a60546ea8008c0b4c0a8dd5181698151baa0058991919800800803112cc00400629422b30013375e0066058606000314a3133002002303100140a88170cdd2a400466058605a60546ea80092f5c08139027204e409c813902718141baa00191919800800801112cc004006297adef6c608994c004dd71813000cdd59813800ccc00c00cc0ac00922259800801454cc0a124124657870656374205061697228702c205b5f2c202e2e5d206173207829203d20696e6e657200168cc004006007323200432330010010042259800800c5268992cc0040062b30013004375a605c6062005149a2a6605892011f76616c756520646f65736e2774207361746973667920707265646963617465001640ad133225980099b90375c605e0046eb8c0bc0062b30013006375a60600051330050053303200130340038a998172491f76616c756520646f65736e2774207361746973667920707265646963617465001640b5153302e491276b65797320696e207061697273206172656e277420696e20617363656e64696e67206f72646572001640b4606200460620028178c0c400502e14c004c08800694294502848894cc0ad2401234475706c696361746520706f6c69637920696e20746865206173736574206c6973742e0016405881586052002813a60446ea803122222223259800980e80144c8c8c8c8ca600260666068606860686068606860686068003980098069bac3033005807528a028cc004dd61819802403a9410144c0cc009222259800981598199baa0048acc004cdc499b81301a003301a002375a606e60686ea80122b30015980099912cc004c0a0c0d4dd5000c4c9660026052606c6ea8c0b0c0dcdd5181d181b9baa004899b88003001899b8900300140d06eb4c0e4c0d8dd5000c5282066375a604e60686ea80ecc0dcc0d0dd5181b981a1baa0018a518cc004c0a4c0d0dd51814981a1baa03b9bac3037005800cdd5981b803a01a40c5159800acc004cdd79ba630100034c0101a0008a51899baf374c60200066e98c04000903145268a99819248187657870656374206f72207b0a2020202020206173736574732e69735f7a65726f28776974686f75745f6c6f76656c61636528696e7075745f73756d29292c0a202020202020776974686f75745f6c6f76656c61636528696e7075745f73756d29203d3d20776974686f75745f6c6f76656c616365286f75747075745f73756d292c0a202020207d001640c51533032491d1657870656374206f72207b0a20202020202069735f656e746972656c795f61667465722876616c69646974795f72616e67652c20636f6e6669672e65787069726174696f6e292c0a202020202020736174697366696564280a2020202020202020636f6e6669672e7065726d697373696f6e732e73776565702c0a202020202020202065787472615f7369676e61746f726965732c0a202020202020202076616c69646974795f72616e67652c0a20202020202020207769746864726177616c732c0a202020202020292c0a202020207d001640c515330324914365787065637420646f6e6174696f6e203e3d206c6f76656c6163655f6f6628696e7075745f73756d29202d206c6f76656c6163655f6f66286f75747075745f73756d29001640c515330324912965787065637420536f6d6528646f6e6174696f6e29203d2074726561737572795f646f6e6174696f6e001640c430330013032001303130313031303100130303030001302b3754031159800981100144c8c8c8c8c966002b300159800998034c004c034dd61819802c03a9450144c004dd61819802403a9410144528c54cc0b9240131657175616c5f706c75735f6d696e5f61646128696e7075745f73756d2c206f75747075745f73756d29203f2046616c73650014a0816a2b300159800998050009bad30233030375406f14a3153302e4913d69735f656e746972656c795f6265666f72652876616c69646974795f72616e67652c20636f6e6669672e65787069726174696f6e29203f2046616c73650014a0816a2b30019800981998181baa30253030375406f3758606660680050019bab3033003402514a3153302e4916073617469736669656428636f6e6669672e7065726d697373696f6e732e72656f7267616e697a652c2065787472615f7369676e61746f726965732c2076616c69646974795f72616e67652c207769746864726177616c7329203f2046616c73650014a0816a294102d4528205a8a4d153302e4901ff65787065637420616e64207b0a2020202020202f2f20416c6c206e617469766520617373657473206d7573742072656d61696e2061742074686520636f6e747261637420756e6368616e6765640a202020202020657175616c5f706c75735f6d696e5f61646128696e7075745f73756d2c206f75747075745f73756d293f2c0a20202020202069735f656e746972656c795f6265666f72652876616c69646974795f72616e67652c20636f6e6669672e65787069726174696f6e293f2c0a202020202020736174697366696564280a2020202020202020636f6e6669672e7065726d697373696f6e732e72656f7267616e697a652c0a2020202020202020654e787472615f7369676e61746f726965732c0a202020202020202076616c69646974795f72616e67652c0a20202020202020207769746864726177616c732c0a202020202020293f2c0a202020207d001640b46064002606400260626062606260620026060606000260566ea80622b3001301c0028cc004888c966002604c00313259800800c00e264b300100180240120090048992cc004c0d800e00d00540cc6eb80050361819800a062302f37540091598009810800c4c9660020030038992cc0040060090048024012264b3001303600380340150331bae00140d860660028188c0bcdd5002400902c2058302d3754007222329800800c01200680088896600200510018cc00400e606a005330043034002001400c819260066eacc0b8c0acdd500a4c0acdd50194c0acdd500c24444464646465300130370019bac3037005981c0034cc88c966002605c606c6ea8006264b300130293037375400313259800800c566002606060706ea8006264b300100181ac4c96600200313259800800c0de264b30010018acc004c10400a330010038cc004006200b0384049038404903840f903881c40e20708210c0fc00503d181f80140da06d03681b2080303d00140ec60726ea800606881b206903481a40d103e181d981c1baa0018a9981b2492e65787065637420496e6c696e65446174756d28646174756d29203d20696e7075742e6f75747075742e646174756d001640d46054606e6ea8c0b0c0dcdd5181d181b9baa0018a9981aa49ff65787065637420536f6d6528696e70757429203d0a202020207265666572656e63655f696e707574730a2020202020207c3e206c6973742e66696e64280a20202020202020202020666e28696e70757429207b0a2020202020202020202020206173736574732e7175616e746974795f6f66280a2020202020202020202020202020696e7075742e6f75747075742e76616c75652c0a202020202020202020202020202072656769737472795f746f6b656e2c0a202020202020202020202020202072656769737472795f746f6b656e5f6e616d6528292c0a20202020202020202020202029203e20300a202020202020202020207d2c0a20202020202020022029001640d066040004466e21200098009bab302c303737546058606e6ea800600548810852454749535452590040886eb0c0dc010dd7181b8034dd6181b801a44444b30013375e6e9a6002602c009302e303937540054a280e930101a0008acc0056600266ebcdd3194c004cc0c00088cdd7981f181d9baa303e303b37540020054bd6f7b630488c966002605c60786ea8006264b30010018acc004c0d4c0f4dd5000c4c96600200303b8992cc004006264b300100181ec4c96600200303e81f44c966002608e0071329800800c01626604800444b3001002899816805cc004dd6181d98231baa009a5eb7bdb18244b30015980099b89375a609660906ea8008dd6981d98241baa04f8a518a998232492865787065637420702e6d617475726174696f6e203c3d20636f6e6669672e65787069726174696f6e0016411513302f00130203756607a60906ea800a2002822901a44c96600200313259800981f98239baa0028992cc00400608b13259800800c11a08d046899912cc00400609113259800800c12626644b3001001825c4c966002003159800982a00144cc0c000c8966002005132598009825000c56600260a66ea801201904f41511598009822800c56600260a66ea801201904f415104f41408280c144dd5001c4c8c96600200305082841420a11332259800800c14a26606c6eac004896600200513007305c008899192cc0040060ad05682b415a26644b300100182c41620b113230063061007375a00305841846eb8004c16800905f182c000982d80120b2829414a0a482d8dd7000982a00120b230520013055002414d04c414504c826413209882a8c1480050501bab0013051002824c1260928290c13c00504d1bad001304e002823209e304c001412860906ea800a08882284c008c12c00e087043821c10d04c1824801208e400444464b3001303e0018992cc00400608913259800800c11608b045822c4c966002609c0070058232096375c0028270c12c00504918239baa0038acc004c0e4006264b300100182244c966002003045822c4c966002609c00713302a0012259800801401e264b30010018cc00402a0031300230510034029049824c1260928290c13c00904d411904b1bac001822c11504e1825800a09230473754007159800981c000c4c9660020030448992cc00400608b0458992cc004c13800e26605400244b3001002803c4c9660020031980080540062600460a20068052093049824c1250521827801209a82320963758003045822a09c304b0014124608e6ea800e2b300130360018992cc00400608913259800800c11608b045899912cc00400608f13259800800c122091132598009828801c4cc0b4004896600200500a8992cc0040063300100d800c4c008c15000d00d413209904c82620aa3052002414104941386eb00060910484144609c0028260dd68009826801411504e1825800a09230473754007159800981b800c4c9660020030448992cc00400608b045822c4c966002609c0070058232096375a003045413860960028248c11cdd5001c56600266e1d200a0018992cc00400608913259800800c11608b0458992cc004c13800e00b046412c6eb400608a8270c12c00504918239baa0038acc004cdc3a401800313259800800c112264b3001001822c11608b0458992cc004c13800e00b046412c6eb800504e1825800a092304737540070434110822104420884110822104418229baa00281fa088375800303e81f208e30440014108608800503c81e40f20788228c108005040181f1baa00181d207681d40ea07503a410c6080607a6ea80062a6607692012865787065637420496e6c696e65446174756d28646174756d29203d206f75747075742e646174756d001640e8605e60786ea800900e1817181c9baa002374c019159800998078064c004006605c60726ea800a94101d456600266ebcdd34c00400602f4a080e8dd3198104c004c05801202f4a280e8c0500322b300133013005375a6078607a007198009816181c9baa303c0039bac303c303d006802cdd5981e003a0248a5040d914a081b229410364528206c8a4d1533037491ff65787065637420616e64207b0a2020202020207061796f75745f73756d203d3d20616d6f756e742c0a202020202020657175616c5f706c75735f6d696e5f61646128616d6f756e742c206f75747075745f76656e646f725f73756d292c0a2020202020206f75747075745f73756d203d3d206d6572676528696e7075745f73756d2c206e656761746528616d6f756e7429292c0a20202020202069735f656e746972656c795f6265666f72652876616c69646974795f72616e67652c2065787069726174696f6e292c0a202020202020736174697366696564280a20202020202020207065726d697373696f6e732e66756e642c0a202020202020202065784c7472615f7369676e61746f726965732c0a202020202020202076616c69646974795f72616e67652c0a20202020202020207769746864726177616c732c0a202020202020292c0a202020207d001640d915330374912665787065637420696e7075745f76656e646f725f73756d203d3d206173736574732e7a65726f001640d8303700130363036303630360013035001303400144cc88c8ca600260646066003300737566064605e6ea80626eb4c0c8c0cc01122259800acc004cc03000c0062b30013300833019980098079bac3035006808528a02c300d00298009bac3035005808528202c8acc005660026052603000514a313300c00300140bd19800981a981b181b181b18191baa30350079bac3035303630363036303630363036303630363032375403f0039bab3035004402d14a0817a294102f4528205e8a4d1533030491ff65787065637420616e64207b0a20202020202069735f656e746972656c795f6265666f72652876616c69646974795f72616e67652c2065787069726174696f6e292c0a202020202020657175616c5f706c75735f6d696e5f616461286d6572676528696e7075745f73756d2c206e656761746528616d6f756e7429292c206f75747075745f73756d292c0a2020202020202f2f204966207765277265206265666f7265207468652065787069726174696f6e2c2077652063616e20706179206f7574206c6f76656c6163652074686973207761790a2020202020202f2f204166746572207468652065787069726174696f6e2c2077652063616e202a6f6e6cff792a2073656e64206e617469766520617373657473206f75742c2070726573756d61626c7920746f20626520636f6e766572746564206261636b20746f204144410a2020202020202f2f205468697320697320746f2070726576656e74205553444d2c20666f72206578616d706c652c2067657474696e67207065726d616e656e746c79206c6f636b65642c2062757420616c736f2070726576656e7420746865206f766572736967687420636f6d6d69747465650a2020202020202f2f2066726f6d2073656e64696e67206f75742041444120746861742062656c6f6e6773207468652074726561737572790a2020202020202f2f20496e207072616374ff6963652c2074686973206973207374696c6c206120666169726c792062696720747275737420617373756d7074696f6e2c2062656361757365207468652076616c7565206f66205553444d20636f756c64206265206c617267652c0a2020202020202f2f2062757420776974686f75742061207665727920656666696369656e7420737461626c65636f696e202d3e2041444120636f6e76657273696f6e2077652063616e20656e666f7263652061742074686520636f6e7472616374206c6576656c202f206d6f72652074696d6520746f206275696c64206f6e650a2020202020202f2f207468697320697320746865206265737420636f6d70726f6d69ff73652077652063616e206d616b6520666f72206e6f770a2020202020206f72207b0a20202020202020206c6f76656c6163655f6f6628616d6f756e7429203d3d20302c0a202020202020202069735f656e746972656c795f6265666f72652876616c69646974795f72616e67652c2065787069726174696f6e292c0a2020202020207d2c0a202020202020736174697366696564280a20202020202020207065726d697373696f6e732e64697362757273652c0a20202020202020207472616e73616374696f6e2e65787472615f7369676e61746f726965732c0a202020202020202076616c69646974795f72616e67652c0a2020202020202020776974681764726177616c732c0a202020202020292c0a202020207d001640bc303230323032303200130313031001302f302b375406460566ea8061028205040a044b30013375e6e98c020008dd31804000c4cdc498090011809000c5282052181298111baa302530223754602e60446ea8c094c088dd5000c54cc08124013865787065637420536f6d65287370656e745f696e70757429203d2066696e645f696e7075742873656c662e696e707574732c207574786f290016407c660166eb0c090c084dd5007119baf30253022375400200860406ea802888c8cc00400400c88cc00c004c00800a03301980cc065025181080098109811000980e9baa0058acc004c03800a330013020301d375400b37566040604260426042604260426042603a6ea802a6eb0c080c074dd50054dd61808180e9baa00a48888c96600200301c8992cc004c09c00a2b30013015302237546601a008466ebcc09cc090dd5181398121baa30193024375400200f13371200260133001003803528200e8a99810a4982657870656374204e6f6e65203d0a20202020696e707574730a2020202020207c3e206c6973742e66696e64280a20202020202020202020666e28696e70757429207b20696e7075742e6f75747075742e616464726573732e7061796d656e745f63726564656e7469616c203d3d206163636f756e74207d2c0a2020202020202020290016408101d40906eb4c0940050231919800800802112cc004006297ae08994c004c08c0066eb4c09000660500049112cc004cdd7805001c4cc0a4dd400119803003000c4cc0180180050240c09800502422b3001300d0028992503020301d375400b159800980600144c8cc89281bad302100130213022001301d375400b14a080d101a2034406860346ea800c888ca600200332330010013301600523375e604860426ea8c090c084dd5000802912cc004006297ae08998119ba63259800acc00401629462b3001301930213754602e60446ea8c094c088dd5000c5284528a03e407d13756602e60446ea80062a66040920173657870656374206f72207b0a2020202020202020202020202020616c6c6f775f7374616b652c0a20202020202020202020202020206f7074696f6e2e69735f6e6f6e65286f75747075742e616464726573732e7374616b655f63726564656e7469616c292c0a2020202020202020202020207d0016407c604800266004004604a002811297adef6c604004444b30010028800c660020073025002998040009bab3024002400c811045268a998032491856616c696461746f722072657475726e65642066616c736500136564014261a7d8799f5000000000000000000000000000000000d8799fd8799f581cc8c47610a36034aac6fc58848bdae5c278d994ff502c05455e3b3ee8ffd8799f581cc8c47610a36034aac6fc58848bdae5c278d994ff502c05455e3b3ee8ffd8799f581cc8c47610a36034aac6fc58848bdae5c278d994ff502c05455e3b3ee8ffd8799f581cc8c47610a36034aac6fc58848bdae5c278d994ff502c05455e3b3ee8ffff19753019afc8ff0001",
    "a300581d70f1e313eecf9a750400fccf917a2ba120186bbb031dc1e1b3613eb0a9011b000000746a528800028201d81843d87980"
  ],
  cost_mdls_bytes: "a30098a61a000189b41901a401011903e818ad00011903e819ea350401192baf18201a000312591920a404193e801864193e801864193e801864193e801864193e801864193e80186418641864193e8018641a000170a718201a00020782182019f016041a0001194a18b2000119568718201a0001643519030104021a00014f581a00037c71187a0001011903e819a7a90402195fe419733a1826011a000db464196a8f0119ca3f19022e011999101903e819ecb2011a00022a4718201a000144ce1820193bc318201a0001291101193371041956540a197147184a01197147184a0119a9151902280119aecd19021d0119843c18201a00010a9618201a00011aaa1820191c4b1820191cdf1820192d1a18201a00014f581a00037c71187a0001011a0001614219020700011a000122c118201a00014f581a00037c71187a0001011a00014f581a00037c71187a0001011a0004213c19583c041a00163cad19fc3604194ff30104001a00022aa818201a000189b41901a401011a00013eff182019e86a1820194eae182019600c1820195108182019654d182019602f18201a032e93af1937fd0a0198af1a000189b41901a401011903e818ad00011903e819ea350401192baf18201a000312591920a404193e801864193e801864193e801864193e801864193e801864193e80186418641864193e8018641a000170a718201a00020782182019f016041a0001194a18b2000119568718201a0001643519030104021a00014f581a00037c71187a0001011903e819a7a90402195fe419733a1826011a000db464196a8f0119ca3f19022e011999101903e819ecb2011a00022a4718201a000144ce1820193bc318201a0001291101193371041956540a197147184a01197147184a0119a9151902280119aecd19021d0119843c18201a00010a9618201a00011aaa1820191c4b1820191cdf1820192d1a18201a00014f581a00037c71187a0001011a0001614219020700011a000122c118201a00014f581a00037c71187a0001011a00014f581a00037c71187a0001011a000e94721a0003414000021a0004213c19583c041a00163cad19fc3604194ff30104001a00022aa818201a000189b41901a401011a00013eff182019e86a1820194eae182019600c1820195108182019654d182019602f18201a0290f1e70a1a032e93af1937fd0a1a0298e40b1966c40a029901291a000189b41901a401011903e818ad00011903e819ea350401192baf18201a000312591920a404193e801864193e801864193e801864193e801864193e801864193e80186418641864193e8018641a000170a718201a00020782182019f016041a0001194a18b2000119568718201a0001643519030104021a00014f581a0001e143191c893903831906b419022518391a00014f580001011903e819a7a90402195fe419733a1826011a000db464196a8f0119ca3f19022e011999101903e819ecb2011a00022a4718201a000144ce1820193bc318201a0001291101193371041956540a197147184a01197147184a0119a9151902280119aecd19021d0119843c18201a00010a9618201a00011aaa1820191c4b1820191cdf1820192d1a18201a00014f581a0001e143191c893903831906b419022518391a00014f5800011a0001614219020700011a000122c118201a00014f581a0001e143191c893903831906b419022518391a00014f580001011a00014f581a0001e143191c893903831906b419022518391a00014f5800011a000e94721a0003414000021a0004213c19583c041a00163cad19fc3604194ff30104001a00022aa818201a000189b41901a401011a00013eff182019e86a1820194eae182019600c1820195108182019654d182019602f18201a0290f1e70a1a032e93af1937fd0a1a0298e40b1966c40a193e801864193e8018641a000eaf1f121a002a6e06061a0006be98011a0321aac7190eac121a00041699121a048e466e1922a4121a0327ec9a121a001e743c18241a0031410f0c1a000dbf9e011a09f2f6d31910d318241a0004578218241a096e44021967b518241a0473cee818241a13e62472011a0f23d40118481a00212c5618481a0022814619fc3b041a00032b00192076041a0013be0419702c183f00011a000f59d919aa6718fb00011a000187551902d61902cf00011a000187551902d61902cf00011a000187551902d61902cf00011a0001a5661902a800011a00017468011a00044a391949a000011a0002bfe2189f01011a00026b371922ee00011a00026e9219226d00011a0001a3e2190ce2011a00019e4919028f011a001df8bb195fc803",
  cpu_budget: 10000000000n,
  mem_budget: 14000000n,
  slot_config_zero_time: 0n,
  slot_config_zero_slot: 0n,
  slot_config_slot_length: 1000,
}

I get an "Unreachable code" error:

120 |         const len1 = WASM_VECTOR_LEN;
121 |         const ptr2 = passArrayJsValueToWasm0(utxos_outputs_bytes, wasm.__wbindgen_malloc);
122 |         const len2 = WASM_VECTOR_LEN;
123 |         const ptr3 = passArray8ToWasm0(cost_mdls_bytes, wasm.__wbindgen_malloc);
124 |         const len3 = WASM_VECTOR_LEN;
125 |         wasm.eval_phase_two_raw(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, cpu_budget, mem_budget, slot_config_zero_time, slot_config_zero_slot, slot_config_slot_length);
                   ^
RuntimeError: Unreachable code should not be executed (evaluating 'wasm.eval_phase_two_raw(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, cpu_budget, mem_budget, slot_config_zero_time, slot_config_zero_slot, slot_config_slot_length)')
      at <anonymous> (/Users/quantumplation/proj/blaze-cardano/node_modules/.pnpm/uplc-wasm@https+++codeload.github.com+jpg-store+uplc-node+tar.gz+fd3f2c6dc2629092e3eb37eeac48587b5eceeffb/node_modules/uplc-wasm/pkg-node/uplc_wasm.js:125:14)
      at <anonymous> (/Users/quantumplation/proj/blaze-cardano/packages/blaze-vm/dist/index.mjs:14:27)
      at <anonymous> (/Users/quantumplation/proj/blaze-cardano/packages/blaze-tx/dist/index.mjs:913:34)
      at evaluate (/Users/quantumplation/proj/blaze-cardano/packages/blaze-tx/dist/index.mjs:909:18)
      at <anonymous> (/Users/quantumplation/proj/blaze-cardano/packages/blaze-tx/dist/index.mjs:1630:22)

What should be the expected behavior?

A more useful error explaining what's wrong with my transaction. (it's totally possible that I'm doing something dumb, but I don't really have much useful info about what's going wrong)

@Quantumplation
Copy link
Contributor Author

It might be related to a cost models thing; I reverted a change that removed a custom override of protocol params that I thought was no longer necessary and I'm now no longer crashing.

The cost models in the custom hard coded protocol parameters, which likely just came from preview or something:

a30098a61a000189b41901a401011903e818ad00011903e819ea350401192baf18201a000312591920a404193e801864193e801864193e801864193e801864193e801864193e80186418641864193e8018641a000170a718201a00020782182019f016041a0001194a18b2000119568718201a0001643519030104021a00014f581a00037c71187a0001011903e819a7a90402195fe419733a1826011a000db464196a8f0119ca3f19022e011999101903e819ecb2011a00022a4718201a000144ce1820193bc318201a0001291101193371041956540a197147184a01197147184a0119a9151902280119aecd19021d0119843c18201a00010a9618201a00011aaa1820191c4b1820191cdf1820192d1a18201a00014f581a00037c71187a0001011a0001614219020700011a000122c118201a00014f581a00037c71187a0001011a00014f581a00037c71187a0001011a0004213c19583c041a00163cad19fc3604194ff30104001a00022aa818201a000189b41901a401011a00013eff182019e86a1820194eae182019600c1820195108182019654d182019602f18201a032e93af1937fd0a0198af1a000189b41901a401011903e818ad00011903e819ea350401192baf18201a000312591920a404193e801864193e801864193e801864193e801864193e801864193e80186418641864193e8018641a000170a718201a00020782182019f016041a0001194a18b2000119568718201a0001643519030104021a00014f581a00037c71187a0001011903e819a7a90402195fe419733a1826011a000db464196a8f0119ca3f19022e011999101903e819ecb2011a00022a4718201a000144ce1820193bc318201a0001291101193371041956540a197147184a01197147184a0119a9151902280119aecd19021d0119843c18201a00010a9618201a00011aaa1820191c4b1820191cdf1820192d1a18201a00014f581a00037c71187a0001011a0001614219020700011a000122c118201a00014f581a00037c71187a0001011a00014f581a00037c71187a0001011a000e94721a0003414000021a0004213c19583c041a00163cad19fc3604194ff30104001a00022aa818201a000189b41901a401011a00013eff182019e86a1820194eae182019600c1820195108182019654d182019602f18201a0290f1e70a1a032e93af1937fd0a1a0298e40b1966c40a0298fb1a000189b41901a401011903e818ad00011903e819ea350401192baf18201a000312591920a404193e801864193e801864193e801864193e801864193e801864193e80186418641864193e8018641a000170a718201a00020782182019f016041a0001194a18b2000119568718201a0001643519030104021a00014f581a0001e143191c893903831906b419022518391a00014f580001011903e819a7a90402195fe419733a1826011a000db464196a8f0119ca3f19022e011999101903e819ecb2011a00022a4718201a000144ce1820193bc318201a0001291101193371041956540a197147184a01197147184a0119a9151902280119aecd19021d0119843c18201a00010a9618201a00011aaa1820191c4b1820191cdf1820192d1a18201a00014f581a0001e143191c893903831906b419022518391a00014f5800011a0001614219020700011a000122c118201a00014f581a0001e143191c893903831906b419022518391a00014f580001011a00014f581a0001e143191c893903831906b419022518391a00014f5800011a000e94721a0003414000021a0004213c19583c041a00163cad19fc3604194ff30104001a00022aa818201a000189b41901a401011a00013eff182019e86a1820194eae182019600c1820195108182019654d182019602f18201a0290f1e70a1a032e93af1937fd0a1a0298e40b1966c40a193e801864193e8018641a000eaf1f121a002a6e06061a0006be98011a0321aac7190eac121a00041699121a048e466e1922a4121a0327ec9a121a001e743c18241a0031410f0c1a000dbf9e011a09f2f6d31910d318241a0004578218241a096e44021967b518241a0473cee818241a13e62472011a0f23d40118481a00212c5618481a0022814619fc3b041a00032b00192076041a0013be0419702c183f00011a000f59d919aa6718fb0001

@mpizenberg
Copy link
Contributor

Pallas isn’t robust against some unexpected things in its decoders. So the way the aiken UPLC vm uses pallas to decode inputs will result in unreachable errors for data that has unexpected shapes. I’ve reached that error a lot when sending things I’m encoding directly with elm-cardano when I was playing with fake address or fake hashes that had the wrong length. Same thing for protocol params, if they have the wrong length it can result in unreachables.

@mpizenberg
Copy link
Contributor

As a user, I’d love if all unreachable from pallas and other cardano rust libs are replaced with actual errors if they are not actually unreachable. Pallas being a library it can be used in many ways that are not how Dolos would call it, so it’s probably where the current unreachable assumptions are made I’d guess, instead of how it can actually happen as being used as a lib.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🪣 Backlog
Development

No branches or pull requests

2 participants