Jump to content

Application crash/timeout with "worker process 'xxxx' failed to stop a listener channel for protocol 'http'"


Wicket

Recommended Posts

Hi Guys,

 

Hoping someone can give me a little bit of help with a application crash/timeout using IIS. The below works fine using stand-alone deployment - this is only an issue in my production IIS environment. ekkkk (please help)

 

This is reproducible every time I do the same operation - which is using a component to export a dataset to excel (the component is EMS Advanced data export)

 

All I do is call execute on this component to take what I have in the dataset (5 records) and output it to excel. 

I have one modal form - with the export component and a grid - all code is local to the form, apart from the dataset which is located on a datamodule.

 

This application has EnableSynchronousOperations := true;

I am using SSL https

 

1.All records are outputted correctly to the excel file (xlsx) and the file exist where I expect on the file system. It opens perfectly well.

2.As soon as the .execute method is called, I immediately call  UniSession.SendFile(_FilePath, ExtractFileName(_FilePath)); This also excutes and allows me to "download" the xlsx and the contents is fine.

3.It is at his point the application becomes unresponsive, I call modalresult := mrok on the form and nothing happens.

 

This is the error I am getting from windows event viewer - 

 

A worker process '3856' serving application pool 'AppPool' failed to stop a listener channel for protocol 'http' in the allotted time.  The data field contains the error number.
Event ID = 5138 (strange as I am using https, not http)
 
I can also see this event 
A process serving application pool 'AppPool' exceeded time limits during shut down. The process id was '3856'.
Event ID = 5013
 
UniGUI log shows nothing
 
It seems to just crash/timeout the session/instance of the application, not the server - once i hit refresh I can log back into the application. (obviously the issue will occur again if I try to export) 
 
Here are my IIS settings (should be exactly the same as per instructions from the deployment guide)
 
 
 
Delphi 10.1 Berlin
Unigui Complete 1.0.0.1420
 
Thanks for any help, Dan.
Link to comment
Share on other sites

Swapped out the export component, and replaced with TMS FlexCell, ran a quick test and no crash/timeout on exporting from a dataset. This obviously means the EMS export component is doing something that the ISAPI module doesn't like.

I haven't got the time to debug and need a working solution fast so this is the best option for me currently.

 

If any does have any ideas please still post as I would eventually like to know why this was caused.

 

Thanks, Dan.

Link to comment
Share on other sites

Mostly this has to do with a component who use OLE Objects internaly.

 

In ServerModule try AutoCoInitialize := true;

 

Alternatively you can do this:

Coinitialize(nil);
try
  //Do your stuff here..
finally
  CoUninitialize;
end;

 

You have to add WinAPI.ActiveX to your "uses" section.

 

 

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...