FoxInCloud
Erro after inactivity
Gravatar is a globally recognized avatar based on your email address. Erro after inactivity
  Arcadio Bianco
  All
  Apr 30, 2019 @ 02:20pm

After a period of inactivity, the system displays an error when I click a button. The correct action would be to go back to the login screen. How to contour this problem?

The log show this message:

Processing Error - http://localhost/easyTest/DOMEvent.easy?&Event=click&ObjAddr=cad_ina_scx-button_padrao5&UserID=5GE10LST7&PageInit=&nReq=3

      Error:       1924
    Message: TOFORM is not an object.
       Code: 
    Program: propsrestore
    Line No:      12255
     Client: ::1
Post Buffer: &nKeyCode=&nButton=1&nShiftAltCtrl=0&nXcoord=809&nYcoord=13&nRow=115&nCol=960&lastKey=0&version=2.28.1-beta.6&sync=false&vpw=1408&vph=647&userID=5GE10LST7&reqID=1839_5H10SLVMO-001&nInet=0.000&nCli=0.009

Exception Handled by: Easyprocess.Error()

Gravatar is a globally recognized avatar based on your email address. re: Erro after inactivity
  FoxInCloud Support - Thierry N.
  Arcadio Bianco
  May 1, 2019 @ 03:33am

Hi Arcadio

Client timeOut

This happens when the server fails to respond within the timeOut defined by .requestTimeoutDev and .requestTimeoutProd in xxx.js. This is never due to a server-side error: when a server-side error occurs, the .error() method triggers, request processing stops and server sends back the error to the user.

This timeOut message occurs when server processing takes longer than what is defined in xxx.js; classic causes for that are:

  • very long processing like daily statistics, large reports, etc.
  • server waiting for some resource (eg. network) with a too long timeOut
  • in development, acting in the browser (eg. focusing on a control) while the application is not running
  • on shared production server, no CPU time available for your server (in this case, wc.dll reloads the COM server and adds an entry to 'dll error log' (/wc.wc?wwMaint~wcDLLErrorLog) such as:
2018-10-10 10:44:47:496   Web Connection Request timed out. - /tutotest/bs/MethExec.tuto?&MethAddr=InitControlsInet&ObjAddr=event_scx&UserID=&PageInit=true&nReq=1 - 0
2018-10-10 10:45:12:105   RPC Server Unavailable (Invoke): Attempting to Reload Server... - /tutotest/bs/DOMEvent.tuto?&Event=focus&ObjAddr=event_scx-pgf-pag1-txt&UserID=&PageInit=&nReq=3&Value=%27%27&ValueType=string - 0
2018-10-10 10:45:12:105   COM Server Timed out - Next line releases - 1413

The correct action would be to go back to the login screen

By implementing .customErrorMsgHeader() and .customErrorMsgBody() in xxx.js, you can alter the message presented to the user. However you can't define a callback when user presses the OK button on the 'message box'. This would require an evolution.

Error "TOFORM is not an object"

This error occurs because the requested form is no longer instantiated; most likely reason is a missing dodefault() in form.release() code.

Gravatar is a globally recognized avatar based on your email address. re: Erro after inactivity
  Arcadio Bianco
  FoxInCloud Support - Thierry N.
  May 1, 2019 @ 09:31am

I was testing with an old source code to test the handles. I was really missing DODEFAULT () in that source code. Do you think this timeout problem is something I have to worry about in the production application? If a refresh is done in the browser theoretically everything would work again, am I correct?

Gravatar is a globally recognized avatar based on your email address. re: Erro after inactivity
  FoxInCloud Support - Thierry N.
  Arcadio Bianco
  May 2, 2019 @ 12:28am

Hi Arcadio,

Do you think this timeout problem is something I have to worry about in the production application?

no unless you fall in the cases I mentioned earlier

However we could translate the various messages into your users' language (Portuguese) if you wish.

If a refresh is done in the browser theoretically everything would work again, am I correct?

no

navigating to home page does not change the server's state, it just executes another request. Quite different from a desktop behavior.

Gravatar is a globally recognized avatar based on your email address. re: Erro after inactivity
  Arcadio Bianco
  Arcadio Bianco
  May 2, 2019 @ 06:22am
2019-05-2 00:07:56:152   COM Server Timed out - Next line releases - 1413
2019-05-2 00:07:57:160   Forced Release of Server - 183
2019-05-2 00:07:57:160   COM Server Timed out - Next line releases - 183
2019-05-2 00:07:58:167   Forced Release of Server - 183
2019-05-2 00:08:00:168   Web Connection Request timed out. - /easyTest/gridMethod.easy?&MethAddr=wAfterRowChange&ObjAddr=cad_ina_scx-grid_padrao1&UserID=5GN14SW17&PageInit=&nReq=21&ValueType=number&Value=4 - 0
2019-05-2 00:08:02:168   Web Connection Request timed out. - /easyTest/gridMethod.easy?&MethAddr=wAfterRowChange&ObjAddr=cad_ina_scx-grid_padrao1&UserID=5GE10LST7&PageInit=&nReq=24&ValueType=number&Value=3 - 0
2019-05-2 00:09:22:330   RPC Server Unavailable (Invoke): Attempting to Reload Server... - /easyTest/index.easy? - 0
2019-05-2 00:10:55:050   Web Connection Request timed out. - /easyTest/DOMEvent.easy?&Event=click&ObjAddr=cad_ina_scx-button_padrao4&UserID=5GN14SW17&PageInit=&nReq=22 - 0
2019-05-2 00:10:57:051   Web Connection Request timed out. - /easyTest/DOMEvent.easy?&Event=click&ObjAddr=cad_ina_scx-button_padrao4&UserID=5GE10LST7&PageInit=&nReq=25 - 0

The errors that appear in the WC log are those.

Gravatar is a globally recognized avatar based on your email address. re: Erro after inactivity
  Arcadio Bianco
  Arcadio Bianco
  May 3, 2019 @ 10:13am

This problem only occurs if I leave a modal window open in the browser. If it is on the main screen of the timeout message and return to the main screen without any error.

Gravatar is a globally recognized avatar based on your email address. re: Erro after inactivity
  FoxInCloud Support - Thierry N.
  Arcadio Bianco
  May 5, 2019 @ 03:29am

The errors that appear in the WC log are those

All the errors you report occur on cad_ina.scx.

Could you post the response times for this form from the FoxInCloud Web App Dashboard? /easyTest/foxincloud-status.easy?tab=Forms#cad_ina_scx

Maybe we can identify some bottleneck in the Form or in FoxInCloud code.

Note: Web Connection Request timed out means that the server has taken more time than the timeout defined in <site>/bin/wc.ini

Gravatar is a globally recognized avatar based on your email address. re: Erro after inactivity
  FoxInCloud Support - Thierry N.
  Arcadio Bianco
  May 5, 2019 @ 03:33am

This problem only occurs if I leave a modal window open in the browser

I see no relation between the modality of the form and the error you relate. The FoxInCloud Server treats all forms equally, the only difference is how it renders in the browser.

Bottom line is that all user requests are stateless: restore state, execute request, save state, respond UI updates back; all the same regardless of the form modality.

Gravatar is a globally recognized avatar based on your email address. re: Erro after inactivity
  Arcadio Bianco
  re: Erro after inactivity
  May 5, 2019 @ 05:45am

I was able to solve the problem in the following way. When the exe is released on the server and it is reopened, some objects were not being recreated, I able to handle it now. Now the biggest problem is that the cursors fill by the Cursor Adapter in the form load are being closed when the exe is released on the server and are not being recreated. I got it to be done a fill in init of form if the cursor is closed i do fill, I do not know if it is the best solution but it is working perfectly.

Bellow my init form code


    IF !USED("CRMOTINA")
        .de_padrao.camotina.Cursorfill() 
    ENDIF 	

    IF !USED("CRPARAM")
        .de_padrao.caparam.Cursorfill()
    ENDIF 	

    .de_padrao.caparam.Cursorrefresh()
    .de_padrao.camotina.CursorRefresh()
Gravatar is a globally recognized avatar based on your email address. re: Erro after inactivity
  FoxInCloud Support - Thierry N.
  Arcadio Bianco
  May 5, 2019 @ 06:29am

OK, we'll double check why the cursor is not automatically re-filled in that case

Anyway, you need to remove all app pool recycling like illustrated below (in French)

Gravatar is a globally recognized avatar based on your email address. re: Erro after inactivity
  Arcadio Bianco
  FoxInCloud Support - Thierry N.
  May 5, 2019 @ 07:38am

Thanks for the IIS tip, and I'm hoping to verify why the cursor is closing when the exe is released

© 1996-2024