FFS 64bit Failure on Server 2008 - Important

Get help for specific problems
Posts: 100
Joined: 14 Feb 2015

volker01

Hello Zenju,
i have a Problem with FreeFileSync, installed on a Server 2008 (standard) (not R2).
FreefileSync starts only in 32bit!
(Taskmanager: FreeFilesSync.exe *32 and FreeFileSync_Win32.exe *32 Tasks)
Tested on two 2008 Servers, so it seems it is not a local problem.
FreeFileSync-Version 8.2
Can you help?

On this Server i have to mirror more than 3,5 Mio. Files and FFS crashes.
On the Desktop i have following file(s):
FreeFileSync_Win32.exe v8.2 CrashDump 2016-06-27 172144.dmp with 0 byte.

Volker01
User avatar
Site Admin
Posts: 7099
Joined: 9 Dec 2007

Zenju

Server 2008 corresponds to Vista which does not support the AVX2 instructions contained in 64-bit executables, therefore FFS falls back to 32-bit, even though Server 2008 is a 64-bit OS.

About the crash: Can you try to create a dump file manually?
https://freefilesync.org/faq.php#crash
Posts: 100
Joined: 14 Feb 2015

volker01

Hello Zenju,
i have reproduced the failure and sent the dump-file to you.
User avatar
Site Admin
Posts: 7099
Joined: 9 Dec 2007

Zenju

The problem is that the 32-bit FFS is exhausting the 2 GB address space that 32-bit applications have on a 64-bit OS due to the size of the work load. The normal solution would be to use the 64-bit executable instead, but since this is not possible on Server 2008, the next best work around is to strip down the sync job into two smaller tasks that run one after another (e.g. using the file exclusion filter).
Posts: 17
Joined: 30 Mar 2011

drivetheory

Couldn't Zenju fix this?

/LARGEADDRESSAWARE
https://msdn.microsoft.com/en-us/library/wz223b1z.aspx

but you could try the following in the mean time:
1. Download & install NTCore Explorer Suite
http://www.ntcore.com/exsuite.php
2. BACKUP original "FreeFileSync_Win32.exe" file!
3. Open the "FreeFileSync_Win32.exe" file in CFF Explorer
4. Choose NT headers -> File Header
5. Click the Characteristics Meaning field.
6. Checkmark "App can handle >2gb address space"
7. Click OK
8. Save file
User avatar
Site Admin
Posts: 7099
Joined: 9 Dec 2007

Zenju

Couldn't Zenju fix this?
/LARGEADDRESSAWARE
https://msdn.microsoft.com/en-us/library/wz223b1z.aspx drivetheory
FreeFileSync's code does not make any assumptions about the highest bit in pointers, but what about the libraries that FFS is using? Who knows. The real solution is to use 64-bit. Obviously Microsoft thinks that Windows Vista x64 (and Server 2008) are too old to support, otherwise they would not have their compiler emit assembly instructions unsupported on these systems.
Posts: 17
Joined: 30 Mar 2011

drivetheory

you've probably already seen this but none the less
https://software.intel.com/en-us/articles/performance-tools-for-software-developers-intel-compiler-options-for-sse-generation-and-processor-specific-optimizations/

FFS when launched from "\FreeFileSync.exe" does indeed spawn child process "\Bin\FreeFileSync_Win32.exe" on Windows Vista (x64) as you stated previously.

HOWEVER, manually executing "\Bin\FreeFileSync_x64.exe" works perfectly fine on Vista as the screenshot shows below.

Image
Posts: 100
Joined: 14 Feb 2015

volker01

i can't overlook any side effects, i'm not a programmer.
This Server is too important for experiments.
So i decided to make more separate ffs-tasks.
Who is the limit? The RAM who uses FFS? (4GB-Limit), other?
Are there problems expected, when FFS 32bit using VSS, etc...
Thank you.
User avatar
Site Admin
Posts: 7099
Joined: 9 Dec 2007

Zenju

Who is the limit? The RAM who uses FFS? (4GB-Limit), other?volker01
2 GB as mentioned above.
Are there problems expected, when FFS 32bit using VSS, etc...volker01
VSS won't work from a 32-bit process on a 64-bit OS.
HOWEVER, manually executing "\Bin\FreeFileSync_x64.exe" works perfectly fine on Vista as the screenshot shows belowdrivetheory
Okay, but sooner or later the process will probably crash or hang, so use it at your own risk and don't send me crash dumps.
Posts: 100
Joined: 14 Feb 2015

volker01

... "VSS won't work from a 32-bit process on a 64-bit OS."
Ok, then, in such constellation, this option should not be activatable in ffs,
and write an Info in ffs-Log ...

... "Who is the limit?"
Ok, but ffs should not crash, and wait for user-activity to terminate ffs.
When running ffs in batch-mode this is not useful.
(Running ffs as non interaktiv task, the crashed ffs never stopps, and the next task never start ...)
Better: ffs recognize itselv that it comes to his limit and ends in a regular way,
agin with an info in the log-file ...
When starting ffs, user cannot recognize if ffs reaches the limit or not.

volker01