-
Type: Bug
-
Status: Resolved (View Workflow)
-
Priority: Medium
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: VOLTHA v2.12
-
Component/s: bbsim
-
Labels:
-
Story Points:2
BBSim OLT during FlowRemove() FlowAdd() due to 'concurrent map iteration and map write':
Logs snapshot:
time="2023-11-29T12:00:42.138702055Z" level=debug msg="OLT receives FlowRemove" AllocId=0 Cookie=0 FlowId=8649608103095468814 FlowType=downstream GemportId=0 IntfId=11 OnuId=31 PbitToGemport="map[]" PortNo=0 ReplicateFlow=false UniID=0 module=OLT
fatal error: concurrent map iteration and map write
goroutine 4543178 [running]:
runtime.throw(0x10da60f, 0x26)
/usr/local/go/src/runtime/panic.go:774 +0x72 fp=0xc00110ca58 sp=0xc00110ca28 pc=0x430f52
runtime.mapiternext(0xc00110ccc0)
/usr/local/go/src/runtime/map.go:858 +0x579 fp=0xc00110cae0 sp=0xc00110ca58 pc=0x411119
github.com/opencord/bbsim/internal/bbsim/devices.(*OltDevice).freeAllocId(0x1ab8800, 0xc00cd7e820)
/app/internal/bbsim/devices/olt.go:1866 +0x6e5 fp=0xc00110cea0 sp=0xc00110cae0 pc=0xd65d25
github.com/opencord/bbsim/internal/bbsim/devices.(*OltDevice).FlowRemove(0x1ab8800, 0x12bcbc0, 0xc00ac4bd10, 0xc00cd7e820, 0x1ab8800, 0xc00ac4bd10, 0xc008056a80)
/app/internal/bbsim/devices/olt.go:1240 +0x678 fp=0xc00110da20 sp=0xc00110cea0 pc=0xd5c658
github.com/opencord/voltha-protos/v5/go/openolt._Openolt_FlowRemove_Handler(0x1097c40, 0x1ab8800, 0x12bcbc0, 0xc00ac4bd10, 0xc00bea08a0, 0x0, 0x12bcbc0, 0xc00ac4bd10, 0xc001ace2d0, 0x24)
/app/vendor/github.com/opencord/voltha-protos/v5/go/openolt/openolt.pb.go:6064 +0x217 fp=0xc00110da90 sp=0xc00110da20 pc=0x94e5c7
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0004d2f00, 0x12fc7c0, 0xc007e64480, 0xc00193f500, 0xc007970ae0, 0x1aaa3b8, 0x0, 0x0, 0x0)
/app/vendor/google.golang.org/grpc/server.go:1007 +0x460 fp=0xc00110de18 sp=0xc00110da90 pc=0x903f80
google.golang.org/grpc.(*Server).handleStream(0xc0004d2f00, 0x12fc7c0, 0xc007e64480, 0xc00193f500, 0x0)
/app/vendor/google.golang.org/grpc/server.go:1287 +0xd99 fp=0xc00110df48 sp=0xc00110de18 pc=0x907ea9
google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc007b5aef0, 0xc0004d2f00, 0x12fc7c0, 0xc007e64480, 0xc00193f500)
/app/vendor/google.golang.org/grpc/server.go:722 +0xbb fp=0xc00110dfb8 sp=0xc00110df48 pc=0x914fbb
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1357 +0x1 fp=0xc00110dfc0 sp=0xc00110dfb8 pc=0x45ead1
created by google.golang.org/grpc.(*Server).serveStreams.func1
/app/vendor/google.golang.org/grpc/server.go:720 +0xa1