// 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.
Caution: Windows 10 Fall Creators Update
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Caution: Windows 10 Fall Creators Update
Reported by Alaska:
Re: Caution: Windows 10 Fall Creators Update
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
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
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Caution: Windows 10 Fall Creators Update
Otto,
The underlying function is the same: hb_fsFindFirst() (also hb_fsFindNext() on Directory())
https://github.com/harbour/core/blob/ma ... rtl/file.c
https://github.com/harbour/core/blob/ma ... l/direct.c
but as Directory() has to work with more than one file, maybe that makes Windows process pending tasks
This is just a guess
The underlying function is the same: hb_fsFindFirst() (also hb_fsFindNext() on Directory())
https://github.com/harbour/core/blob/ma ... rtl/file.c
https://github.com/harbour/core/blob/ma ... l/direct.c
but as Directory() has to work with more than one file, maybe that makes Windows process pending tasks
This is just a guess
- Rick Lipkin
- Posts: 2397
- Joined: Fri Oct 07, 2005 1:50 pm
- Location: Columbia, South Carolina USA
Re: Caution: Windows 10 Fall Creators Update
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
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
- Giovany Vecchi
- Posts: 129
- Joined: Mon Jun 05, 2006 9:39 pm
- Location: Brasil
Re: Caution: Windows 10 Fall Creators Update
I also had problems in this case when I create temporary tables locally.
To solve the problem I had to invent a routine.
To solve the problem I had to invent a routine.
Code: Select all
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
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.
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.
Tim Stone
http://www.MasterLinkSoftware.com
timstone@masterlinksoftware.com
Using: FWH 19.06 with Harbour 3.2.0 / Microsoft Visual Studio Community 2019
http://www.MasterLinkSoftware.com
timstone@masterlinksoftware.com
Using: FWH 19.06 with Harbour 3.2.0 / Microsoft Visual Studio Community 2019
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: Caution: Windows 10 Fall Creators Update
Anyway, I didn't notice that problem so far...
EMG
- James Bott
- Posts: 4654
- Joined: Fri Nov 18, 2005 4:52 pm
- Location: San Diego, California, USA
- Contact:
Re: Caution: Windows 10 Fall Creators Update
Maybe doing a Sysrefresh() before the File() would be a workaround.
If that works, you could create your own file checking routine:
If that works, you could create your own file checking routine:
Code: Select all
function xfile()
Sysrefresh()
Return File()
FWH 18.05/xHarbour 1.2.3/BCC7/Windows 10
- Rick Lipkin
- Posts: 2397
- Joined: Fri Oct 07, 2005 1:50 pm
- Location: Columbia, South Carolina USA
Re: Caution: Windows 10 Fall Creators Update
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
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
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Caution: Windows 10 Fall Creators Update
James,
yes, very good ideaJames Bott wrote:Maybe doing a Sysrefresh() before the File() would be a workaround.
If that works, you could create your own file checking routine:
Code: Select all
function xfile() Sysrefresh() Return File()
Re: Caution: Windows 10 Fall Creators Update
Hello,
I found this post:
https://support.microsoft.com/en-us/hel ... rsion-1709
Maybe missing SMB is the problem.
Best regards,
Otto
I found this post:
https://support.microsoft.com/en-us/hel ... rsion-1709
Maybe missing SMB is the problem.
Best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************