hang whilst comparing files at 120,554 count

Discuss new features and functions
Posts: 7
Joined: 1 Jun 2019

clach04

Using 64-bit Windows (8.1) with FreeFileSync version 10.12 the compare stage freezes/hangs/stalls consistently when comparing the 120,554th file.

It is a compare of time and size, mirror style sync. The source is a Samba share and the destination is a local USB external.

It will stall on either the remote filename or the local filename.

I downloaded a bunch of different versions and 10.1 does NOT have this problem. The problem starts with 10.2.

I even tried installing version 9.6 (ended up binary chopping to narrow down on the problem version)

Once hung, nothing can be done. Issuing a cancel does appear to work in that it claims "Stop requested" but then ends up not responding.

At first I thought it was long path/filename related (was often stuck on a file path with length 174 characters/bytes), however one time it was on a much shorter length but the file count was 120,554

Any other information I can provide on this?

Version 10.1 seems to work pretty well, and not only did the compare work but I was able to sync up the files too.

I'm impressed with ease of use and the documentation/FAQ website information.
User avatar
Site Admin
Posts: 7210
Joined: 9 Dec 2007

Zenju

And this hang is permanent? If you send me a Process Explorer dump file, I can see at which operation the hang occurs, and we can continue from there:
https://freefilesync.org/faq.php#crash
Posts: 7
Joined: 1 Jun 2019

clach04

Yes permanent hang, 100% reproducible each time with versions 10.2-10.12. The help/about menu won't come up and I tried leaving it for over an hour just in case.

I sent you an email with dump info.

Let me know if you need anything else.
User avatar
Site Admin
Posts: 7210
Joined: 9 Dec 2007

Zenju

FreeFileSync is waiting for the FindNextFile() system call while in folder
\\192.168.11.199\Public\bunch_a_books\Calibre Library_2_maybe
The last file it found was:
Bennett, Jenna
Maybe you can send me a second dump file, then it'll be clear if the hang occurs for the same folder. BTW when it hangs, can you manually access the network share?
User avatar
Site Admin
Posts: 7210
Joined: 9 Dec 2007

Zenju

Here's a test version that implements the FFS 10.2 traversal API (which is only slightly different from the later versions). Does this "fix" the hang on your network share?
https://www.mediafire.com/file/hak3kjzojhes44b/FreeFileSync_10.13_%5BBeta%5D_Windows_Setup.exe

Edit: Above should be "FFS 10.1 traversal API".
Posts: 7
Joined: 1 Jun 2019

clach04

BTW when it hangs, can you manually access the network share? Zenju, 05 Jun 2019, 15:56
It's *not* always the same folder/file.

Yes I can access the share. I've also seen hangs on the local usb drive file name being displayed at the top of the screen.
Posts: 7
Joined: 1 Jun 2019

clach04

Here's a test version that implements the FFS 10.2 traversal API (which is only slightly different from the later versions). Does this "fix" the hang on your network share?
https://www.mediafire.com/file/hak3kjzojhes44b/FreeFileSync_10.13_%5BBeta%5D_Windows_Setup.exe Zenju, 05 Jun 2019, 16:08
I was not hopeful that this test build would work as I saw the problem with version 10.2 (and not with 10.1). However I'm delighted to report a couple of successful compares with 10.13beta :-) What ever you did seems to have addressed this!

I still have problems versions installed so I can get additional dumps if that is helpful.
User avatar
Site Admin
Posts: 7210
Joined: 9 Dec 2007

Zenju

This looks like another buggy network file system implemenation, it's just not clear which parameter is triggering it. Can you test with the following two versions and see which one (if any) hangs, assuming that you can still reproduce the hang with the regular FFS 10.12:
FreeFileSync 10.13 Beta Setup: Variant 1 - FIND_FIRST_EX_LARGE_FETCH
FreeFileSync 10.13 Beta Setup: Variant 2 - FindExInfoBasic
Posts: 7
Joined: 1 Jun 2019

clach04

-Large fetch works fine
- FindExInfoBasic / skip-altname fails (same filecount, different file/path-name)

I've sent you a dump.
Posts: 7
Joined: 1 Jun 2019

clach04

not sure if this is helpful, reading https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ne-minwinbase-findex_info_levels
FindExInfoBasic
...
Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported until Windows Server 2008 R2 and Windows 7.
Whilst FFS is on Windows 8.1, the share is a samba share (embedded device, no upgrades available). My guess it that's an old SMB version/protocol and may be tripping on that?
User avatar
Site Admin
Posts: 7210
Joined: 9 Dec 2007

Zenju

Interesting, the SMB devices responds with a hang upon request for FileFullDirectoryInformation (as requested by FindExInfoBasic), but does so only for the particular folder \\192.168.11.199\Public\bunch_a_books\Calibre Library_2_maybe, as again shown in your latest .dmp file for "FreeFileSync 10.13 Beta Setup: Variant 2 - FindExInfoBasic".
The more convential "FileBothDirectoryInformation" (set up via FindExInfoStandard) OTOH does not lead to a hang.

The performance difference between these variants is marginal (FindExInfoBasic skips returning cAlternateFileName), so we'll go with FIND_FIRST_EX_LARGE_FETCH only for the next FFS release, which is the more impactful optimization anyway.
Posts: 7
Joined: 1 Jun 2019

clach04

Final beta works great!

Off topic - I ended up playing with the parallel options, gained about a minute, cut compare times by almost a third :-) Very sweet.