[twsocket] EnterCriticalSection(SslCritSect) called after Finalization calls DeleteCriticalSection(SslCritSect)

2013-05-11 Thread John Reid
We are using the ICS in an application that emails various entities (not spam). Recently, we ran into an issue where the application would not shut down properly. On some systems it simply persists and on others it reports that an error occurred and it needs to close. This is after it has

Re: [twsocket] EnterCriticalSection(SslCritSect) called afterFinalization calls DeleteCriticalSection(SslCritSect)

2013-05-11 Thread Arno Garrels
John Reid wrote: The Finalization section calls DeleteCriticalSection(SslCritSect). TComponent.DestroyComponent calls the destructor of all its components. Those destructors ultimately call UnloadSsl and this method uses EnterCriticalSection(SslCritSect) and

Re: [twsocket] EnterCriticalSection(SslCritSect) called after Finalization calls DeleteCriticalSection(SslCritSect)

2013-05-11 Thread Olivier Sannier
Hello, I've seen this happen with other component sets because the components as well. The situation triggering this is yet unclear to me, but it is a combination of putting the component on a form and letting the application delete it. It appears, but I'm not quite sure, that finalization of

Re: [twsocket] EnterCriticalSection(SslCritSect) called afterFinalization calls DeleteCriticalSection(SslCritSect)

2013-05-11 Thread John Reid
Thanks for the quick reply. There are no explicit threads in the application. I should have included that the app was written as a form app but we recently modified it to not display the form removing the Application.Run call in the DPR and executing a method instead:

Re: [twsocket] EnterCriticalSection(SslCritSect) called after Finalization calls DeleteCriticalSection(SslCritSect)

2013-05-11 Thread John Reid
Thanks for the quick reply. That is what would be my next step. I don't like it because this component set seems to be working fine and it is likely something I've done that broke it. On Sat, May 11, 2013 at 8:05 AM, Olivier Sannier obo...@free.fr wrote: Hello, I've seen this happen with

Re: [twsocket] EnterCriticalSection(SslCritSect) called afterFinalization calls DeleteCriticalSection(SslCritSect)

2013-05-11 Thread Arno Garrels
John Reid wrote: I should have included that the app was written as a form app but we recently modified it to not display the form removing the Application.Run call in the DPR and executing a method instead: Application.CreateForm(TForm1, Form1); Form1.RunApplication; //Application.Run;