{"action":"closed","issue":{"url":"https://api.github.com/repos/ethereum/go-ethereum/issues/19461","repository_url":"https://api.github.com/repos/ethereum/go-ethereum","labels_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/19461/labels{/name}","comments_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/19461/comments","events_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/19461/events","html_url":"https://github.com/ethereum/go-ethereum/issues/19461","id":432938297,"node_id":"MDU6SXNzdWU0MzI5MzgyOTc=","number":19461,"title":"TransactionByHash failing due to inability to parse txdata.S value","user":{"login":"Talvish","id":694386,"node_id":"MDQ6VXNlcjY5NDM4Ng==","avatar_url":"https://avatars1.githubusercontent.com/u/694386?v=4","gravatar_id":"","url":"https://api.github.com/users/Talvish","html_url":"https://github.com/Talvish","followers_url":"https://api.github.com/users/Talvish/followers","following_url":"https://api.github.com/users/Talvish/following{/other_user}","gists_url":"https://api.github.com/users/Talvish/gists{/gist_id}","starred_url":"https://api.github.com/users/Talvish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Talvish/subscriptions","organizations_url":"https://api.github.com/users/Talvish/orgs","repos_url":"https://api.github.com/users/Talvish/repos","events_url":"https://api.github.com/users/Talvish/events{/privacy}","received_events_url":"https://api.github.com/users/Talvish/received_events","type":"User","site_admin":false},"labels":[{"id":1157707837,"node_id":"MDU6TGFiZWwxMTU3NzA3ODM3","url":"https://api.github.com/repos/ethereum/go-ethereum/labels/area:rpc","name":"area:rpc","color":"d4c5f9","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2019-04-14T06:34:22Z","updated_at":"2019-06-07T14:24:22Z","closed_at":"2019-06-07T14:24:22Z","author_association":"NONE","body":"I have some ethereum code running in a contract that works fine. The code performs a mint operation of a type of token I created. The contract is currently compiled using geth but the contracts are deployed into Ganache (and I saw the following issue regardless of running against Ganache 2.0.0 and 1.2.2).\r\n\r\nToday I updated my golang code to monitor and validate the mint transactions (mainly to see if they were pending) using TransactionByHash. What I found was that this call will periodically fail on some transactions with the message 'json: cannot unmarshal hex number with leading zero digits into Go value of type *hexutil.Big'.\r\n\r\nAfter some extra logging in the go-ethereum code I produced the following output:\r\n\r\n-------------------\r\n```\r\n2019/04/13 23:07:50 RAW TRANSACTION: {\"hash\":\"0x8d277a01e76a71928407a03b95daf9125d23cb600cbca15e04a5a7e4f13df26f\",\"nonce\":\"0x53\",\"blockHash\":\"0xad31d7f6b3c9650ed097a51e60ef09bb892e4e3b670fd892bebab6e78d3b339d\",\"blockNumber\":\"0x54\",\"transactionIndex\":\"0x0\",\"from\":\"0xe26abae657fea0d35a1880520aeb23eab3a65fef\",\"to\":\"0xcb8dc2a714624ede9ce2e585e0208aa427f8df6b\",\"value\":\"0x0\",\"gas\":\"0x4c4b40\",\"gasPrice\":\"0x4a817c800\",\"input\":\"0x40c10f190000000000000000000000000816ec558ade35878385b8a596e5a6e1e945fdf600000000000000000000000000000000000000000000000000000069d50535d1\",\"v\":\"0x1c\",\"r\":\"0x6e2345ffa0b1c7eacc66962757969d6ed940a729dca65431b1eb4dee51f470a9\",\"s\":\"0x0528e7f3def038c34b93cd32a55610d10afaed61bfa18e35e364797343a4e07b\"}\r\n2019/04/13 23:07:50 FAILED VALUE IS: 0528e7f3def038c34b93cd32a55610d10afaed61bfa18e35e364797343a4e07b\r\n2019/04/13 23:07:50 unable to get transaction for hash '0x8d277a01e76a71928407a03b95daf9125d23cb600cbca15e04a5a7e4f13df26f' due to error [json: cannot unmarshal hex number with leading zero digits into Go value of type *hexutil.Big]\r\n```\r\n-------------------\r\n\r\nWhat you can see from the above is that the 's' value in the transaction isn't parsing because the 's' value is being unmarshalled as a hexutil.Big which uses 'checkNumberText' BUT that function fails due to the starting 0. \r\n\r\nSo while my operations are correct and things are minted fine, I have no way to verify the operation isn't pending (so I can potentially resubmit, etc).\r\n\r\n#### System information\r\n\r\nGeth version: 1.9.0-unstable (though failed on earlier version as well)\r\nOS & Version: Windows 10 / WSL using Ubuntu 18.04\r\n\r\n#### Expected behaviour\r\n\r\nThe TransactionByHash should load the otherwise successful transactions.\r\n\r\n#### Actual behaviour\r\n\r\nThe transaction isn't loading due to a failure (see above)\r\n\r\n#### Steps to reproduce the behaviour\r\n\r\nHard to say without using my code explicitly, but I am easily able to reproduce by attempting to load and check the mint transactions. I programmatically deploy multiple of the contract and then call mint on each. In any grouping of 4 calls I seem to guarantee at least 1 failure.\r\n\r\n#### Backtrace\r\n"}}
{"actor":{"display_login":"fjl"}}