Daniel_Davila Posted October 11, 2023 Share Posted October 11, 2023 We are facing a very serious issue regarding the use of UniGui with Hyperserver and IIS. At some point, our clients are experiencing an error, primarily an Access Violation, which we are trying to identify the cause of because it doesn't happen all the time. So far, we haven't been able to replicate it in our internal testing environment, but it occurs more than once a day at our client's sites, and we currently have more than 20 clients with this problem. If an error occurs at any point when releasing a session due to closing the browser or a timeout, the node of the system running on Hyperserver goes into a "Suspended" state. In the Hyperserver log, the following message is recorded: [SendCommand Error, Node: 0]: Read timed out [Node #0]: Node Status request timed out. Node purged. As a result, the suspended node disconnects all logged-in users and starts a new instance. However, it was coming up with the same HTTP port, causing lockups in the new instance. We have already fixed this situation by configuring Hyperserver, but the problem of the node in Hyperserver remaining suspended persists. We need clarification from the UniGui team to identify what could cause the node in Hyperserver to be suspended in this manner. We are using: UNIGUI 1563 in the system and Hyperserver. Windows Server 2019. Delphi 10.2. In the ServerModule, the AsyncMode option is not enabled in ISAPIOptions. And the IIS configuration was done according to the manual: https://www.unigui.com/doc/online_help/index.html?hyperserver-isapi-module-mode.htm Quote Link to comment Share on other sites More sharing options...
Sherzod Posted October 11, 2023 Share Posted October 11, 2023 Hello, Do you use third party components? Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted October 11, 2023 Administrators Share Posted October 11, 2023 Hi, Also make sure below setting is done correctly: https://www.unigui.com/doc/online_help/hyperserver-isapi-module-mode.htm Quote Link to comment Share on other sites More sharing options...
Daniel_Davila Posted October 11, 2023 Author Share Posted October 11, 2023 24 minutes ago, Sherzod said: Hello, Do you use third party components? Yes, Devart Unidac,. Quote Link to comment Share on other sites More sharing options...
Daniel_Davila Posted October 11, 2023 Author Share Posted October 11, 2023 1 minute ago, Farshad Mohajeri said: Hi, Also make sure below setting is done correctly: https://www.unigui.com/doc/online_help/hyperserver-isapi-module-mode.htm The configuration has always been like that. Quote Link to comment Share on other sites More sharing options...
Daniel_Davila Posted October 11, 2023 Author Share Posted October 11, 2023 3 minutes ago, Farshad Mohajeri said: Hi, Also make sure below setting is done correctly: https://www.unigui.com/doc/online_help/hyperserver-isapi-module-mode.htm The problem occurs sometimes when an error occurs during session timeout, such as when the user closes the Chrome tab or the browser. It happens occasionally, but not every day. Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted October 11, 2023 Administrators Share Posted October 11, 2023 2 minutes ago, Daniel_Davila said: The problem occurs sometimes when an error occurs during session timeout, such as when the user closes the Chrome tab or the browser. It happens occasionally, but not every day. The fact that HyperServer can not terminate the suspended Node is a serious issue. Normally HyperServer should be able to terminate Node regardless of its state. Can you also check this: https://www.unigui.com/doc/online_help/using-a-different-account-for-.htm Quote Link to comment Share on other sites More sharing options...
Daniel_Davila Posted October 11, 2023 Author Share Posted October 11, 2023 6 minutes ago, Farshad Mohajeri said: The fact that HyperServer can not terminate the suspended Node is a serious issue. Normally HyperServer should be able to terminate Node regardless of its state. Can you also check this: https://www.unigui.com/doc/online_help/using-a-different-account-for-.htm We have done this. Quote Link to comment Share on other sites More sharing options...
Daniel_Davila Posted October 11, 2023 Author Share Posted October 11, 2023 IDSSaude.exe: 00000D70: 15:59:15 [::1]:Exception raised while destroying session: Access violation at address 0000000000407B76 in module 'IDSSaude.exe'. Write of address 0000000005C55370 IDSSaude.exe: 00000D70: 15:59:15 [Exception-ServerModule]:EXCEPTION - UnAssigned MainModule(Access violation at address 0000000000407B76 in module 'IDSSaude.exe'. Write of address 0000000005C55370) IDSSaude.exe: 00000D70: 15:59:15 [::1]:EAccessViolation : Access violation at address 0000000000407B76 in module 'IDSSaude.exe'. Write of address 0000000005C55370 : Addr: $0000000000407B76 This error freeze the server module and caused the suspended node. We are addressing the issue of the access violation error occurring, but should an exception in the server module freeze the entire node like this? I believe not. Is there a way to work around this to prevent the ServerModule from freezing in this manner? Quote Link to comment Share on other sites More sharing options...
Tokay Posted October 12, 2023 Share Posted October 12, 2023 14 hours ago, Daniel_Davila said: IDSSaude.exe: 00000D70: 15:59:15 [::1]:Exception raised while destroying session: Access violation at address 0000000000407B76 in module 'IDSSaude.exe'. Write of address 0000000005C55370 IDSSaude.exe: 00000D70: 15:59:15 [Exception-ServerModule]:EXCEPTION - UnAssigned MainModule(Access violation at address 0000000000407B76 in module 'IDSSaude.exe'. Write of address 0000000005C55370) IDSSaude.exe: 00000D70: 15:59:15 [::1]:EAccessViolation : Access violation at address 0000000000407B76 in module 'IDSSaude.exe'. Write of address 0000000005C55370 : Addr: $0000000000407B76 This error freeze the server module and caused the suspended node. We are addressing the issue of the access violation error occurring, but should an exception in the server module freeze the entire node like this? I believe not. Is there a way to work around this to prevent the ServerModule from freezing in this manner? Anyway AVs are the serious issues and must be fixed. Quote Link to comment Share on other sites More sharing options...
Daniel_Davila Posted October 13, 2023 Author Share Posted October 13, 2023 @Farshad Mohajeri With EurekaLog, when the browser is closed and a session times out, we capture this error. The error only occurs in Delphi and UniGUI source codes. My question is whether this exception is truly an error in UniGUI or if it is something caused by our source code. I've attached the Eurekalog file. IDSSaude_DES-0086_20231011165520.el Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted October 13, 2023 Administrators Share Posted October 13, 2023 36 minutes ago, Daniel_Davila said: @Farshad Mohajeri With EurekaLog, when the browser is closed and a session times out, we capture this error. The error only occurs in Delphi and UniGUI source codes. My question is whether this exception is truly an error in UniGUI or if it is something caused by our source code. I've attached the Eurekalog file. IDSSaude_DES-0086_20231011165520.el 86.51 kB · 0 downloads Apparently, issue occurs in your code or as a side effect from your code. I recommend simplifying your code asn avoid dynamic destruction of objects as much as possible. 1 Quote Link to comment Share on other sites More sharing options...
Daniel_Davila Posted October 13, 2023 Author Share Posted October 13, 2023 2 minutes ago, Farshad Mohajeri said: Apparently, issue occurs in your code or as a side effect from your code. I recommend simplifying your code asn avoid dynamic destruction of objects as much as possible. Is it possible to add some form of 'observer' to prevent the server module from crashing? Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted October 13, 2023 Administrators Share Posted October 13, 2023 When there is memory corruption there is no way to prevent app from crashing. 1 Quote Link to comment Share on other sites More sharing options...
Daniel_Davila Posted October 13, 2023 Author Share Posted October 13, 2023 I will find the cause and post it here, just to keep the solution for other users Quote Link to comment Share on other sites More sharing options...
Daniel_Davila Posted October 16, 2023 Author Share Posted October 16, 2023 Update for future users: After making the adjustments in IIS that Farshad recommended and properly handling the access violation occurring in the application, the issue of the suspended node ceased to occur. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.