Open gaby opened 2 months ago
The recent changes to internal storage are causing sync.Mutex issues with idempotency middleware:
=== FAIL: middleware/idempotency (0.00s) -test.shuffle 1719923994676848980 panic: test timed out after 10m0s running tests: Test_Idempotency (2s) goroutine 5152 [running]: testing.(*M).startAlarm.func1() /snap/go/10630/src/testing/testing.go:2366 +0x265 created by time.goFunc /snap/go/10630/src/time/sleep.go:177 +0x45 goroutine 1 [chan receive]: testing.tRunner.func1() /snap/go/10630/src/testing/testing.go:1650 +0x9b2 testing.tRunner(0xc00014fa00, 0xc00002fb10) /snap/go/10630/src/testing/testing.go:1695 +0x25e testing.runTests(0xc000012540, {0xc36780, 0x3, 0x3}, {0x2?, 0xc00002fc00?, 0xc42920?}) /snap/go/10630/src/testing/testing.go:2159 +0x8bf testing.(*M).Run(0xc00009ad20) /snap/go/10630/src/testing/testing.go:2027 +0xf18 main.main() _testmain.go:61 +0x2be goroutine 9 [sync.Mutex.Lock, 9 minutes]: sync.runtime_SemacquireMutex(0x0?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc000014e48) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc000014e48) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc00002a700, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 6 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 18 [chan receive]: github.com/gofiber/fiber/v3/internal/storage/memory.New.StartTimeStampUpdater.func1.1(0x3b9aca00) /home/ubuntu/go/pkg/mod/github.com/gofiber/utils/v2@v2.0.0-beta.4/time.go:30 +0x105 created by github.com/gofiber/fiber/v3/internal/storage/memory.New.StartTimeStampUpdater.func1 in goroutine 7 /home/ubuntu/go/pkg/mod/github.com/gofiber/utils/v2@v2.0.0-beta.4/time.go:26 +0x9b goroutine 19 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc0002180f0) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 7 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 21 [sleep]: time.Sleep(0x3b9aca00) /snap/go/10630/src/runtime/time.go:195 +0x115 github.com/valyala/fasthttp.updateServerDate.func1() /home/ubuntu/go/pkg/mod/github.com/valyala/fasthttp@v1.55.0/header.go:2368 +0x25 created by github.com/valyala/fasthttp.updateServerDate in goroutine 20 /home/ubuntu/go/pkg/mod/github.com/valyala/fasthttp@v1.55.0/header.go:2366 +0x29 goroutine 4160 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc000684720) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 4157 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 3598 [sync.Mutex.Lock, 2 minutes]: sync.runtime_SemacquireMutex(0xc0002b6a30?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc00080aed8) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc00080aed8) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc0002b6a30, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 3595 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 937 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc000219920) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 935 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 294 [sync.Mutex.Lock, 9 minutes]: sync.runtime_SemacquireMutex(0xc0002a85b0?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc000014528) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc000014528) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc0002a85b0, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 241 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 3573 [sync.Mutex.Lock, 3 minutes]: sync.runtime_SemacquireMutex(0xc00002b110?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc000324598) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc000324598) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc00002b110, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 3570 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 4159 [sync.Mutex.Lock, 1 minutes]: sync.runtime_SemacquireMutex(0xc0006ac3c0?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc00020c558) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc00020c558) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc0006ac3c0, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 4156 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 1792 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc0003e6330) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 1790 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 1968 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc0002184b0) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 1965 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 506 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc000526930) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 503 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 1967 [sync.Mutex.Lock, 5 minutes]: sync.runtime_SemacquireMutex(0xc00039c290?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc000112298) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc000112298) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc00039c290, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 1964 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 505 [sync.Mutex.Lock, 9 minutes]: sync.runtime_SemacquireMutex(0xc0002b62d0?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc0003a2198) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc0003a2198) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc0002b62d0, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 502 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 722 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc000286d80) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 160 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 4901 [sync.Mutex.Lock]: sync.runtime_SemacquireMutex(0xc00069c3a0?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc000346578) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc000346578) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc00069c3a0, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 4898 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 1168 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc000218210) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 1372 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 4459 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc000699770) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 4429 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 292 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc000286630) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 290 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 3567 [sync.Mutex.Lock, 2 minutes]: sync.runtime_SemacquireMutex(0xc0002a82f0?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc00020c468) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc00020c468) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc0002a82f0, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 3564 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 2482 [sync.Mutex.Lock, 5 minutes]: sync.runtime_SemacquireMutex(0xc00039d1b0?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc00020deb8) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc00020deb8) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc00039d1b0, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 2447 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 2016 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc0003e68d0) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 2014 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 5140 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc0007194d0) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 5089 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 3280 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc0003e78c0) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 3309 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 217 [sync.Mutex.Lock, 8 minutes]: sync.runtime_SemacquireMutex(0xc0002a81f0?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc0003246f8) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc0003246f8) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc0002a81f0, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 934 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 2679 [sync.Mutex.Lock, 4 minutes]: sync.runtime_SemacquireMutex(0xc00002adc0?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc0005160a8) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc0005160a8) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc00002adc0, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 2676 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 4669 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc000286cc0) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 4666 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 4668 [sync.Mutex.Lock, 1 minutes]: sync.runtime_SemacquireMutex(0xc0002a83b0?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc000516fe8) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc000516fe8) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc0002a83b0, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 4665 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 2021 [sync.Mutex.Lock, 6 minutes]: sync.runtime_SemacquireMutex(0xc0002b6090?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc0001123d8) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc0001123d8) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc0002b6090, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 2013 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 3099 [sync.Mutex.Lock, 4 minutes]: sync.runtime_SemacquireMutex(0xc00002b100?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc000113f58) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc000113f58) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc00002b100, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 3096 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 1389 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc000218a80) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 1387 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 2456 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc000718e10) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 2448 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 4794 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc0002871d0) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 4899 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 1156 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc0002be180) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 910 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 3080 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc000594750) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 3097 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 3324 [sync.Mutex.Lock, 3 minutes]: sync.runtime_SemacquireMutex(0xc000328370?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc00020c7b8) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc00020c7b8) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc000328370, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 3308 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 721 [sync.Mutex.Lock, 8 minutes]: sync.runtime_SemacquireMutex(0xc00039c0e0?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc00020c118) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc00020c118) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc00039c0e0, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 159 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 2709 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc00050e6f0) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 2677 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 3793 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc000286db0) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 3565 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 3557 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc00050fec0) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 3571 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 1826 [sync.Mutex.Lock, 6 minutes]: sync.runtime_SemacquireMutex(0xc00002a790?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc000112318) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc000112318) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc00002a790, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 1789 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 5089 [sleep]: time.Sleep(0x1dcd65000) /snap/go/10630/src/runtime/time.go:195 +0x115 github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_Idempotency(0xc00014fd40) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/idempotency_test.go:108 +0x8fd testing.tRunner(0xc00014fd40, 0x980b20) /snap/go/10630/src/testing/testing.go:1689 +0x21f created by testing.(*T).Run in goroutine 1 /snap/go/10630/src/testing/testing.go:1742 +0x826 goroutine 912 [sync.Mutex.Lock, 8 minutes]: sync.runtime_SemacquireMutex(0xc0002b62a0?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc000112228) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc000112228) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc0002b62a0, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 909 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 913 [sync.Mutex.Lock, 7 minutes]: sync.runtime_SemacquireMutex(0xc00002a080?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc000112b58) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc000112b58) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc00002a080, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 1386 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 2932 [sync.Mutex.Lock, 4 minutes]: sync.runtime_SemacquireMutex(0xc00002a570?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc0001139e8) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc0001139e8) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc00002a570, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 2667 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 2670 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc00050e060) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 2668 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 3990 [select]: github.com/gofiber/fiber/v3/internal/storage/memory.(*Storage).gc(0xc000594d20) /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:112 +0x1c5 created by github.com/gofiber/fiber/v3/internal/storage/memory.New in goroutine 3596 /home/ubuntu/Desktop/git/v3-fiber/fiber/internal/storage/memory/memory.go:40 +0x24e goroutine 5139 [sync.Mutex.Lock]: sync.runtime_SemacquireMutex(0xc0005868b0?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc0002b5508) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc0002b5508) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc0005868b0, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 5088 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 1374 [sync.Mutex.Lock, 7 minutes]: sync.runtime_SemacquireMutex(0xc0006ac540?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc0002b48c8) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc0002b48c8) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc0006ac540, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 1371 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a goroutine 4431 [sync.Mutex.Lock, 1 minutes]: sync.runtime_SemacquireMutex(0xc0002a8ca0?, 0x0?, 0x0?) /snap/go/10630/src/runtime/sema.go:77 +0x25 sync.(*Mutex).lockSlow(0xc0005163b8) /snap/go/10630/src/sync/mutex.go:171 +0x213 sync.(*Mutex).Lock(0xc0005163b8) /snap/go/10630/src/sync/mutex.go:90 +0x55 github.com/gofiber/fiber/v3/middleware/idempotency.(*MemoryLock).Lock(0xc0002a8ca0, {0x9f2fd8, 0x1}) /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker.go:28 +0x11b github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock.func1() /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:28 +0xb5 created by github.com/gofiber/fiber/v3/middleware/idempotency_test.Test_MemoryLock in goroutine 4428 /home/ubuntu/Desktop/git/v3-fiber/fiber/middleware/idempotency/locker_test.go:25 +0x20a FAIL github.com/gofiber/fiber/v3/middleware/idempotency 600.021s === FAIL: middleware/idempotency Test_Idempotency (unknown) DONE 30372 tests, 25 skipped, 2 failures in 622.364s exit status 1 make: *** [Makefile:43: longtest] Error 1
git clone git@github.com:gofiber/fiber.git cd fiber/ make longtest
n/a
v3
@gaby If possible, provide Profiling ,Reference https://pkg.go.dev/cmd/go#hdr-Testing_flags
Bug Description
The recent changes to internal storage are causing sync.Mutex issues with idempotency middleware:
How to Reproduce
Expected Behavior
n/a
Fiber Version
v3
Checklist: