Caution: Windows 10 Fall Creators Update

Caution: Windows 10 Fall Creators Update

Postby Antonio Linares » Mon Feb 05, 2018 3:35 am

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.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 35350
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Caution: Windows 10 Fall Creators Update

Postby Otto » Mon Feb 05, 2018 8:39 am

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
User avatar
Otto
 
Posts: 3301
Joined: Fri Oct 07, 2005 7:07 pm

Re: Caution: Windows 10 Fall Creators Update

Postby Antonio Linares » Mon Feb 05, 2018 10:16 am

Otto,

The underlying function is the same: hb_fsFindFirst() (also hb_fsFindNext() on Directory())

https://github.com/harbour/core/blob/master/src/rtl/file.c
https://github.com/harbour/core/blob/master/src/rtl/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
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 35350
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Caution: Windows 10 Fall Creators Update

Postby Rick Lipkin » Mon Feb 05, 2018 3:05 pm

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
User avatar
Rick Lipkin
 
Posts: 2164
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: Caution: Windows 10 Fall Creators Update

Postby Giovany Vecchi » Mon Feb 05, 2018 5:11 pm

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 view

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
 
Giovany Vecchi
 
Posts: 69
Joined: Mon Jun 05, 2006 9:39 pm
Location: Brasil

Re: Caution: Windows 10 Fall Creators Update

Postby TimStone » Mon Feb 05, 2018 5:23 pm

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.
Tim Stone
http://www.MasterLinkSoftware.com
tim@gtstone.com
Using: FWH 16.11 with Harbour 3 / Microsoft Visual Studio Pro 2015
User avatar
TimStone
 
Posts: 2174
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA


Re: Caution: Windows 10 Fall Creators Update

Postby James Bott » Mon Feb 05, 2018 7:12 pm

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  Expand view
function xfile()
   Sysrefresh()
Return File()
FWH 16.02/xHarbour 1.2.3/BCC7/Windows 10
User avatar
James Bott
 
Posts: 4335
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA

Re: Caution: Windows 10 Fall Creators Update

Postby Rick Lipkin » Mon Feb 05, 2018 9:00 pm

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
User avatar
Rick Lipkin
 
Posts: 2164
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: Caution: Windows 10 Fall Creators Update

Postby Antonio Linares » Tue Feb 06, 2018 6:59 am

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:

Code: Select all  Expand view
function xfile()
   Sysrefresh()
Return File()


yes, very good idea
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 35350
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Caution: Windows 10 Fall Creators Update

Postby Otto » Thu Feb 22, 2018 4:59 pm

Hello,
I found this post:

https://support.microsoft.com/en-us/hel ... rsion-1709

Maybe missing SMB is the problem.

Best regards,
Otto
User avatar
Otto
 
Posts: 3301
Joined: Fri Oct 07, 2005 7:07 pm


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], ukoenig and 6 guests