Jump to content

Stability issues


adragan

Recommended Posts

Hi,

 

I am experiencing a lot of stability issues after upgrading to 0.99.10.1176

Apache 2.2.222 complains every 2 hours with no meaningfull error message but continues to go on:

It definitively crashes after 2-3 days.

 

[Tue Jun 16 09:05:23 2015] [warn] [client 192.168.100.98] ISAPI: HSE_STATUS_ERROR result from HttpExtensionProc(): D:/webapps/web_crm/crm.dll, referer: http://192.168.100.8/crm/crm.dll

 

Very clear , isn't it ?

 

I stuffed the application with messages and the only interesting thing I get is :

 

........................................................

00001A3C: 17:05:31 [TUniGUIServerModule.HandleException]:EAccessViolation : Access violation at address 4559599F in module 'crm.dll'. Read of address 00000090
00001A3C: 17:05:31 []:EUniSessionException : Invalid session or session Timeout.
00001420: 17:05:31 [TUniGUIServerModule.HandleException]:EAccessViolation : Access violation at address 4559599F in module 'crm.dll'. Read of address 00000090
crm: 00001420: 17:05:31 []:EUniSessionException : Invalid session or session Timeout.

 

It's interesting that different IP-s make "Access violation" at the same memory address in spite of the fact that they are

supposed to be working in different threads.

 

............................................................................

Messages from UniServerModule.OnException

............................................................................

 

crm: 000018C8: 20:24:56 []:-------------------------------------------------------------------------
crm: 000018C8: 20:24:56 []:Server Exception  ->16.06.2015 20:24:56 IP : 192.168.100.122 Mesaj -> Event:celldblclick, Object: O171B not found in session list. It could be timed out, refresh page and try again <
crm: 000018C8: 20:24:56 []:-------------------------------------------------------------------------
crm: 000018C8: 20:24:56 [ [192.168.100.122]]:UniErrorException : Event:celldblclick, Object: O171B not found in session list. It could be timed out, refresh page and try again
crm: 00000150: 20:24:57 []:-------------------------------------------------------------------------
crm: 00000150: 20:24:57 []:Server Exception  ->16.06.2015 20:24:57 IP : 192.168.100.122 Mesaj -> Event:cellclick, Object: O171B not found in session list. It could be timed out, refresh page and try again <
crm: 00000150: 20:24:57 []:-------------------------------------------------------------------------
crm: 00000150: 20:24:57 [ [192.168.100.122]]:UniErrorException : Event:cellclick, Object: O171B not found in session list. It could be timed out, refresh page and try again
crm: 00000150: 20:25:00 [192.168.100.122]:Failure Recovery: Sequence Recover: 1775
...........................................................................................................................................................

 

I increase the session timeout every time it tries to timeout ( according to the demo ).

So either objects "disappear" or session really expires in spite of my settings.

I also have the feeling that one can write anything in UniServer.SessionTimeout, session expires at a random point in time !

I specifically setted SessionTimeout to 1 hour and it expired in 2 minutes !

 

From what I analised it seems that I have a scenario like this :

 

1. Agent gets a call and has the screen open in front of him

2. Agent starts discution with customer ( 5 - 10 min ).

3. Session expires on server but agent has no ideea because the screen is the same .

4. Agent clicks something on the screen.

5. Server does not find the specific object, goes in sharing violation and maybe generates some memory leaks.

6. After some time server crashes when too much memory is either allocated or tries to rewrite over some blocked blocks.

 

N.B

App works over LAN. 30-60 users at most. Win 2008 R2.

No RichText objects used. No Global Variables. No non-threadsafe function used .No threads other than the

ones managed by UniGui. No pointers.

I can't run debugger in production environment.
 

Any ideeas ?

 

Link to comment
Share on other sites

  • Administrators

 

It's interesting that different IP-s make "Access violation" at the same memory address in spite of the fact that they are

supposed to be working in different threads.

 

 

AV happens in a certain method in "code" which is a static memory location.

 

 

1. Agent gets a call and has the screen open in front of him

2. Agent starts discution with customer ( 5 - 10 min ).

3. Session expires on server but agent has no ideea because the screen is the same .

4. Agent clicks something on the screen.

5. Server does not find the specific object, goes in sharing violation and maybe generates some memory leaks.

6. After some time server crashes when too much memory is either allocated or tries to rewrite over some blocked blocks.

 

 

It can not be the case. When a session is timed out uniGUI properly cleans session's workspace. 

Link to comment
Share on other sites

  • 3 weeks later...

After a lot of testing the problem was not UniGui but the combination Apache 2.2.22 and Windows 2008.

It seems that there is some difference between how Apache handles sockets and what Windows does.

Anyway this increased the stability of my production system :

 

in httpd.conf add the following directives :

 

EnableMMAP off
EnableSendfile off

 

in httpd-mpm.conf do the following things :

 

<IfModule mpm_winnt_module>
    Win32DisableAcceptEx
    ThreadStackSize  4194304             // Fershad says it is not necessary. It's up to you !
    ThreadsPerChild      256                 // Same    
    MaxRequestsPerChild    0
</IfModule>
 

These solutions were on the net and, at least in my case, worked quite fine.

The Apache server does not restart every 1-2 hours any more.

For another "flavor" of Apache it's another ballgame but I don't have the nerves to start again.

 

 

Have fun !

  • Upvote 1
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...