=============================================================================== Application Name : PGFServer.exe Memory manager : msvcrt.dll Compiler Version : Delphi: 33 Indy Version : 10.6.2.0 Zeos Version : 7.3.1-beta Report Unique ID : {AE2E784B-C747-42DF-A6C5-1775E0764E8C} Start Time : 2020-09-24 15:03:17.913 Exception Time : 2020-09-24 15:04:21.575 Application up time : 1 minute 3 seconds 662 milliseconds =============================================================================== Processor : eMachines, eMachines G640, AMD64 Family 16 Model 6 Stepping 3, AMD Athlon(tm) II P320 Dual-Core Processor, 2.095 GHz System : Windows 10 (Version 10.0, Build 19041, 64-bit Edition) Display : 1680x1050 pixels, 96 bpp Total Physical Memory : 5.748 GB Free Physical Memory : 2.575 GB Max used Memory : 103.332 MB =============================================================================== Exception class : EAccessViolation Access violation at address 775820C3 in module 'ntdll.dll'. Write of address 00000014 Exception trigger : UnhandledException ------------------------------------------------------------------------------- Module : Command Line : D:\Applications-Folder\PGFServer\PGFServer.exe Procedure : Unknown function at RtlDllShutdownInProgress ------------------------------------------------------------------------------- [775820C3] Unknown function at RtlDllShutdownInProgress + $A3 [00AF7C43] ZPlainFirebird.IReferenceCounted.Release (Line 4090, "ZPlainFirebird.pas" + 1) + $4 [00B06BFF] ZDbcFirebirdStatement.TZAbstractFirebirdStatement.WriteLobBuffer (Line 825, "ZDbcFirebirdStatement.pas" + 24) + $3 [00B221D9] ZDbcFirebirdInterbase.TZAbstractFirebirdInterbasePreparedStatement.SetPAnsiChar (Line 4347, "ZDbcFirebirdInterbase.pas" + 25) + $D [00B22E02] ZDbcFirebirdInterbase.TZAbstractFirebirdInterbasePreparedStatement.SetUnicodeString (Line 4720, "ZDbcFirebirdInterbase.pas" + 7) + $F [00BF7022] ZDatasetUtils.SetStatementParam (Line 1745, "ZDatasetUtils.pas" + 67) + $14 [00BE2454] ZAbstractRODataset.TZAbstractRODataset.SetStatementParams (Line 2289, "ZAbstractRODataset.pas" + 35) + $8 [00BE4AA2] ZAbstractRODataset.TZAbstractRODataset.ExecSQL (Line 3278, "ZAbstractRODataset.pas" + 14) + $35 [00BFFE43] uDB.TEmbedStatement.ExecuteScript (Line 520, "uDB.pas" + 32) + $5 [00C07FAF] uDB.generic_tb_update (Line 1913, "uDB.pas" + 22) + $2 [00C07A0F] uDB.tb_find (Line 1811, "uDB.pas" + 8) + $24 [00C080F6] uDB.tb_add (Line 1930, "uDB.pas" + 2) + $2 [00D7326E] uSocket.TExTCPServer.AddToSysLog (Line 996, "uSocket.pas" + 12) + $A [00D6F9AB] uSocket.TExTCPServer.SetActive (Line 332, "uSocket.pas" + 6) + $10 [00E4E564] uServer.TMainForm.ControllerStart (Line 514, "uServer.pas" + 48) + $D [00C17389] uMainForm.TUForm.SafeActivate (Line 1288, "uMainForm.pas" + 10) + $14 [00C17BBE] uMainForm.TUForm.WndProc (Line 1521, "uMainForm.pas" + 5) + $3 [00577148] Vcl.Controls.TWinControl.MainWndProc + $2C [004DBBA8] System.Classes.StdWndProc + $14 [0063DC6F] Vcl.Forms.TApplication.ProcessMessage + $F3 [0063DCB2] Vcl.Forms.TApplication.HandleMessage + $A [0063DFE5] Vcl.Forms.TApplication.Run + $C9 [00E94A05] PGFServer.PGFServer (Line 22, "" + 5) + $7
Hi Hafedh, which revion are you using? JFYI: [R6837]https://sourceforge.net/p/zeoslib/tickets/447/) might fix the issue if your application did some other updates before. Is it the case?
Regards, Michael
Hello,
Please note that the revision is set to: 6846.
Best regards.
Hello Hafedh,
what's your firebird version? Please update and give me a reply, i closed a possible regression: [R6848]https://sourceforge.net/p/zeoslib/code-0/6848/).
Best regards, Michael
Hi Michael,
I use FireBird 4.0.0.2200
Best regards.
Hello Michael,
I think I have found the cause. The Firebird API IBlob.close() releases the Intf on success. The final release() call is executed on a dead instance. Attaching patch.
Best regards,
Joe
@ Hafedh, i appied the patch of Joe (a bit different) .
So can you please update and report?
@Joe, thanks for the patch again. Just a note from me: Don't catch exceptions and reraise them again. A finally is enough. Reraising just makes sence if you want to copy the Exction into another Exception-Type. The generated code is twice slower.
Regards, Michael
Patch applied.
Problem fixed.
Best regards.
Thanks for the quick reply.
Closed, Michael