w3f / jamtestvectors

The latest test vectors for JAM.
Creative Commons Zero v1.0 Universal
42 stars 19 forks source link

Reporting STF Test Vectors (GP Section 11) #20

Open davxy opened 2 weeks ago

davxy commented 2 weeks ago

README


Doesn't include "Assurance STF" (which precedes this phase in the dependency graph)


jaymansfield commented 2 weeks ago

Hello.

There is an issue in tiny/bad_validator_index-1 test. It doesn't seem to be testing for validator index like the full test does.

Tiny: "output": { "err": "service_item_gas_too_low" },

Full:
"output": { "err": "bad_validator_index" },

jaymansfield commented 1 week ago

One other to potentially take a look at:

Tiny vector "not_sorted_guarantor" is for some reason expecting a result of "duplicate_guarantors" but I can't seem to see any duplicates. Thanks!

davxy commented 1 week ago

@jaymansfield https://github.com/w3f/jamtestvectors/pull/20/commits/fde23dd28f1554cec34a02a602c3435a038f6cca

jaymansfield commented 1 week ago

@jaymansfield fde23dd

Thank you.

Question about "too_high_work_report_gas" and "high_work_report_gas". Both of these have a work report with a gas of 1,000,000 which is larger then GA constant (100,000). Is 1,000,000 in both vectors a typo? Was this meant to be 100,000 so that "high_work_report_gas" passes and "too_high_work_report_gas" fails?

dakk commented 1 week ago

How we can perform the check defined in 11.34 (v0.5.0 of gp) if the ancestors set (A) is not supplied?

davxy commented 1 week ago

Question about "too_high_work_report_gas" and "high_work_report_gas". Both of these have a work report with a gas of 1,000,000 which is larger then GA constant (100,000). Is 1,000,000 in both vectors a typo? Was this meant to be 100,000 so that "high_work_report_gas" passes and "too_high_work_report_gas" fails?

@jaymansfield

~Looks like a typo. I'll push a fix~

Now that I double checked, I'm more incline thinking that may be a typo in the GP.

$G_T$, representing the total across all cores, is 341,000,000, so it would make sense for $G_A$ to be below $G_T/341$ (to make space for the "always accumulate services" (as per def of $G_T$). However, if $G_A$ is 100,000, it is an order of magnitude lower than expected. Specifically, always accumulated services would have the following gas available: ~314,000,000~ 341,000,000 - (341 * 100,000) = 306,900,000

Have you tried asking in the chat?

dakk commented 1 week ago

Question about "too_high_work_report_gas" and "high_work_report_gas". Both of these have a work report with a gas of 1,000,000 which is larger then GA constant (100,000). Is 1,000,000 in both vectors a typo? Was this meant to be 100,000 so that "high_work_report_gas" passes and "too_high_work_report_gas" fails?

@jaymansfield

~Looks like a typo. I'll push a fix~

Now that I double checked, I'm more incline thinking that may be a typo in the GP.

G T , representing the total across all cores, is 341,000,000, so it would make sense for G A to be below G T / 341 (to make space for the "always accumulate services" (as per def of G T ). However, if G A is 100,000, it is an order of magnitude lower than expected. Specifically, always accumulated services would have the following gas available: 314 , 000 , 000 − ( 341 ∗ 100 , 000 ) = 306 , 900 , 000 .

Have you tried asking in the chat?

This seems reasonable to me; I asked in GP chat

dakk commented 1 week ago

314 , 000 , 000 − ( 341 ∗ 100 , 000 ) = 306 , 900 , 000

This result is wrong; correct is 279900000

davxy commented 1 week ago

314 , 000 , 000 − ( 341 ∗ 100 , 000 ) = 306 , 900 , 000

This result is wrong; correct is 279900000

The value is not 314,000,000 but 341,000,000 (there was a typo). The result remains unchanged: 341,000,000 - (341 * 100,000) = 306,900,000.

dakk commented 6 days ago

How we can perform the check defined in 11.34 (v0.5.0 of gp) if the ancestors set (A) is not supplied?

@davxy any hints about this?

Regarding the gas issue, gav clarified that values are correct, so I suppose test can be adjusted accordingly