Page 1 of 1
Caution: Windows 10 Fall Creators Update
Posted: Mon Feb 05, 2018 3:35 am
by Antonio Linares
Reported by Alaska:
// Caution: Windows 10 Fall Creators Update
Our final tests with Windows 10 Version 1709 (Fall Creators Update) revealed timing issues with the
local file system, which may lead to changed application behavior as well as application runtime
errors. In fact, all coding patterns which first delete a file on the local storage and then assume
the file is gone may fail. This is valid for all programming languages used as the behaviour is
introduced on the Windows API/file-system level. In other words, an FErase( "test.dbf" ) may lead to
File( "test.dbf" ) == .T. in some but not all cases.
With that finding in mind we can not recommend updating production systems right now to Windows 10
Fall Creators Update.
Re: Caution: Windows 10 Fall Creators Update
Posted: Mon Feb 05, 2018 8:39 am
by Otto
Dear Antonio,
I noticed such behaviour with SMB2 as well.
I am not sure but I think Directory() gives better result than file.
Is this technically possible or are the underlying function the same?
Thanks in advance
Otto
Re: Caution: Windows 10 Fall Creators Update
Posted: Mon Feb 05, 2018 10:16 am
by Antonio Linares
Otto,
The underlying function is the same: hb_fsFindFirst() (also hb_fsFindNext() on Directory())
https://github.com/harbour/core/blob/master/src/rtl/file.chttps://github.com/harbour/core/blob/master/src/rtl/direct.cbut as Directory() has to work with more than one file, maybe that makes Windows process pending tasks
This is just a guess
Re: Caution: Windows 10 Fall Creators Update
Posted: Mon Feb 05, 2018 3:05 pm
by Rick Lipkin
Antonio, Otto
Unfortunately .. the Fall Creator has been rolled out to almost everyone in the US .. and as you know, there is no way you can really stop the updates in Windows 10 ..
I see many customers walk into the repair shop with the 'spinning wheel of death' 9 out of 10 times due to the Fall Creator update fails for some reason. Also with the Intel and AMD 'meltdown' and 'specter' vulnerabilities .. we have seen 3 ( count um ) 3 January Windows 10 Cumulative security roll ups.... where one roll-up fixes that last roll-up.
In my opinion .. Microsoft is it's own worst 'virus' and needs to be slapped with a class action law suit' to stop updates without your consent ... no one should be allowed to update your computer without your permission.
As far as the confirmation of deletions ... I generally have one folder in my app for temp file creation and I always wipe all the files in that folder every time anyone logs into my systems .. just in case of a run-time error leaves clutter in the TempFile folder or I forget to ( rarely ) clean up after myself.
Rick Lipkin
Re: Caution: Windows 10 Fall Creators Update
Posted: Mon Feb 05, 2018 5:11 pm
by Giovany Vecchi
I also had problems in this case when I create temporary tables locally.
To solve the problem I had to invent a routine.
Code: Select all | Expand
FUNCTION TAds_TableErase(f_nConnection,f_cTableName)
Local oDs_Qry, lExecute := .F., iFor := 0
Default f_nConnection := tAds_GetConnectionDefault()
If HB_ISNIL(st_lExeTableErase)
st_lExeTableErase := .F.
EndIf
For iFor := 1 to 50
if st_lExeTableErase
hb_idleSleep(.02)
Else
Exit
EndIf
Next
st_lExeTableErase := .T.
If !TAds_TableExist(f_nConnection,f_cTableName)
TADS_LOGFILE("tAdsError.log",{"TAds_TableErase - TAds_TableExist() / Incorrect erase / Table not exist: "+;
f_cTableName +" Con: "+Alltrim(Str(f_nConnection)), ProcName(1)+" ("+AllTrim(Str(ProcLine(1)))+")"})
st_lExeTableErase := .F.
Return .T.
EndIf
If f_nConnection == 121 // Temporary Table local // error in Windows 10
For iFor := 1 to 50
AdsConnection(tAds_GetConnectionHandle(121))
lExecute := AdsDDRemoveTable(f_cTableName,.T.)
If lExecute
Exit
Else
TADS_LOGFILE("tAdsError.log",{"iFor = "+Alltrim(Str(iFor))+" Con: "+AllTrim(Str(121)),;
"TAds_TableErase - AdsDDRemoveTable / Not Remove table: "+f_cTableName, ProcName(1)+" ("+AllTrim(Str(ProcLine(1)))+")"})
hb_idleSleep(.1)
EndIf
Next
AdsConnection(tAds_GetConnectionDefault())
Else
oDs_Qry := tAds():DsNew(2,f_nConnection)
oDs_Qry:cQrySql := "DROP TABLE "+f_cTableName+" FROM DATABASE ;"
lExecute := oDs_Qry:DsExecute()
oDs_Qry:End()
EndIf
If f_nConnection == 121 // Temporary Table local
For iFor := 1 to 80
fErase(tAds_GetPathTemp()+f_cTableName+".adt")
fErase(tAds_GetPathTemp()+".adi")
fErase(tAds_GetPathTemp()+f_cTableName+".adm")
If !File(tAds_GetPathTemp()+f_cTableName+".adt")
Exit
Else
hb_idleSleep(.1)
EndIf
Next
If File(tAds_GetPathTemp()+f_cTableName+".adt")
TADS_LOGFILE("tAdsError.log",{"TAds_TableErase() - Not fErase "+f_cTableName, ProcName(1)+" ("+AllTrim(Str(ProcLine(1)))+")"})
EndIf
EndIf
RETURN lExecute
Re: Caution: Windows 10 Fall Creators Update
Posted: Mon Feb 05, 2018 5:23 pm
by TimStone
When Satya Nadella took over as CEO, he established the "freedom to create" philosophy and shared it with all Microsoft staff ( in a memo later made public ). It places an emphasis on ideas and creative exploration rather than the stability of products, and their use in the "real world."
I expressed my concerns at the time ( directly to him by email which he did read, and to which he responded ), followed by specific reports to his assistant. In some cases, I worked with the administrative team for months following up on bugs in their own hardware ( Surface ), and specific software issues. In most cases, the programming engineers will do little or nothing to fix the mistakes they have made.
Microsoft support has fallen apart. It is mostly scripted responses to input that often do not at all relate to the actual problems reported. My clients are growing very frustrated with these updates. Every time they happen overnight, the networking doesn't work. They get no real notifications. Instead they are learning to down all computers, and then bring them back up to complete the updates, and return ( hopefully ) to operation.
I share this because we are all experiencing issues. I would like to encourage you to send an email with your concerns directly to Satya Nadella. Maybe enough input will get him to return some focus to quality control on a product most of the world's computers depend on to operate essential services and businesses.
Re: Caution: Windows 10 Fall Creators Update
Posted: Mon Feb 05, 2018 6:34 pm
by Enrico Maria Giordano

Anyway, I didn't notice that problem so far...
EMG
Re: Caution: Windows 10 Fall Creators Update
Posted: Mon Feb 05, 2018 7:12 pm
by James Bott
Maybe doing a Sysrefresh() before the File() would be a workaround.
If that works, you could create your own file checking routine:
Re: Caution: Windows 10 Fall Creators Update
Posted: Mon Feb 05, 2018 9:00 pm
by Rick Lipkin
To All
Just my 2 cents worth ( again ) .... sounds like a latency hard disk write problem ... whether it be on a network or a local drive.... unfortunately not everyone can afford a solid state drive .... there is basically zero latency with disk writes and I have a SSD and not seen the problem on my machine.
Rick Lipkin
Re: Caution: Windows 10 Fall Creators Update
Posted: Tue Feb 06, 2018 6:59 am
by Antonio Linares
James,
James Bott wrote:Maybe doing a Sysrefresh() before the File() would be a workaround.
If that works, you could create your own file checking routine:
yes, very good idea
Re: Caution: Windows 10 Fall Creators Update
Posted: Thu Feb 22, 2018 4:59 pm
by Otto
Hello,
I found this post:
https://support.microsoft.com/en-us/hel ... rsion-1709Maybe missing SMB is the problem.
Best regards,
Otto