Armand De Villiers:
Thank you for your post.
I noticed this issue was already reported by you, and the information has been sent to Development and Testing for review. When more information becomes available, you will be notified.
Hi - its been over 2 weeks - could I please get an official answer as to what the problem is and if it is likely to be fixed or not? I need to implement another solution if filemaker is not going to address this issue.
Armand De Villiers:
Testing and Development are still investigating, but the main issue is that Microsoft Forefront TMG is a network router, firewall, antivirus program, VPN server and web cache. It works by inspecting all network traffic that passes through it, so it is going to slow things down. There were some security features added to FileMaker Pro 13 that affects network traffic, and this is why the issue is noticeable with TMG enabled.
I'll let you know when more information becomes available.
Hi, yes I am aware what TMG is, but what it does not do is slow anything down except for Filemaker 13, which apparently checks installation keys with the filemaker servers every time the application starts up. That's not much of a "feature" its a pain for everyone using filemaker 13!!
Can I please check if filemaker has addressed this problem yet? It's a real issue for us and there are discussions happening to drop KAMAR / Filemaker as a software solution because of this.
Armand De Villiers:
One of our Support Technicians is also working with Kent from KAMAR on this issue. No reply yet from Development.
is there a solution for that Problem ?
i have still the Problem with filemaker pro 13v9 pro and advanced
thank you for answer
Armand De Villiers:
Development has installed a TMG client in house, and they have asked for your rules so they can replicate your environment to determine where the issue lies.
Doing an internet search for "TMG slowdown client" revealed a lot of hits. For instance:
Send me a private message with the rules so I can forward them to Development.
I have tested now a lot, so it is not depend of configuration, i can disable tmg-Client (the function is really disable) and the problem is still there
if i Monitoring the traffic in tmg-Server there is nothing (with or without tmg-Client) during the start with filemaker
if i deinstall the tmg Client filemaker pro 13 started in 3-5 seconds, there must be a conflict or something like that (timeout)
is there a possibility to set up a proxy-Server in filemaker pro 13 ?
Are you trying to set up FileMaker Pro on a proxy server? Or, are you accessing a database file on a proxy server?
You can set up FileMaker Pro on a proxy server, but only one person would be able to access it at a time. The second person to access it would get an error message that it is already in use.
so i have forced a support-case by Microsoft, here ist the answer:
Short story – one of the components of Filemaker () looks to be behaving badly and causing a deadlock when the Firewall Client (FWC) loads.
The FWC has a hard-coded (20 seconds) timeout to protect against this but this is not configurable. We advise you to open a support case with the Filemaker Pro 13 to get this fixed.
Long story follows:-
What we have is a DLL (DBEngine.dll) that is making Winsock calls during its initialization. Winsock then loads the FWC and after the FWC DLL loads it then needs to initialize various things including creating a configuration monitoring thread.
Creating a new thread requires access to the DLL loader lock which is already held due to the fact that the problematic DLL is being loaded.
When a DLL is being loaded it should not be carrying out any significant code during its load code precisely to avoid loader lock deadlocks.
Our suspicions is that the following component (DBEngine.dll) is making the below winsock call during its initialisation and while it might only be exposed with the FWC installed this would really need addressing by the developed of this dll:
Last event: e3c.4a4: Break instruction exception - code 80000003 (first/second chance not available)
debugger time: Mon Jun 1 09:47:45.413 2015 (UTC + 2:00)
0:002:x86> !mex.t -t 0x4a4
DbgID ThreadID User Kernel Create Time (UTC)
0 4a4 (0n1188) 46ms 62ms 06.01.2015 07:33:29.373
# Child-SP Return Call Site Info Source
0 0112ec50 767014ab ntdll_777a0000!NtWaitForSingleObject+0x15
1 0112ec58 75e21194 KERNELBASE!WaitForSingleObjectEx+0x98
2 0112ecc4 75e21148 kernel32!WaitForSingleObjectExImplementation+0x75
3 0112ecdc 74b84033 kernel32!WaitForSingleObject+0x12
4 0112ecf0 74b83206 FwcWsp!CWspGlobalConfig::InitializePhaseB+0x165
5 0112ed10 74b8e446 FwcWsp!EnterWspApi+0x51
6 0112ed2c 76063d70 FwcWsp!WSPSocket+0x67
7 0112efe4 76063f0e ws2_32!WSASocketW+0xe6
8 0112f048 71cbd14e ws2_32!socket+0x73
9 0112f070 71d4ef7e DBEngine!Draco::IPAddress::GetAddressList+0x8e
a 0112f2a4 71d03fb8 DBEngine!antlr3ExceptionNew+0x3cc2e
b 0112f2c0 71d04089 DBEngine!Draco::IPv6Address::SetAddress+0x45c28
c 0112f2e4 71d04019 DBEngine!Draco::IPv6Address::SetAddress+0x45cf9
d 0112f328 777d8d04 DBEngine!Draco::IPv6Address::SetAddress+0x45c89
e 0112f33c 777dc23d ntdll_777a0000!zzz_AsmCodeRange_End
f 0112f35c 777e6d90 ntdll_777a0000!LdrpRunInitializeRoutines+0x26f
10 0112f450 777e584d ntdll_777a0000!LdrpInitializeProcess+0x1400
11 0112f5d0 777d9239 ntdll_777a0000!_LdrpInitialize+0x78
12 0112f620 00000000 ntdll_777a0000!LdrInitializeThunk+0x10
Here are the details of the DBEngine module:
start end module name
719b0000 71f9f000 DBEngine DBEngine.dll
Loaded symbol image file: DBEngine.dll
Symbol file: DBEngine.dll
Image path: C:\Program Files (x86)\FileMaker\FileMaker Pro 13\DBEngine.dll
Browse all global symbols functions data
Timestamp: Tue Jan 13 09:16:27 2015 (54B4D45B)
File version: 18.104.22.168092
Product version: 22.214.171.124
File flags: 0 (Mask 3F)
File OS: 4 Unknown Win32
File type: 2.0 Dll
File date: 00000000.00000000
CompanyName: FileMaker, Inc.
InternalName: FileMaker Database Engine Classes
FileDescription: FileMaker Database Engine Classes
LegalCopyright: (c) FileMaker, Inc. 1998-2015
The following MSDN articles clearly explain why such behaviour is bad and should be avoided:-
The entry-point function should perform only simple initialization or termination tasks. It must not call the LoadLibrary or LoadLibraryEx function (or a function that calls these functions), because this may create dependency loops in the DLL load order. This can result in a DLL being used before the system has executed its initialization code. Similarly, the entry-point function must not call the FreeLibrary function (or a function that calls FreeLibrary) during process termination, because this can result in a DLL being used after the system has executed its termination code.
Because Kernel32.dll is guaranteed to be loaded in the process address space when the entry-point function is called, calling functions in Kernel32.dll does not result in the DLL being used before its initialization code has been executed. Therefore, the entry-point function can call functions in Kernel32.dll that do not load other DLLs. For example, DllMain can create synchronization objects such as critical sections and mutexes, and use TLS. Unfortunately, there is not a comprehensive list of safe functions in Kernel32.dll.
Calling functions that require DLLs other than Kernel32.dll may result in problems that are difficult to diagnose. For example, calling User, Shell, and COM functions can cause access violation errors, because some functions load other system components. Conversely, calling functions such as these during termination can cause access violation errors because the corresponding component may already have been unloaded or uninitialized.
Because DLL notifications are serialized, entry-point functions should not attempt to communicate with other threads or processes. Deadlocks may occur as a result.
The most common failure when executing code inside the operating system's loader lock is that threads will deadlock when attempting to call other Win32 functions that also require the loader lock.
Unfortunately the timeout (see Short story) we are hitting is hard-coded at 20 seconds so there is nothing we can do to tune this.
So our suggestions would be to engage with the developers of the component and provide them our analysis for their comment and feedback
and a supportcase by filemaker is still open since a month
i need a solution........
Thank for the additional information.
I found your case, and we have been working with Isabella Metzner in our European office who replied to you earlier today.