Forum Discussion

grilledcheez_21's avatar
grilledcheez_21
Icon for Nimbostratus rankNimbostratus
Oct 16, 2015

TCP Monitors causing issues.

Hello,

 

We have this application that is pretty old. We installed it and configured it on new servers and trying to load balance with the F5.

 

With the TCP monitor, we are getting errors in the application log, but the monitoring is working fine. However, it is filling the logs up.

 

 Authentication failed because the remote party has closed the transport stream. 

This has happened in other applications and sometimes I can switch to tcp_half_open monitor and that fixes the problem. However, with this application, when I switched to tcp_half_open the Application restarted itself. It takes about 10 minutes to restart, and then it would come up for a moment and then restart itself again. This was the error being seen when it started back up.

 

Application: PRTasS.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Net.Sockets.SocketException
Stack:
  at System.Net.Sockets.Socket.EndAccept(Byte[] ByRef, Int32 ByRef, System.IAsyncResult)
  at System.Net.Sockets.Socket.EndAccept(System.IAsyncResult)
 at System.Net.Sockets.TcpListener.EndAcceptTcpClient(System.IAsyncResult)
  at FunctionalBlocks.SslTcpServer.AcceptCallback(System.IAsyncResult)
  at System.Net.LazyAsyncResult.Complete(IntPtr)
  at System.Net.ContextAwareResult.CompleteCallback(System.Object)
  at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext,            
System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback,    System.Object, Boolean)
  at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback,     System.Object)
   at System.Net.ContextAwareResult.Complete(IntPtr)
   at System.Net.LazyAsyncResult.ProtectedInvokeCallback(System.Object, IntPtr)
  at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32, UInt32,            
  System.Threading.NativeOverlapped*)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32,        
   System.Threading.NativeOverlapped*)

Apparently, this was a run-time .Net error:

 

Faulting application name: PRTasS.exe, version: 2.0.0.0, time stamp: 0x56211abf
Faulting module name: KERNELBASE.dll, version: 6.3.9600.17415, time stamp: 0x54504ade
Exception code: 0xe0434352
Fault offset: 0x00014598
Faulting process id: 0x34cc
Faulting application start time: 0x01d108464427e0af
Faulting application path: E:\PRTS\2015-07-19 PRT Server WService\PRTasS.exe
Faulting module path: C:\Windows\SYSTEM32\KERNELBASE.dll
Report Id: b2718827-743a-11e5-80dc-f8c2881afa55
Faulting package full name: 
Faulting package-relative application ID:

Is there anyway I can customize a monitor or is there another monitor I could use that would monitor the app without causing this mayhem?

 

Is there anything else I could to fix this? Thoughts/Suggestions???

 

Thanks.

 

2 Replies

  • First thing you need to know is what is considered a good connection to the application. Perhaps run a tcpdump/packet capture of a few good flows. Based off the capture you may be able to construct a custom monitor.

     

    tcp half open shouldn't cause your app to restart unless it can't handle socket attempts with no relevant payload to the protocol its using.

     

  • Hamish's avatar
    Hamish
    Icon for Cirrocumulus rankCirrocumulus

    Agree with jgranieri above that a 'well written' app shouldn't care about the half open connection... However often things aren't perfect... (Famous last words).

     

    Do you have access to the developers? Support? Or is the protocol used documented? If so (And it's not an F5 supported protocol like HTTP, FIX etc), then I'd suggest writing a custom monitor (e.g. in perl) and using that to actually connect, authenticate and perform something that the app recognises as legitimate.

     

    H