dostrelith678 / cardano-leader-logs

NodeJS+Python implementation for calculating a pool's block schedule.
MIT License
6 stars 3 forks source link

--d NaN (...cannot convert NaN to integer) #3

Closed 7-of-9 closed 3 years ago

7-of-9 commented 3 years ago

Hi Damjan,

I'm getting NaN passed into isSlotLeader.py in the --d param. I've no idea why! Any pointers or suggestions would be much appreciated.

Thanks for this maintaining this tool!

====

Error: Command failed: python3 ./isSlotLeader.py --first-slot-of-epoch 21772800 --epoch-nonce f4d692fdec6f50e3214658b92079b18864412e729d5c53a1572650b0d43ab122 --vrf-skey ... --sigma 0.001215492968075752 --d NaN --epoch-length 432000 --active-slots-coeff 0.05 --libsodium-binary /usr/local/lib/libsodium.so --time-zone Europe/London Traceback (most recent call last): File "./isSlotLeader.py", line 108, in if isOverlaySlot(firstSlotOfEpoch,slot,decentralizationParam): File "./isSlotLeader.py", line 83, in isOverlaySlot if math.ceil( left ) < math.ceil( right ): ValueError: cannot convert NaN to integer

dostrelith678 commented 3 years ago

That's weird, I just ran it recently and had no problems. Looks like it fails to read the d parameter from the protocol-parameters JSON, but can resolve the tip so CLI should be working fine. Is it recurring? Could be just some random hiccup that's fixed on the next run...

const protocolParameters    = await callCLIForJSON(cardanoCLI + ' query protocol-parameters --allegra-era ' + magicString)

Did you pull the latest changes and running node v1.25.1?

7-of-9 commented 3 years ago

Thanks Dam, yes indeed - I'm running v1.25.1, I did the pull the latest, and unfortunately the error repro's on every run.

I'll do some more digging and get back to you...

On Mon, Feb 15, 2021 at 10:12 AM Damjan Ostrelič notifications@github.com wrote:

That's weird, I just ran it recently and had no problems. Looks like it fails to read the d parameter from the protocol-parameters JSON, but can resolve the tip so CLI should be working fine. Is it recurring? Could be just some random hiccup that's fixed on the next run...

const protocolParameters = await callCLIForJSON(cardanoCLI + ' query protocol-parameters --allegra-era ' + magicString)

Did you pull the latest changes and running node v1.25.1?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/DamjanOstrelic/cardano-leader-logs/issues/3#issuecomment-779114714, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOIBAW5ZVWDEPCJI5VKI3LS7DXRFANCNFSM4XT5CKHA .

dostrelith678 commented 3 years ago

A quick fix should be to specify the d parameter manually in an additional argument for the function call:

> node cardanoLeaderLogs.js slotLeaderConfigNoLedger.json f4d692fdec6f50e3214658b92079b18864412e729d5c53a1572650b0d43ab122  0 0.18

The 0 in between is to avoid last epoch run. You could try that and it will either work or point to some other issue

7-of-9 commented 3 years ago

Thank you -- I did tried that but resulted in the same error. My copy on another machine is working fine! I'll close this, I clearly must have made some change somewhere along the line that caused this.