Deadlock. Update conflicts with concurrent update.
This happens when your transaction tries to update or delete a record that some other transaction updated or deleted. This is a normal event in database world and your application should be ready to deal with it.
This 'problem' is quite easy to reproduce, so you can play with it. Just open two isql sessions, run the same update query and then try to commit both transactions.
Please note that this problem is not always easy to debug, as there might be stored procedures or triggers involved that run the update on some table at certain time. If you find such hard to catch problem, adding some logging of queries via external tables (which are outside transaction control) might help.
If you designed your system in such way that deadlocks happen often, consider using NO WAIT transactions, so that you get the error instantly instead of waiting for deadlock timeout.
If you perceive deadlock as a problem you cannot solve, look into selecting a different isolation modes for transactions in your application.