Subject Lock conflict on no wait transaction
Author pungsven
Hi all,

I have developed an application in Delphi 5 that writes and gets data
from a Firebird 1.5 databse using IBX components.
Today all the apps suddenly stopped working.
In the firebird log I found the following:
COMUNIT2003 (Server) Thu Jul 07 11:24:05 2005
Database: E:\PROGRAM\DATALINK\CCASERVER\DB\CCA_DB.FDB
lock conflict on no wait transaction
deadlock
update conflicts with concurrent update
operation was cancelled
internal gds software consistency check (error during savepoint
backout (290))

I restarted the Firebird Guardian and then I got the following lines
in the log:
COMUNIT2003 (Client) Thu Jul 07 11:31:55 2005
C:\Program Files\Firebird\Firebird_1_5\bin\fbserver.exe: normal shutdown


COMUNIT2003 (Client) Thu Jul 07 11:31:55 2005
Control services error 1061

COMUNIT2003 (Client) Thu Jul 07 11:32:16 2005
Guardian starting: C:\Program
Files\Firebird\Firebird_1_5\bin\fbserver.exe

After this the apps started working again, but after a while they
started working very slow when they accessed the database.
I restarted the Guardian again and in the log I found the following:

COMUNIT2003 (Client) Thu Jul 07 12:00:26 2005
C:\Program Files\Firebird\Firebird_1_5\bin\fbserver.exe: normal shutdown


COMUNIT2003 (Server) Thu Jul 07 12:00:26 2005
The database E:\PROGRAM\DATALINK\CCASERVER\DB\CCA_DB.FDB was being
accessed when the server was shutdown

COMUNIT2003 (Server) Thu Jul 07 12:00:26 2005
Database: E:\PROGRAM\DATALINK\CCASERVER\DB\CCA_DB.FDB
internal gds software consistency check (Too many savepoints (287))

COMUNIT2003 (Client) Thu Jul 07 12:00:26 2005
Control services error 1061

COMUNIT2003 (Client) Thu Jul 07 12:00:31 2005
Guardian starting: C:\Program
Files\Firebird\Firebird_1_5\bin\fbserver.exe

I then ran the gfix with mend and it told that there was errors.
After that I made a backupfile using gbak -B. When the backup was
ready I restored the database from the backup file. Now everything is
working.

My question is what went wrong and how can I fix it?
I think it maybe has something to do with when one user edits a record
while another is reading it.

Thankful for any ideas.

BR
svenj