I am currently work on a complex system which uses Firebird 2.1 64bit super server. I have an old transaction, that has been active for more than 8 hours, and was wondering if there is anyway to find where this transaction was originated. Our system has 7 separate programs which access the database, so it's difficult to guess where this long transaction is coming from. I traced the transaction from the mon$transactions table and found the pid in the mon$attachments table, but the pid points to the Firebird Server itself and doesn't give me the remote pid (it's null in the table). So my question is if there is any way to find the process which originated this transaction, and if not how can I commit it or kill it?