<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi everyone,<div><br></div><div>I'm writing an API server using the snap framework with the new snaplet infrastructure. In order to connect with the database, I'm using snaplet-hdbc, HDBC, HDBC-mysql. &nbsp;(I'm using InnoDB for storage engine so it can process transaction). &nbsp;Every query is wrapped in the function withTransaction' so I don't have to commit or rollback by hand. If there's a SqlError raised, I will catch it, log the error and return an error message to the client side. &nbsp;But when running the program, if there's a DB error, the process will be blocked and there's an error message: "&nbsp;thread blocked indefinitely in an STM transaction". There's no STM related code in my code. Do you have any idea on this error and how to process this?</div><div>Thanks.</div><div><br></div><div>Eric.</div><div><br></div></body></html>