Skip to content

DVM STORE function allows to store 2712 bytes of data, space relates to key length #141

@Alumn0

Description

@Alumn0

Dero Simulator Version: 3.5.3-140.DEROHE.STARGATE+13062023

If a smart contract calls STORE(k,v) the maximum length for "value" depends on the length of "key".
The maximum length for "key" appears to be not sanitized and can be 2044 bytes.
If the key length is 2044 bytes, there is only 1 byte space for the value.
If the key length is 1192 byte, there is 1520 byte space for value.

This way it is possible to store approximately 1192+1520 = 2712 byte per key / value pair.

Exceeding the 2044 bytes key limit causes this error continously:

17/09 02:40:02  DEBUG   CORE.blid_ba85765bc9c9c1bc129172b120424f5c9ff7aab5ac4730fffd43107ad9a7dd99      Chain extended  {"new height": 9}
17/09 02:40:02  DEBUG   CORE    reading block snapshot  {"blid": "f4da9d463d43cafe432dd61351c1577720aa201e7a3e92dedbf478db95a6136b", "record_version": 9}
DEROSIM HE: 8/8 [0/0] P 0 TXp 2:0 NW 1 H/s  TESTNET> >> interpreting line [STORE ( k , v )]   err:'<nil>'
interpreting line [RETURN 0]   err:'<nil>'
17/09 02:40:02  ERROR   CORE    Recovered while adding new block        {"blid": "ba85765bc9c9c1bc129172b120424f5c9ff7aab5ac4730fffd43107ad9a7dd99", "r": "invalid value size", "rVerbose": "invalid value size:\n    github.com/deroproject/graviton.(*leaf).loadfullleaffromstore\n        github.com/deroproject/graviton/node_leaf.go:165", "stack": "goroutine 205 [running]:\nruntime/debug.Stack()\n\truntime/debug/stack.go:24 +0x65\ngithub.com/deroproject/derohe/blockchain.(*Blockchain).Add_Complete_Block.func1()\n\tgithub.com/deroproject/derohe/blockchain/blockchain.go:411 +0x105\npanic({0xab9fc0, 0xc00055d200})\n\truntime/panic.go:890 +0x263\ngithub.com/deroproject/derohe/blockchain.(*Blockchain).Add_Complete_Block(0xc0005b0000, 0xc000276300)\n\tgithub.com/deroproject/derohe/blockchain/blockchain.go:1014 +0x59f4\ngithub.com/deroproject/derohe/blockchain.(*Blockchain).Accept_new_block(0xc0005b0000, 0x9afff74a19e33801?, {0xc0005a0ac0, 0x30, 0x40})\n\tgithub.com/deroproject/derohe/blockchain/miner_block.go:562 +0x1a25\nmain.Mine_block_single(0xc139b7a088970040?, {0x0, 0x0, 0x0, 0xc000516020, {0x0, 0x0, 0x0}})\n\tgithub.com/deroproject/derohe/cmd/simulator/simulator.go:113 +0x27a\nmain.mine_block_auto(0xc0005b0000?, {0x0, 0x0, 0x0, 0xc000516020, {0x0, 0x0, 0x0}})\n\tgithub.com/deroproject/derohe/cmd/simulator/simulator.go:590 +0x447\ncreated by main.main\n\tgithub.com/deroproject/derohe/cmd/simulator/simulator.go:216 +0x10d5\n"}
17/09 02:40:02  ERROR   CORE    Block rejected by chain {"BLID": "ba85765bc9c9c1bc129172b120424f5c9ff7aab5ac4730fffd43107ad9a7dd99", "bl": "02020000018aa102605f09010000020138e3194af7ff9a0dda87a3687b5befc90ece57942798c39fc7473cf5f7eb2e00
000000000000000000000000000000000000000000000000000000000000000001f4da9d463d43cafe432dd61351c1577720aa201e7a3e92dedbf478db95a6136b0a4155450000000009f4da9d460000000029d9b2ffdde86565adefc2f1d4f6d4d3000000000976e90ccd64c07a3085120e4155450000000009f4da9d460000000029d9b2ffdde86565adefc2f1d4f6d4d30000000031cf512d9605173492def2f04155450000000009f4da9d460000000029d9b2ffdde86565adefc2f1d4f6d4d300000000ad2f4c6c122506108bdd0bc54155460000000009f4da9d460000000029d9b2ffdde86565adefc2f1d4f6d4d300000000f1d36206e16ac61fe83a2dd34155460000000009f4da9d460000000029d9b2ffdde86565adefc2f1d4f6d4d300000000991565fb14596315bd3299eb4155460000000009f4da9d460000000029d9b2ffdde86565adefc2f1d4f6d4d30000000010e8ddb4eb8a002dacd287df4155460000000009f4da9d460000000029d9b2ffdde86565adefc2f1d4f6d4d300000000c807fc88896f64149e09cc8c4155460000000009f4da9d460000000029d9b2ffdde86565adefc2f1d4f6d4d3000000005fe73b38e2ff35be927a448c4155460000000009f4da9d460000000029d9b2ffdde86565adefc2f1d4f6d4d3000000005357a7f56e585b799111a6447160600000000009f4da9d460000000024ea8a54a2ded470292c1b2e5ee264af000000004d0e3f6e4c4b220896a519b001cbcea69230a9bc160a6caa0bdb09aad8186ad8a96e0a4894ce97c81dd79f4f20", "stack": "Z29yb3V0aW5lIDIwNSBbcnVubmluZ106CnJ1bnRpbWUvZGVidWcuU3RhY2soKQoJcnVudGltZS9kZWJ1Zy9zdGFjay5nbzoyNCArMHg2NQpnaXRodWIuY29tL2Rlcm9wcm9qZWN0L2Rlcm9oZS9ibG9ja2NoYWluLigqQmxvY2tjaGFpbikuQWRkX0NvbXBsZXRlX0Jsb2NrLmZ1bmMxKCkKCWdpdGh1Yi5jb20vZGVyb3Byb2plY3QvZGVyb2hlL2Jsb2NrY2hhaW4vYmxvY2tjaGFpbi5nbzo0NTkgKzB4NjdkCnBhbmljKHsweGFiOWZjMCwgMHhjMDAwNTVkMjAwfSkKCXJ1bnRpbWUvcGFuaWMuZ286ODkwICsweDI2MwpnaXRodWIuY29tL2Rlcm9wcm9qZWN0L2Rlcm9oZS9ibG9ja2NoYWluLigqQmxvY2tjaGFpbikuQWRkX0NvbXBsZXRlX0Jsb2NrKDB4YzAwMDViMDAwMCwgMHhjMDAwMjc2MzAwKQoJZ2l0aHViLmNvbS9kZXJvcHJvamVjdC9kZXJvaGUvYmxvY2tjaGFpbi9ibG9ja2NoYWluLmdvOjEwMTQgKzB4NTlmNApnaXRodWIuY29tL2Rlcm9wcm9qZWN0L2Rlcm9oZS9ibG9ja2NoYWluLigqQmxvY2tjaGFpbikuQWNjZXB0X25ld19ibG9jaygweGMwMDA1YjAwMDAsIDB4OWFmZmY3NGExOWUzMzgwMT8sIHsweGMwMDA1YTBhYzAsIDB4MzAsIDB4NDB9KQoJZ2l0aHViLmNvbS9kZXJvcHJvamVjdC9kZXJvaGUvYmxvY2tjaGFpbi9taW5lcl9ibG9jay5nbzo1NjIgKzB4MWEyNQptYWluLk1pbmVfYmxvY2tfc2luZ2xlKDB4YzEzOWI3YTA4ODk3MDA0MD8sIHsweDAsIDB4MCwgMHgwLCAweGMwMDA1MTYwMjAsIHsweDAsIDB4MCwgMHgwfX0pCglnaXRodWIuY29tL2Rlcm9wcm9qZWN0L2Rlcm9oZS9jbWQvc2ltdWxhdG9yL3NpbXVsYXRvci5nbzoxMTMgKzB4MjdhCm1haW4ubWluZV9ibG9ja19hdXRvKDB4YzAwMDViMDAwMD8sIHsweDAsIDB4MCwgMHgwLCAweGMwMDA1MTYwMjAsIHsweDAsIDB4MCwgMHgwfX0pCglnaXRodWIuY29tL2Rlcm9wcm9qZWN0L2Rlcm9oZS9jbWQvc2ltdWxhdG9yL3NpbXVsYXRvci5nbzo1OTAgKzB4NDQ3CmNyZWF0ZWQgYnkgbWFpbi5tYWluCglnaXRodWIuY29tL2Rlcm9wcm9qZWN0L2Rlcm9oZS9jbWQvc2ltdWxhdG9yL3NpbXVsYXRvci5nbzoyMTYgKzB4MTBkNQo=", "error": "Panic Occurred, keep cool"}
17/09 02:40:02  ERROR   CORE    Block rejected by chain {"BLID": "ba85765bc9c9c1bc129172b120424f5c9ff7aab5ac4730fffd43107ad9a7dd99", "error": "Panic Occurred, keep cool"}
17/09 02:40:02  ERROR   derod   err while accepting block template      {"error": "Panic Occurred, keep cool"}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions