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

Not informative log-output for unsupported but valid methods #754

Closed
oleksandrSydorenkoJ opened this issue Apr 11, 2023 · 2 comments · Fixed by skalenetwork/skaled#1501 or skalenetwork/skaled#1497

Comments

@oleksandrSydorenkoJ
Copy link

Preconditions:
Active schain medium type
Oracle-demo

Versions:
skalenetwork/schain:3.16.1-beta.0

Steps to reproduce:

  1. Run oracle demo for eth_gasPrice
            '"cid":<skaleChainId>,"uri":"eth://","jsps":["/result"],encoding":"json","ethApi":"eth_gasPrice","params":[]'

  1. check output

Expected state:
Oracle request should return readable error - not supported method for Oracle.
For the invalid request Oracle should return the full request line with detailed mistake in request.

Actual state:
Oracle request returns message': 'Oracle request failed with status 10' error related to #define ORACLE_INVALID_JSON_REQUEST 10

Logs

========== Calculating PoW number ==========
PoW number: 11256
========== Sending request to Oracle ==========
Request >>>  {'id': 83, 'jsonrpc': '2.0', 'method': 'oracle_submitRequest', 'params': ['{"cid":123,"uri":"eth://","jsps":["/result"],encoding":"json","ethApi":"eth_gasPrice","params":[],"time":1681213811000,"pow":11256}']}
Response <<<  {'error': {'code': 10, 'data': None, 'message': 'Oracle request failed with status 10'}, 'id': 83, 'jsonrpc': '2.0'}
Send oracle request failed
@oleksandrSydorenkoJ oleksandrSydorenkoJ added bug Something isn't working epic:oracle labels Apr 11, 2023
@oleksandrSydorenkoJ oleksandrSydorenkoJ changed the title Not informative log-output for unsupported but valid calls Not informative log-output for unsupported but valid methods Apr 11, 2023
@DmytroNazarenko DmytroNazarenko added release:2.1.1 Technical debt and removed bug Something isn't working labels Apr 12, 2023
@kladkogex kladkogex moved this to Code Review in SKALE Engineering 🚀 Apr 12, 2023
@github-project-automation github-project-automation bot moved this from Code Review to Ready For Release Candidate in SKALE Engineering 🚀 Apr 14, 2023
@DmytroNazarenko DmytroNazarenko moved this from Ready For Release Candidate to Merged To Release Candidate in SKALE Engineering 🚀 Apr 14, 2023
@kladkogex kladkogex reopened this Apr 14, 2023
@github-project-automation github-project-automation bot moved this from Merged To Release Candidate to Ready For Pickup in SKALE Engineering 🚀 Apr 14, 2023
@github-project-automation github-project-automation bot moved this from Ready For Pickup to Ready For Release Candidate in SKALE Engineering 🚀 Apr 14, 2023
@oleksandrSydorenkoJ
Copy link
Author

Re-checked on skalenetwork/schain:3.16.1-beta.2
Error-log output is implemented for this version of skaled.

There are unclear responses from Oracle

  1. Send oracle request to web2 with bad latency
    logs from skaled:
[2023-04-18 12:36:03.581] [46:main] [error] 131990:Curl easy perform failed for url: http://httpbin.org/anything with error code:28

logs from Oracle:

Response <<<  {'error': {'code': 24, 'data': None, 'message': 'Invalid oracle spec in submitOracleRequest Oracle check failed: Unparsable Oracle spec:{"cid":921257266,"uri":"http://httpbin.org/anything","jsps":["/url","/headers/Content-Length"],"post":"string=string_value","encoding":"json,"time":1681821585000,"pow":2348}'}, 'id': 83, 'jsonrpc': '2.0'}

  1. Valid but unsupported methods:
    Logs from skaled
2023-04-18 12:44:22.921177   http://1.1.1.1:31223 >>> {"id":83,"jsonrpc":"2.0","method":"oracle_submitRequest","params":["{\"cid\":1,\"uri\":\"eth://\",\"jsps\":[\"/result\"],\"\"encoding\":\"json\",\"ethApi\":\"eth_gasPrice\",\"params\":[],\"time\":1681821862000,\"pow\":1900}"]}
2023-04-18 12:44:22.921260   {"cid":1,"uri":"eth://","jsps":["/result"],""encoding":"json","ethApi":"eth_gasPrice","params":[],"time":1681821862000,"pow":1900}
[2023-04-18 12:44:22.921] [config] [error] Invalid oracle spec in submitOracleRequest Oracle check failed: Unparsable Oracle spec:{"cid":1,"uri":"eth://","jsps":["/result"],""encoding":"json","ethApi":"eth_gasPrice","params":[],"time":1681821862000,"pow":1900}
2023-04-18 12:44:22.921425   http://1.1.1.1:31223 <<< {"error":{"code":24,"data":null,"message":"Invalid oracle spec in submitOracleRequest Oracle check failed: Unparsable Oracle spec:{\"cid\":1,\"uri\":\"eth://\",\"jsps\":[\"/result\"],\"\"encoding\":\"json\",\"ethApi\":\"eth_gasPrice\",\"params\":[],\"time\":1681821862000,\"pow\":1900}"},"id":83,"jsonrpc":"2.0"}

logs from Oracle:

Request >>>  {'id': 83, 'jsonrpc': '2.0', 'method': 'oracle_submitRequest', 'params': ['{"cid":1,"uri":"eth://","jsps":["/result"],""encoding":"json","ethApi":"eth_gasPrice","params":[],"time":1681821862000,"pow":1900}']}
Response <<<  {'error': {'code': 24, 'data': None, 'message': 'Invalid oracle spec in submitOracleRequest Oracle check failed: Unparsable Oracle spec:{"cid":1,"uri":"eth://","jsps":["/result"],""encoding":"json","ethApi":"eth_gasPrice","params":[],"time":1681821862000,"pow":1900}'}, 'id': 83, 'jsonrpc': '2.0'}

  1. No space after error message: not allowed in Oracle urishttp
Response <<<  {'error': {'code': 23, 'data': None, 'message': 'Invalid oracle spec in submitOracleRequest Oracle check failed: IP addresses not allowed in Oracle urishttp://146.59.55.165:3009/status/schains'}, 'id': 83, 'jsonrpc': '2.0'}

@DmytroNazarenko DmytroNazarenko moved this from Ready For Release Candidate to Merged To Release Candidate in SKALE Engineering 🚀 Apr 18, 2023
@oleksandrSydorenkoJ
Copy link
Author

Error logs handling will be fixed in the separate issue Improve Oracle error handling

@oleksandrSydorenkoJ oleksandrSydorenkoJ moved this from Merged To Release Candidate to QA in SKALE Engineering 🚀 Apr 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment