Skip to content
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

\u0000 in jsonb field in postgres causing error #209

Closed
satran004 opened this issue Mar 4, 2024 · 0 comments · Fixed by bloxbean/yaci#57
Closed

\u0000 in jsonb field in postgres causing error #209

satran004 opened this issue Mar 4, 2024 · 0 comments · Fixed by bloxbean/yaci#57
Assignees

Comments

@satran004
Copy link
Member

For most of the jsonb fields, we sanitize the content by replacing \u0000 with an empty string to avoid PostgreSQL errors. However, it appears that this sanitization has not been applied to invalid transaction object.

Please verify the jsonb fields in the YACI store.

Caused by: org.springframework.dao.DataIntegrityViolationException: could not execute batch [Batch entry 0 insert into invalid_transaction (block_hash,create_datetime,slot,transaction,update_datetime,tx_hash) values ('04a2708da467ad9d9725f6986af668978e88d0511dba8c215c9ff52bb254d970','2024-03-04 14:34:00.667348+08',53545732,'{"blockNumber":1986927,"slot":53545732,"txHash":"0aa72249cb69f2df86741e46d2320391cbcf380d192b330329a2dc23a03ef946","body":{"txHash":"0aa72249cb69f2df86741e46d2320391cbcf380d192b330329a2dc23a03ef946","cbor":null,"inputs":[{"transactionId":"0bf0c80dabd1c6cd59c75591043e7abea5dd4941d624027ed57b800cd5b56f9f","index":1}],"outputs":[{"address":"addr_test1qqmlvzkhufx0f94vqtfsmfa7yzxtwql8ga8aq5yk6u98gn593a82g73tm9n0l6vehusxn3fxwwxhrssgmvnwnlaa6p4qdgdrwh","amounts":[{"unit":"lovelace","policyId":null,"assetName":"lovelace","assetNameBytes":null,"quantity":3000000},{"unit":"38299ce86f8cbef9ebeecc2e94370cb49196d60c93797fffb71d3932.707572706c65","policyId":"38299ce86f8cbef9ebeecc2e94370cb49196d60c93797fffb71d3932","assetName":"purple","assetNameBytes":"cHVycGxl","quantity":1}],"datumHash":null,"inlineDatum":null,"scriptRef":null},{"address":"addr_test1qqmlvzkhufx0f94vqtfsmfa7yzxtwql8ga8aq5yk6u98gn593a82g73tm9n0l6vehusxn3fxwwxhrssgmvnwnlaa6p4qdgdrwh","amounts":[{"unit":"lovelace","policyId":null,"assetName":"lovelace","assetNameBytes":null,"quantity":7536746753},{"unit":"093e1dd222241dabb60ec25e98026d68ff45bd4e7c6a86bca0f59d38.53505f714a61653270","policyId":"093e1dd222241dabb60ec25e98026d68ff45bd4e7c6a86bca0f59d38","assetName":"SP_qJae2p","assetNameBytes":"U1BfcUphZTJw","quantity":2},{"unit":"359289937f6cd0478f2c0737eed4ba879725c09d9d80caeeadf4a67f.6261746d616e","policyId":"359289937f6cd0478f2c0737eed4ba879725c09d9d80caeeadf4a67f","assetName":"batman","assetNameBytes":"YmF0bWFu","quantity":1},{"unit":"4298bc56195ebed886f2172eb0352a26611ce34f4482a3ee3cc0f395.74657374","policyId":"4298bc56195ebed886f2172eb0352a26611ce34f4482a3ee3cc0f395","assetName":"test","assetNameBytes":"dGVzdA==","quantity":1},{"unit":"648823ffdad1610b4162f4dbc87bd47f6f9cf45d772ddef661eff198.775348494241","policyId":"648823ffdad1610b4162f4dbc87bd47f6f9cf45d772ddef661eff198","assetName":"wSHIBA","assetNameBytes":"d1NISUJB","quantity":44864893},{"unit":"659ab0b5658687c2e74cd10dba8244015b713bf503b90557769d77a7.57696e67526964657273","policyId":"659ab0b5658687c2e74cd10dba8244015b713bf503b90557769d77a7","assetName":"WingRiders","assetNameBytes":"V2luZ1JpZGVycw==","quantity":38709316},{"unit":"666816b289a3c7a6427333703dc6cfd4b9c544f97bd70dfd913a778a.53505f4d464b497961","policyId":"666816b289a3c7a6427333703dc6cfd4b9c544f97bd70dfd913a778a","assetName":"SP_MFKIya","assetNameBytes":"U1BfTUZLSXlh","quantity":1},{"unit":"6736988a80b3e42c1940e48d5ab2de52c626acb22d21c13b5ff5c862.53505f47516674726f","policyId":"6736988a80b3e42c1940e48d5ab2de52c626acb22d21c13b5ff5c862","assetName":"SP_GQftro","assetNameBytes":"U1BfR1FmdHJv","quantity":1},{"unit":"8309083434b10b3af5e2b0da6214ac17e5989b4b7ccde44f157270a8.54657374","policyId":"8309083434b10b3af5e2b0da6214ac17e5989b4b7ccde44f157270a8","assetName":"Test","assetNameBytes":"VGVzdA==","quantity":1},{"unit":"aa0f536f65c1ffd33001a831c418f1e2f3105cfd9741bbcb6202aedc.001bc280676f6f7365","policyId":"aa0f536f65c1ffd33001a831c418f1e2f3105cfd9741bbcb6202aedc","assetName":"\u0000\u001B�goose","assetNameBytes":"ABvCgGdvb3Nl","quantity":1},{"unit":"b2ab960cf45de24f65d7abe9ee6ac7ed03453a8953fe2421eba0d325.53505f676471663775","policyId":"b2ab960cf45de24f65d7abe9ee6ac7ed03453a8953fe2421eba0d325","assetName":"SP_gdqf7u","assetNameBytes":"U1BfZ2RxZjd1","quantity":1},{"unit":"e16c2dc8ae937e8d3790c7fd7168d7b994621ba14ca11415f39fed72.4d494e","policyId":"e16c2dc8ae937e8d3790c7fd7168d7b994621ba14ca11415f39fed72","assetName":"MIN","assetNameBytes":"TUlO","quantity":67280096},{"unit":"f0d1923af53e2b0c25cecdd8efba5672897f89479fa18acf5ff7eb2a.4e46542d303031","policyId":"f0d1923af53e2b0c25cecdd8efba5672897f89479fa18acf5ff7eb2a","assetName":"NFT-001","assetNameBytes":"TkZULTAwMQ==","quantity":1},{"unit":"f0d1923af53e2b0c25cecdd8efba5672897f89479fa18acf5ff7eb2a.4e46542d303032","policyId":"f0d1923af53e2b0c25cecdd8efba5672897f89479fa18acf5ff7eb2a","assetName":"NFT-002","assetNameBytes":"TkZULTAwMg==","quantity":1},{"unit":"f0d1923af53e2b0c25cecdd8efba5672897f89479fa18acf5ff7eb2a.4e46542d66696c6573","policyId":"f0d1923af53e2b0c25cecdd8efba5672897f89479fa18acf5ff7eb2a","assetName":"NFT-files","assetNameBytes":"TkZULWZpbGVz","quantity":1},{"unit":"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a.000de1407465737431323334","policyId":"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a","assetName":"asset106zvehnc0f2t0c35f7e39v548zzfmhwtlt03uk","assetNameBytes":"AA3hQHRlc3QxMjM0","quantity":1},{"unit":"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a.000de14064617274686d61756c","policyId":"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a","assetName":"asset14myrsw09kz02kduwg35fsvq5v7ksjp6c9s7kw6","assetNameBytes":"AA3hQGRhcnRobWF1bA==","quantity":1},{"unit":"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a.000de140736b7977616c6b6572","policyId":"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a","assetName":"asset1dp5v4kerx7gjdrpphmsuway8enkuk3zlkkg4pg","assetNameBytes":"AA3hQHNreXdhbGtlcg==","quantity":1},{"unit":"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a.000de1406c616365697374686562657374","policyId":"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a","assetName":"asset1x638v3wey3jydexz39az0yrxs0jlwxqqm3nh3a","assetNameBytes":"AA3hQGxhY2Vpc3RoZWJlc3Q=","quantity":1},{"unit":"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a.000de1406c756b65736b7977616c6b6572","policyId":"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a","assetName":"asset1awayftmxeexrszeqjm97umza8dys8jm7v28uwe","assetNameBytes":"AA3hQGx1a2Vza3l3YWxrZXI=","quantity":1},{"unit":"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a.000de1407468656c6f6e6765737468616e646c","policyId":"f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a","assetName":"asset1dnqmcewwny588e4ruf2e6xg06e84fk0frphvh0","assetNameBytes":"AA3hQHRoZWxvbmdlc3RoYW5kbA==","quantity":1},{"unit":"fa39bd793aed73c0a2d30451e616e298320cb8ada00987370d2dcd04.53505f464556484e4a","policyId":"fa39bd793aed73c0a2d30451e616e298320cb8ada00987370d2dcd04","assetName":"SP_FEVHNJ","assetNameBytes":"U1BfRkVWSE5K","quantity":1},{"unit":"fbaec8dd4d4405a4a42aec11ce5a0160c01e488f3918b082ccbab705.44da9f788bef996b9adbefa7d3d9cbb616d7e8174a1ffaf320270db7bf561b05","policyId":"fbaec8dd4d4405a4a42aec11ce5a0160c01e488f3918b082ccbab705","assetName":"asset1rmn49nag3s2zs66w3qqyl4d6sj68egat3ljzg0","assetNameBytes":"RNqfeIvvmWua2++n09nLthbX6BdKH/rzICcNt79WGwU=","quantity":2253633}],"datumHash":null,"inlineDatum":null,"scriptRef":null}],"fee":1775435,"ttl":0,"certificates":[],"withdrawals":null,"update":null,"auxiliaryDataHash":null,"validityIntervalStart":0,"mint":[{"unit":"38299ce86f8cbef9ebeecc2e94370cb49196d60c93797fffb71d3932.707572706c65","policyId":"38299ce86f8cbef9ebeecc2e94370cb49196d60c93797fffb71d3932","assetName":"purple","assetNameBytes":"cHVycGxl","quantity":1}],"scriptDataHash":"2ca251383b048d04d096fe093bc5319540d37b8edd5aa458d9faed2c81faa52e","collateralInputs":[{"transactionId":"cd6642cb00e6faaafb61c5c4b04ba883a8f84c98f5a9784d26bb3548f39dddf0","index":0}],"requiredSigners":null,"netowrkId":0,"collateralReturn":null,"totalCollateral":null,"referenceInputs":null,"votingProcedures":null,"proposalProcedures":null,"currentTreasuryValue":null,"donation":null},"utxos":[],"collateralReturnUtxo":null,"witnesses":{"vkeyWitnesses":[{"key":"a9d155e753a61e179e999a5081c9b9b95e2f74aa8fdedb9940f78d1545ec4fdf","signature":"8d740801e6508635969d4c2b039ca7247a97a99acc9cb196ca6c2f168cbfc29e75b5b90ee3b4a19c67e6ebe6680ac3e63f340b46245481dcdfbe94ecb3cd0003"}],"nativeScripts":[],"bootstrapWitnesses":[],"plutusV1Scripts":[],"datums":[],"redeemers":[{"tag":"mint","index":0,"data":{"hash":"1b44214718f87314c393e4f1cd32b06bc7df47cf60925fe1ea7393551c170c85","cbor":"d8799fff","json":"{\n  \"constructor\" : 0,\n  \"fields\" : [ ]\n}"},"exUnits":{"mem":13421562,"steps":9818438928},"cbor":"840100d8799fff821a00cccbfa1b0000000249397d10"}],"plutusV2Scripts":[{"type":"PlutusScriptV2","content":"5907655907620100003232323232323232323232323232332232323232322232325335320193333573466e1cd55cea80124000466442466002006004646464646464646464646464646666ae68cdc39aab9d500c480008cccccccccccc88888888888848cccccccccccc00403403002c02802402001c01801401000c008cd4050054d5d0a80619a80a00a9aba1500b33501401635742a014666aa030eb9405cd5d0a804999aa80c3ae501735742a01066a02803e6ae85401cccd54060081d69aba150063232323333573466e1cd55cea801240004664424660020060046464646666ae68cdc39aab9d5002480008cc8848cc00400c008cd40a9d69aba15002302b357426ae8940088c98c80b4cd5ce01701681589aab9e5001137540026ae854008c8c8c8cccd5cd19b8735573aa004900011991091980080180119a8153ad35742a00460566ae84d5d1280111931901699ab9c02e02d02b135573ca00226ea8004d5d09aba2500223263202933573805405204e26aae7940044dd50009aba1500533501475c6ae854010ccd540600708004d5d0a801999aa80c3ae200135742a004603c6ae84d5d1280111931901299ab9c026025023135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d55cf280089baa00135742a004601c6ae84d5d1280111931900b99ab9c018017015101613263201633573892010350543500016135573ca00226ea800448c88c008dd6000990009aa80a911999aab9f0012500a233500930043574200460066ae880080508c8c8cccd5cd19b8735573aa004900011991091980080180118061aba150023005357426ae8940088c98c8050cd5ce00a80a00909aab9e5001137540024646464646666ae68cdc39aab9d5004480008cccc888848cccc00401401000c008c8c8c8cccd5cd19b8735573aa0049000119910919800801801180a9aba1500233500f014357426ae8940088c98c8064cd5ce00d00c80b89aab9e5001137540026ae854010ccd54021d728039aba150033232323333573466e1d4005200423212223002004357426aae79400c8cccd5cd19b875002480088c84888c004010dd71aba135573ca00846666ae68cdc3a801a400042444006464c6403666ae7007006c06406005c4d55cea80089baa00135742a00466a016eb8d5d09aba2500223263201533573802c02a02626ae8940044d5d1280089aab9e500113754002266aa002eb9d6889119118011bab00132001355012223233335573e0044a010466a00e66442466002006004600c6aae754008c014d55cf280118021aba200301213574200222440042442446600200800624464646666ae68cdc3a800a40004642446004006600a6ae84d55cf280191999ab9a3370ea0049001109100091931900819ab9c01101000e00d135573aa00226ea80048c8c8cccd5cd19b875001480188c848888c010014c01cd5d09aab9e500323333573466e1d400920042321222230020053009357426aae7940108cccd5cd19b875003480088c848888c004014c01cd5d09aab9e500523333573466e1d40112000232122223003005375c6ae84d55cf280311931900819ab9c01101000e00d00c00b135573aa00226ea80048c8c8cccd5cd19b8735573aa004900011991091980080180118029aba15002375a6ae84d5d1280111931900619ab9c00d00c00a135573ca00226ea80048c8cccd5cd19b8735573aa002900011bae357426aae7940088c98c8028cd5ce00580500409baa001232323232323333573466e1d4005200c21222222200323333573466e1d4009200a21222222200423333573466e1d400d2008233221222222233001009008375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c4664424444444660040120106eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc8848888888cc018024020c030d5d0a8049bae357426ae8940248cccd5cd19b875006480088c848888888c01c020c034d5d09aab9e500b23333573466e1d401d2000232122222223005008300e357426aae7940308c98c804ccd5ce00a00980880800780700680600589aab9d5004135573ca00626aae7940084d55cf280089baa0012323232323333573466e1d400520022333222122333001005004003375a6ae854010dd69aba15003375a6ae84d5d1280191999ab9a3370ea0049000119091180100198041aba135573ca00c464c6401866ae700340300280244d55cea80189aba25001135573ca00226ea80048c8c8cccd5cd19b875001480088c8488c00400cdd71aba135573ca00646666ae68cdc3a8012400046424460040066eb8d5d09aab9e500423263200933573801401200e00c26aae7540044dd500089119191999ab9a3370ea00290021091100091999ab9a3370ea00490011190911180180218031aba135573ca00846666ae68cdc3a801a400042444004464c6401466ae7002c02802001c0184d55cea80089baa0012323333573466e1d40052002212200223333573466e1d40092000200823263200633573800e00c00800626aae74dd5000a4c2400292010350543100122001112323001001223300330020020011"}],"plutusV3Scripts":[]},"auxData":null,"invalid":true}','2024-03-04 14:34:00.66735+08','0aa72249cb69f2df86741e46d2320391cbcf380d192b330329a2dc23a03ef946') was aborted: ERROR: unsupported Unicode escape sequence
  Detail: \u0000 cannot be converted to text.
  Where: JSON data, line 1: ...f1e2f3105cfd9741bbcb6202aedc","assetName":"\u0000...
unnamed portal parameter $4 = '...'  Call getNextException to see other errors in the batch.] [insert into invalid_transaction (block_hash,create_datetime,slot,transaction,update_datetime,tx_hash) values (?,?,?,?,?,?)]; SQL [insert into invalid_transaction (block_hash,create_datetime,slot,transaction,update_datetime,tx_hash) values (?,?,?,?,?,?)]
	at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:293) ~[spring-orm-6.1.3.jar!/:6.1.3]
	at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:241) ~[spring-orm-6.1.3.jar!/:6.1.3]

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 a pull request may close this issue.

1 participant