Error with Length and Map - Siren 3.1.0
Describe the bug Now that the system is running I'm seeing some other errors on mainnet after startup
siren-1 | Attempting to connect to beacon node and validator client...
siren-1 | [Nest] 109 - 11/12/2025, 2:27:41 AM LOG [NestApplication] Nest application successfully started +11ms
siren-1 | Backend server is running on port 3001
siren-1 | Connection failed [ERR_STRING_TOO_LONG]: Unknown error...
siren-1 | Closing all SSE connections...
siren-1 | Retrying connection in 30 seconds...
siren-1 | (node:111) [DEP0169] DeprecationWarning: url.parse() behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for url.parse() vulnerabilities.
siren-1 | (Use node --trace-deprecation ... to show where the warning was created)
siren-1 | ⚠ metadataBase property in metadata export is not set for resolving social open graph or twitter images, using "http://localhost:3300". See https://nextjs.org/docs/app/api-reference/functions/generate-metadata#metadatabase
siren-1 | [Nest] 109 - 11/12/2025, 2:27:44 AM ERROR [ExceptionsHandler] Cannot read properties of undefined (reading 'length')
siren-1 | TypeError: Cannot read properties of undefined (reading 'length')
siren-1 | at /app/backend/dist/backend/src/validator/validator.service.js:73:51
siren-1 | at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
siren-1 | at async UtilsService.fetchFromCache (/app/backend/dist/backend/src/utils/utils.service.js:86:22)
siren-1 | at async /app/backend/node_modules/@nestjs/core/router/router-execution-context.js:46:28
siren-1 | at async /app/backend/node_modules/@nestjs/core/router/router-proxy.js:9:17
siren-1 | [Nest] 109 - 11/12/2025, 2:27:44 AM ERROR [ExceptionsHandler] Cannot read properties of undefined (reading 'map')
siren-1 | TypeError: Cannot read properties of undefined (reading 'map')
siren-1 | at /app/backend/dist/backend/src/validator/validator.service.js:120:48
siren-1 | at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
siren-1 | at async UtilsService.fetchFromCache (/app/backend/dist/backend/src/utils/utils.service.js:86:22)
siren-1 | at async /app/backend/node_modules/@nestjs/core/router/router-execution-context.js:46:28
siren-1 | at async /app/backend/node_modules/@nestjs/core/router/router-proxy.js:9:17
siren-1 | undefined
siren-1 | Closing all SSE connections... siren-1 | Retrying connection in 30 seconds... siren-1 | Connection failed [ERR_STRING_TOO_LONG]: Unknown error... siren-1 | Attempting to connect to beacon node and validator client... siren-1 | Closing all SSE connections... siren-1 | Retrying connection in 30 seconds... siren-1 | Connection failed [ERR_STRING_TOO_LONG]: Unknown error... siren-1 | Attempting to connect to beacon node and validator client... siren-1 | Connection failed [ERR_STRING_TOO_LONG]: Unknown error... siren-1 | Closing all SSE connections...
To Reproduce Upgrade and then run.. No other actions taken.
Expected behavior No errors
Screenshots
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
Additional context Add any other context about the problem here.
I also had an issue on hoodie testnet when I tried 3.1.0... Rolling back to v3.0.4 worked for hoodi testnest.
Can you share how do you run Siren, and also how do you run BN and VC? I couldn't reproduce the error you see, I just try running on mainnet and Hoodi and it looks ok.
For Hoodi testnet, can Siren starts and go to the main page? How about mainnet? (from last issue you can access Siren on mainnet, but from the screenshot you have, it looks like Siren can't connect to BN and VC)
for (let i = 0; i < validatorData.length; i += BATCH_SIZE) { @chong-he I think the issue could be here in the validator.service.ts when handling batches
for (let i = 0; i < validatorData.length; i += BATCH_SIZE) {@chong-he I think the issue could be here in the validator.service.ts when handling batches
Thanks for the hint, will look into it
Can you share how do you run Siren, and also how do you run BN and VC? I couldn't reproduce the error you see, I just try running on mainnet and Hoodi and it looks ok.
For Hoodi testnet, can Siren starts and go to the main page? How about mainnet? (from last issue you can access Siren on mainnet, but from the screenshot you have, it looks like Siren can't connect to BN and VC)
I run siren using ethdocker with out of the box. For the hoodi testnet I add some certificates and update the defaults.conf. Other than that it's completely stock that pulls from the repos with the standard configuration. There's very little customization.
I'll try again in a little bit..
Can you share how do you run Siren, and also how do you run BN and VC? I couldn't reproduce the error you see, I just try running on mainnet and Hoodi and it looks ok. For Hoodi testnet, can Siren starts and go to the main page? How about mainnet? (from last issue you can access Siren on mainnet, but from the screenshot you have, it looks like Siren can't connect to BN and VC)
I run siren using ethdocker with out of the box. For the hoodi testnet I add some certificates and update the defaults.conf. Other than that it's completely stock that pulls from the repos with the standard configuration. There's very little customization.
I'll try again in a little bit..
@michaelsproul found the cause of this. It is because there is no validators in the VC, and then Siren sends the request to query for validator states, empty request means returning states for all validators (according to beacon API spec): https://github.com/sigp/lighthouse/pull/7474
This is included in Lighthouse v8.0.0 that's why we see this.
Can you confirm that, for your Siren isntance in eth-docker, the Lighthouse VC has no validators?
We will fix this
Can you share how do you run Siren, and also how do you run BN and VC? I couldn't reproduce the error you see, I just try running on mainnet and Hoodi and it looks ok. For Hoodi testnet, can Siren starts and go to the main page? How about mainnet? (from last issue you can access Siren on mainnet, but from the screenshot you have, it looks like Siren can't connect to BN and VC)
I run siren using ethdocker with out of the box. For the hoodi testnet I add some certificates and update the defaults.conf. Other than that it's completely stock that pulls from the repos with the standard configuration. There's very little customization. I'll try again in a little bit..
@michaelsproul found the cause of this. It is because there is no validators in the VC, and then Siren sends the request to query for validator states, empty request means returning states for all validators (according to beacon API spec): sigp/lighthouse#7474
This is included in Lighthouse v8.0.0 that's why we see this.
Can you confirm that, for your Siren isntance in eth-docker, the Lighthouse VC has no validators?
We will fix this
Hoodi testnet has a validator on it. Mainnet does not. I can test it when its ready.
Can you share how do you run Siren, and also how do you run BN and VC? I couldn't reproduce the error you see, I just try running on mainnet and Hoodi and it looks ok. For Hoodi testnet, can Siren starts and go to the main page? How about mainnet? (from last issue you can access Siren on mainnet, but from the screenshot you have, it looks like Siren can't connect to BN and VC)
I run siren using ethdocker with out of the box. For the hoodi testnet I add some certificates and update the defaults.conf. Other than that it's completely stock that pulls from the repos with the standard configuration. There's very little customization. I'll try again in a little bit..
@michaelsproul found the cause of this. It is because there is no validators in the VC, and then Siren sends the request to query for validator states, empty request means returning states for all validators (according to beacon API spec): sigp/lighthouse#7474 This is included in Lighthouse v8.0.0 that's why we see this. Can you confirm that, for your Siren isntance in eth-docker, the Lighthouse VC has no validators? We will fix this
Hoodi testnet has a validator on it. Mainnet does not. I can test it when its ready.
Thanks for confirming. This will be fixed by #461
It will be included in a new release (don't have a timeline yet at the moment)
Edit: also, if you load any validator keys to the VC, then the error will not show up