Potential deadlock between RequestRoute and LightningChannel commitment state machine #9060
-
I believe I have discovered a potential deadlock situation, but I am relatively new to LND and wanted to discuss it before opening an issue, to be sure that I am not missing something. This is when using the bbolt backend database. In When updating the channel db, sometimes the database must be re-sized and re-mapped to memory using the This is all fine except that if one of the state machine functions is called while the node is trying to find a route a deadlock could occur. The For example: Thread2: ReceiveRevocation -> If anyone has experience in this area, please let me know if this is all correct and if I should open an issue. Thanks. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
Update: This appears to only be an issue if the graph cache is turned off. |
Beta Was this translation helpful? Give feedback.
-
Very good analysis, you are right and can open an issue, it probably did not happen because everyone is running with the GraphCache and the FreeList seems to be quite sufficient to not run often in this issue. However this should be fixed and we need to be careful in general to not keep a database transaction open for long. |
Beta Was this translation helpful? Give feedback.
Very good analysis, you are right and can open an issue, it probably did not happen because everyone is running with the GraphCache and the FreeList seems to be quite sufficient to not run often in this issue.
However this should be fixed and we need to be careful in general to not keep a database transaction open for long.