Daniel Kochmański on Nostr: I've found a deadlock in #ecl synchronized hash table. It was hard to reproduce, but ...
I've found a deadlock in #ecl synchronized hash table. It was hard to reproduce, but I've finally found out what is the cause:
When we set the hash, the hash table may need to be rehashed (duh), and that operation also calls SETHASH, taking the lock that is already taken.
#lisp
Published at
2024-10-29 09:02:57Event JSON
{
"id": "f4f2fb15f475269fd4cf21dc8d899bc7f0cb4ec3b9b90470b189947c39dac6e8",
"pubkey": "e7fece44b25aa2e80b95927197d0e56c65108ddb3a563735b29470cf8a7f2d85",
"created_at": 1730192577,
"kind": 1,
"tags": [
[
"t",
"ecl"
],
[
"t",
"lisp"
],
[
"proxy",
"https://functional.cafe/users/jackdaniel/statuses/113389900750918776",
"activitypub"
]
],
"content": "I've found a deadlock in #ecl synchronized hash table. It was hard to reproduce, but I've finally found out what is the cause:\n\nWhen we set the hash, the hash table may need to be rehashed (duh), and that operation also calls SETHASH, taking the lock that is already taken.\n\n#lisp",
"sig": "15d16cebf3ac7e68e18363be74ef53d3b685d8bb015b243fde81108ab24a17533a28948c32dcf113fb10916969ba9317be4363925bc872328e5a799680d1e060"
}