Page 2 of 2

Re: Problem with alaska 1.90.355, and stops

Posted: Sat Jun 23, 2018 4:42 pm
by digitsoft
the disc is 100% of its use when the system hangs up and I do not understand why this is happening.

Re: Problem with alaska 1.90.355, and stops

Posted: Sat Jun 23, 2018 5:51 pm
by Auge_Ohr
digitsoft wrote:I am using SQLExpress with Postgress
perhaps you find something in PostgreSQL Log

Code: Select all

x:\Program Files\PostgreSQL\10.4\data\pg_log\
---
on some PC i notice when upgrade 1709 -> 1803 that Energy-Save-Setting was reset.
so have a look that Network Card does not use Energy-Save-Setting.

Re: Problem with alaska 1.90.355, and stops

Posted: Sun Jun 24, 2018 3:34 am
by digitsoft
Thank this is not problem


Auge_Ohr wrote:
digitsoft wrote:I am using SQLExpress with Postgress
perhaps you find something in PostgreSQL Log

Code: Select all

x:\Program Files\PostgreSQL\10.4\data\pg_log\
---
on some PC i notice when upgrade 1709 -> 1803 that Energy-Save-Setting was reset.
so have a look that Network Card does not use Energy-Save-Setting.

Re: Problem with alaska 1.90.355, and stops

Posted: Mon Jun 25, 2018 6:29 am
by digitsoft
hello Roger
how to activate the debugger to see all the processes that I am doing and see where the problem is.

rdonnay wrote:Tom is right. Probably your CPU is hitting 100%.

This can be caused mostly by DO WHILE or FOR NEXT loops that are doing processing in another thread.
If you have this situation in your program, you should always put a Sleep(.1) in the loop.

Other than that, I don't have any ideas.
Maybe it's a network that isn't responding.

Re: Problem with alaska 1.90.355, and stops

Posted: Mon Jun 25, 2018 9:37 am
by rdonnay
how to activate the debugger to see all the processes that I am doing and see where the problem is.
You can try calling DC_InspectThreads().

I have seen slowing occasionally by the Garbage Collector thread.
This can happen if you are re-creating a large array in a loop.

Example:

DO WHILE .t.

aDir := Directory()

nFound := AScan(aDir,{|a|a[1] == 'SHUTDOWN.TXT'})
IF nFound > 0
QUIT
ENDIF

ENDDO

The above code will make the garbage collector work overtime. This is because each time you store the Directory() info to the aDir variable it creates a new array pointer. The previous array pointer is thrown into the garbage.
The garbage collector thread will then release that pointer and its contents from memory. If you put a long sleep in the DO..WHILE loop, it will release processing time to other threads, including the garbage collector so it can keep up.