rfc: Add locks to deal avoid fatal reads and writes to map. #1353
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi.
In inspektor-gadget/inspektor-gadget#2513, we wanted to bump
cilium/ebpf
tov0.13.0
.Sadly, our CI caught some problems while running unit tests.
Basically, we run several tests in parallel where we create a lot of eBPF related structures.
I took a look at it and found that the fatal concurrent operations occur there:
ebpf/btf/btf.go
Lines 78 to 94 in ff37506
Here is the output I get when I ran the tests locally:
So, in this patch, I added some locks to prevent having concurrent operations on the map.
I am doubtful this is a good fix, particularly because the goal of 4ad6b8c was to make everything faster and by adding locks I for sure decrease the speed.
But at least, the problem is known and we can discuss it.
Best regards.