problem: deadlock
gsovereignty opened this issue · 0 comments
gsovereignty commented
POTENTIAL DEADLOCK:
Previous place where the lock was grabbed
goroutine 5537812 lock 0x19941d8
scumclass/eventbucket/database.go:111 eventbucket.GetKind0 { currentState.mutex.Lock() } <<<<<
scumclass/eventbucket/database.go:110 eventbucket.GetKind0 { var events []nostr.Event }
messaging/eventers/eventers.go:119 eventers.handleSubscription { for _, author := range filter.Authors { }
Have been trying to lock it again for more than 30s
goroutine 3145 lock 0x19941d8
scumclass/eventbucket/handler.go:8 eventbucket.HandleEvent { currentState.mutex.Lock() } <<<<<
scumclass/eventbucket/handler.go:7 eventbucket.HandleEvent { func HandleEvent(event mindmachine.Event) (h mindmachine.HashSeq, b bool) { }
messaging/eventcatcher/eventcatcher.go:421 eventcatcher.SubscribeToAllEvents.func2 { if ok, _ := e.CheckSignature(); ok { }
2023-02-23 12:44:41 DEBUG => unexpected close of websocket
2023-02-23 12:46:58 DEBUG => failed to upgrade websocket
2023-02-23 12:50:21 DEBUG => failed to upgrade websocket
2023-02-23 12:50:21 DEBUG => failed to upgrade websocket
2023-02-23 12:50:21 DEBUG => failed to upgrade websocket
2023-02-23 12:50:22 INFO => sending event to router
2023-02-23 12:50:23 INFO => sending event to router
2023-02-23 12:50:27 DEBUG => unexpected close of websocket
2023-02-23 12:50:40 DEBUG => unexpected close of websocket
Here is what goroutine 5537812 doing now
goroutine 5537812 [runnable]:
mindmachine/scumclass/eventbucket.GetKind0({0xc34d1f94c0, 0x40})
/Users/gareth/stackerstan/mindmachine/scumclass/eventbucket/database.go:113 +0x152
mindmachine/messaging/eventers.handleSubscription({{0xc32e0e7e30, 0x1, 0x1}, 0xc34d1cf620, 0xc34d1cf680})
/Users/gareth/stackerstan/mindmachine/messaging/eventers/eventers.go:120 +0x5fb
created by mindmachine/messaging/eventers.startResponding
/Users/gareth/stackerstan/mindmachine/messaging/eventers/eventers.go:43 +0x289
Other goroutines holding locks:
goroutine 13158 lock 0xc1b376de90
consensus/messagepack/nostrMessagepacker.go:55 messagepack.StartBlock { } } <<<<<
consensus/messagepack/nostrMessagepacker.go:53 messagepack.StartBlock { if current.Height != 0 { }
messaging/eventcatcher/eventcatcher.go:667 eventcatcher.handleBlockHeader { messagepack.StartBlock(e) }
messaging/eventcatcher/eventcatcher.go:555 eventcatcher.startEventSubscription { } }