Icon View Incident Report

Serious Serious
Reported By: Phillip Percival
Reported On: 6/10/2004
For: Version 4.08 Build 1
# 1760 Shutting Down Database Server Listening Sockets in Delphi 6 and 7 Sometimes Causes AV

I've noticed that shutting down the TDBISAMengine generates non-critical AV's occassionally.

On a shutdown I call
TDBISAMengine.StopAdminServer;
TDBISAMengine.StopMainServer;
TDBISAMengine.Active := FALSE;

Is there something I should do to wait for the TServerSocketThreads (admin and data servers no doubt) behind this component to terminate properly... it would appear that after these calls the TServerSocketThread is still executing because of WaitingForConnection(.. -1). WaitingForConnect(.., -1) finally returns when the main application thread is destroyed but returns to
a non-existent application space. This doesn't happen all the time but when it does and the application is running as a service we get Dr Watsons or "application debug or terminate" dialogs under XP.


Comments Comments
For 4.09 we've switched from using the sockets.pas unit for Delphi 6 and 7 to using the scktcomp.pas unit for Delphi 6 and 7. Kylix 2 and 3 still use the sockets.pas unit, but the shipped unit with those versions does not have as many problems with Linux sockets.


Resolution Resolution
Fixed Problem on 6/11/2004 in version 4.09 build 1
Image