-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Open
Labels
Medium PriorityMedium priority issueMedium priority issueMulti-ModuleIssue spans over multiple modulesIssue spans over multiple modulesSmall Shirt1 week worth of work1 week worth of work
Description
Describe the bug
Normal operation then suddenly unable to unmarshal peer book
Occurred on a non-validator full node on the canary network
The writing of the peer book
{
"book": [
{
"address": {
"publicKey": "xyz",
"netAddress": "x.x.x.x",
"peerMeta": {
"networkID": 0,
"chainID": 2,
"signature": "tmhrEfFFrc+POilNER0Nltj08AmzNJjNz21cRITQfUjUG+EA0lD/M4i+u/mlvrbbAfDs4yrIcUhzxVbhs/EevW0NTbsgHe1+/bPFGJnE6M3SyL8RwgRn3k5tAJD/aJrl"
}
},
"consecutiveFailedDial": 0
},
{
"address": {
"publicKey": "xyz",
"netAddress": "x.x.x.x",
"peerMeta": {
"networkID": 0,
"chainID": 2,
"signature": "ioD44LwehMfdAYhyYI1XhmfCCW2KHlv4k5l1U4quBl92ldwfFPE69VLj46tOviuDCcfrG+TwLmv1B7RFaKrdll8GojxDrcTBPKXLT5RO252wiQfMENzALZrNPRMhKvt0"
}
},
"consecutiveFailedDial": 0
},
{
"address": {
"publicKey": "xyz",
"netAddress": "x.x.x.x",
"peerMeta": {
"networkID": 0,
"chainID": 2,
"signature": "sgNTWjFimG+idC7wei4XF61C3veRPMs5g/J80b+GQPZTAEKRwx2yPM96Qt/qiriiBtNpkQIsumKWAUBo7ShwZtMiO8P5REdWWbj3pQXPN9UsDlWYNg7/RTfEnDtPV7VP"
}
},
"consecutiveFailedDial": 0
},
{
"address": {
"publicKey": "xyz",
"netAddress": "x.x.x.x",
"peerMeta": {
"networkID": 0,
"chainID": 2,
"signature": "mCk6Gmm7TjxYAkJC/VaHwm3udVA4B7oEKHSjyBilFS0h2kOEuLkNEZcijUlxXKx4Dob2MzTEcyIt59xTiPqS/i29WsiMNW9KMkF3EGBAYzacu28U6Hsh7fkh5Eolyi/v"
}
},
"consecutiveFailedDial": 0
},
{
"address": {
"publicKey": "xyz",
"netAddress": "x.x.x.x",
"peerMeta": {
"networkID": 0,
"chainID": 1,
"signature": "j+tSBNZZKPdSoDwkjP/7rjpbPKroFflmxBaTU/JJCER7Gv/J1haHZw+TGyw8wKTKGf5pOF4LgfXl+GmR6Z1ekh6SF+/VYdsQTgjaL1QyPQq2nhZ3IzYB+1fkj6m/s6HB"
}
},
"consecutiveFailedDial": 0
},
{
"address": {
"publicKey": "xyz",
"netAddress": "x.x.x.x",
"peerMeta": {
"networkID": 0,
"chainID": 2,
"signature": "iD+6jUrjv7QeLo/Eme9EnmFAIEFUFBq4mVEcdo0HFd5ZwN9RCZlvg+QWP9NFIS2DBjFYjzzfPk3ADDxMf8gy94pJ/bOU80eRdoEp+47jjIjiGc3NLKRba+TCuZw9uiFc"
}
},
"consecutiveFailedDial": 0
},
{
"address": {
"publicKey": "xyz",
"netAddress": "x.x.x.x",
"peerMeta": {
"networkID": 0,
"chainID": 1,
"sigIt's clear that the json was cut off here due to a terminated flush. Not sure why this happened
Steps to reproduce
Intermittent
Expected behavior
Peer book flush and unmarshal is safe
Screenshots
See above
Environment
- OS: Linux + docker
- Software Version: alpha-0.0.1
Additional context
It's likely the writing was stopped due to a crash - but the software doesn't gracefully handle incomplete peer books.
Consider just fixing this part:
// read the json file
bz, err := os.ReadFile(pb.path)
if err != nil {
l.Fatalf("unable to read peer book: %s", err.Error())
}
// load the bytes into the peer book object
if err = json.Unmarshal(bz, pb); err != nil {
l.Fatalf("unable to unmarshal peer book: %s", err.Error())
}Required Tags
- Priority: Low
- Module: Multi-Module
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Medium PriorityMedium priority issueMedium priority issueMulti-ModuleIssue spans over multiple modulesIssue spans over multiple modulesSmall Shirt1 week worth of work1 week worth of work
