iotaledger / iota-core

Apache License 2.0
59 stars 12 forks source link

invalid memory address or nil pointer dereference #974

Closed psow closed 1 month ago

psow commented 1 month ago

I encountered this error yesterday during high BPS (probably syncing?). I can't reproduce it (single time event). I add the part of the log that I saved below - hope it helps. The version is 1.0.0-beta.4


iota-core3` | } roots =Roots(0xd3e16ea1bf6863b43cbe4d94c05f22925191518571e6794c3dfca8bf6fe5d2d1): TangleRoot: 0x8af1bdac16883f86def266998bab245c1cd478d3200000000000000000000000000000000000000000000000000000000000000, StateRoot: 0x70a4a5cd1ab0156d2287e7b94dcf14e9883b7d90e9c3c7ad84e2764d4150ac56, AccountRoot: 0d5afd428edf425709, AttestationsRoot: 0x965495376339d7c963286f4b2db053c7da88a853c19087e4c445f5111e3ee09b, CommitteeRoot: 0x4b3392bb055664da742254f3c5b221bacf9004fb83566a8aaeee2b1936320efb2d018aa15521103359b0267f9d4a4aced, ProtocolParametersHash: 0x9786d0ead851be3d740e0956a2c8e2dd7eec59a2fb3e608834ca8a57ee1eede8)

iota-core3 | panic: runtime error: invalid memory address or nil pointer dereference iota-core3 | [signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x12c039e] iota-core3 | iota-core3 | goroutine 3079 [running]: iota-core3 | github.com/iotaledger/iota-core/pkg/protocol/engine/congestioncontrol/scheduler/drr.(Scheduler).removeIssuer(0xc0000f9e40, {0x5f, 0x5c, 0x.) iota-core3 | /scratch/pkg/protocol/engine/congestioncontrol/scheduler/drr/scheduler.go:598 +0x9e iota-core3 | github.com/iotaledger/iota-core/pkg/protocol/engine/congestioncontrol/scheduler/drr.(Scheduler).updateDeficit(0xc0000f9e40, {0x5f, 0x5c, 0..) iota-core3 | /scratch/pkg/protocol/engine/congestioncontrol/scheduler/drr/scheduler.go:659 +0xe5 iota-core3 | github.com/iotaledger/iota-core/pkg/protocol/engine/congestioncontrol/scheduler/drr.(Scheduler).incrementDeficit(0xc0000f9e40, {0x5f, 0x5c, ...) iota-core3 | /scratch/pkg/protocol/engine/congestioncontrol/scheduler/drr/scheduler.go:679 +0x125 iota-core3 | github.com/iotaledger/iota-core/pkg/protocol/engine/congestioncontrol/scheduler/drr.(Scheduler).selectBasicBlockWithoutLocking.func1(0xc01 iota-core3 | /scratch/pkg/protocol/engine/congestioncontrol/scheduler/drr/scheduler.go:476 +0x71 iota-core3 | github.com/iotaledger/iota-core/pkg/protocol/engine/congestioncontrol/scheduler/drr.(BasicBuffer).ForEach(0xc00036c730, 0xc005859e40) iota-core3 | /scratch/pkg/protocol/engine/congestioncontrol/scheduler/drr/basicbuffer.go:243 +0x179 iota-core3 | github.com/iotaledger/iota-core/pkg/protocol/engine/congestioncontrol/scheduler/drr.(Scheduler).selectBasicBlockWithoutLocking(0xc0000f9e4 iota-core3 | /scratch/pkg/protocol/engine/congestioncontrol/scheduler/drr/scheduler.go:473 +0xe5 iota-core3 | github.com/iotaledger/iota-core/pkg/protocol/engine/congestioncontrol/scheduler/drr.(Scheduler).selectBlockToScheduleWithLocking(0xc0000f9 iota-core3 | /scratch/pkg/protocol/engine/congestioncontrol/scheduler/drr/scheduler.go:453 +0xb5 iota-core3 | github.com/iotaledger/iota-core/pkg/protocol/engine/congestioncontrol/scheduler/drr.(Scheduler).scheduleValidationBlock(0xc0000f9e40, 0xc0 iota-core3 | /scratch/pkg/protocol/engine/congestioncontrol/scheduler/drr/scheduler.go:433 +0x5e iota-core3 | github.com/iotaledger/iota-core/pkg/protocol/engine/congestioncontrol/scheduler/drr.(Scheduler).validatorLoop(0xc0000f9e40, 0xc002af5b80) iota-core3 | /scratch/pkg/protocol/engine/congestioncontrol/scheduler/drr/scheduler.go:408 +0xa9 iota-core3 | created by github.com/iotaledger/iota-core/pkg/protocol/engine/congestioncontrol/scheduler/drr.(Scheduler).getOrCreateValidatorQueue.func1 iota-core3 | /scratch/pkg/protocol/engine/congestioncontrol/scheduler/drr/scheduler.go:760 +0x7d