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

Providing trusted-hash produces daser errors #3163

Open
Bidon15 opened this issue Feb 5, 2024 · 4 comments
Open

Providing trusted-hash produces daser errors #3163

Bidon15 opened this issue Feb 5, 2024 · 4 comments
Labels
bug Something isn't working external Issues created by non node team members

Comments

@Bidon15
Copy link
Member

Bidon15 commented Feb 5, 2024

Celestia Node version

a7c49d2

OS

linux/amd64 and macos/arm64

Install tools

docker or vanilla install

Others

No response

Steps to reproduce it

  1. Initialise a new da-light node
  2. Execute this command
celestia light start --p2p.network mocha --core.ip http://consensus-full-mocha-4.celestia-mocha.com --headers.trusted-hash B1930EF8E01DE5684D854ACE8730C16F4498CE3BB2E2EE1C2000CF7FA3F7F875

Expected result

node starts at a non-genesis height without errors

Actual result

daser errors with failed to get header from header store

Relevant log output

2024-02-05T13:27:03.622+0100	INFO	das	das/worker.go:88	finished sampling headers	{"type": "retry", "from": 116924, "to": 116924, "errors": 1, "finished (s)": 0.000490375}
2024-02-05T13:27:03.623+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 101613, "finished (s)": 0.000004917}
2024-02-05T13:27:03.621+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 66038, "finished (s)": 0.000006417}
2024-02-05T13:27:03.622+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 86816, "finished (s)": 0.000011208}
2024-02-05T13:27:03.623+0100	INFO	das	das/worker.go:88	finished sampling headers	{"type": "retry", "from": 86816, "to": 86816, "errors": 1, "finished (s)": 0.000419916}
2024-02-05T13:27:03.623+0100	INFO	das	das/worker.go:88	finished sampling headers	{"type": "retry", "from": 101613, "to": 101613, "errors": 1, "finished (s)": 0.0000535}
2024-02-05T13:27:03.623+0100	INFO	das	das/worker.go:88	finished sampling headers	{"type": "retry", "from": 66038, "to": 66038, "errors": 1, "finished (s)": 0.001750667}
2024-02-05T13:27:03.623+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 31754, "finished (s)": 0.00000625}
2024-02-05T13:27:03.623+0100	INFO	das	das/worker.go:88	finished sampling headers	{"type": "retry", "from": 31754, "to": 31754, "errors": 1, "finished (s)": 0.000036833}
2024-02-05T13:27:03.623+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 46092, "finished (s)": 0.00000475}
2024-02-05T13:27:03.623+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 47513, "finished (s)": 0.000006}
2024-02-05T13:27:03.623+0100	INFO	das	das/worker.go:88	finished sampling headers	{"type": "retry", "from": 47513, "to": 47513, "errors": 1, "finished (s)": 0.000013}
2024-02-05T13:27:03.623+0100	INFO	das	das/worker.go:88	finished sampling headers	{"type": "retry", "from": 46092, "to": 46092, "errors": 1, "finished (s)": 0.000037667}
2024-02-05T13:27:03.623+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 24177, "finished (s)": 0.000003875}
2024-02-05T13:27:03.623+0100	INFO	das	das/worker.go:88	finished sampling headers	{"type": "retry", "from": 24177, "to": 24177, "errors": 1, "finished (s)": 0.00002225}
2024-02-05T13:27:03.623+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 107287, "finished (s)": 0.000007833}
2024-02-05T13:27:03.623+0100	INFO	das	das/worker.go:88	finished sampling headers	{"type": "retry", "from": 107287, "to": 107287, "errors": 1, "finished (s)": 0.000381417}
2024-02-05T13:27:03.623+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 51372, "finished (s)": 0.000005125}
2024-02-05T13:27:03.623+0100	INFO	das	das/worker.go:88	finished sampling headers	{"type": "retry", "from": 51372, "to": 51372, "errors": 1, "finished (s)": 0.000033208}
2024-02-05T13:27:03.623+0100	INFO	das	das/worker.go:88	finished sampling headers	{"type": "retry", "from": 71673, "to": 71673, "errors": 1, "finished (s)": 0.002123125}
2024-02-05T13:27:03.622+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 16583, "finished (s)": 0.00000475}
2024-02-05T13:27:03.623+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 39254, "finished (s)": 0.000006125}
2024-02-05T13:27:03.623+0100	INFO	das	das/worker.go:88	finished sampling headers	{"type": "retry", "from": 16583, "to": 16583, "errors": 1, "finished (s)": 0.000983458}
2024-02-05T13:27:03.623+0100	INFO	das	das/worker.go:88	finished sampling headers	{"type": "retry", "from": 39254, "to": 39254, "errors": 1, "finished (s)": 0.000012208}

Notes

I also see that the daser can fail the whole 100 batches instead of just 1 like in the shared log

@Bidon15 Bidon15 added the bug Something isn't working label Feb 5, 2024
@github-actions github-actions bot added the external Issues created by non node team members label Feb 5, 2024
@Bidon15
Copy link
Member Author

Bidon15 commented Feb 5, 2024

If we don't provide the trusted hash flag - no errors

@Bidon15
Copy link
Member Author

Bidon15 commented Feb 27, 2024

Same error with latest commit 2ebca8f @Wondertan
I changed the trusted hash from the flag to the config.toml

celestia light start --p2p.network mocha --core.ip http://consensus-full-mocha-4.celestia-mocha.com
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121267, "finished (s)": 0.000005041}
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121268, "finished (s)": 0.000000791}
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121269, "finished (s)": 0.000000833}
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121270, "finished (s)": 0.000000792}
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121271, "finished (s)": 0.00000175}
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121272, "finished (s)": 0.000016125}
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121273, "finished (s)": 0.000003042}
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121274, "finished (s)": 0.000001083}
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121275, "finished (s)": 0.000000666}
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121276, "finished (s)": 0.000000708}
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121277, "finished (s)": 0.000001666}
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121278, "finished (s)": 0.000000667}
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121279, "finished (s)": 0.000001125}
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121280, "finished (s)": 0.000004958}
2024-02-27T14:35:29.927+0100	ERROR	das	das/worker.go:170	failed to get header from header store	{"height": 121281, "finished (s)": 0.000000959}

@Wondertan
Copy link
Member

A little guide to running a celestia node on a public network without waiting for it to sync:

  • Init a fresh node
  • Change the two following config fields for the recent header(the example is from mocha):
    • Header.TrustedHash = "0E005E02A1EE6F9350E2B74EF388925F65B8EC1E6D11E3DD92DDD20C82A860F8"
    • DASer.SampleFrom = 1213740
  • Start the node

@Bidon15
Copy link
Member Author

Bidon15 commented Feb 27, 2024

A little guide to running a celestia node on a public network without waiting for it to sync:

  • Init a fresh node

  • Change the two following config fields for the recent header(the example is from mocha):

    • Header.TrustedHash = "0E005E02A1EE6F9350E2B74EF388925F65B8EC1E6D11E3DD92DDD20C82A860F8"
    • DASer.SampleFrom = 1213740
  • Start the node

Works! Thanks for the review.
for broader context - should we treat this as a bug or CR (Change Request) @ramin ? As there is no vanilla way through cli flags to provide daser.SampleFrom

The cli flag can help immensely devRel and external teams devX wise

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working external Issues created by non node team members
Projects
None yet
Development

No branches or pull requests

2 participants