1 2 Previous Next 15 Replies Latest reply on Jun 16, 2015 8:57 AM by TSGal

    Filemaker pro adv. 13 slow startup when TMG firewall client installed

    ArmandDeVilliers

      Summary

      Filemaker pro adv. 13 slow startup when TMG firewall client installed

      Product

      FileMaker Pro

      Version

      13.3 13.4 13.5

      Operating system version

      windows 7, 8 , 32bit / 64bit

      Description of the issue

      HI all,

      Have been troubleshooting very slow startup times with Filemaker pro advanced 13 ( between 20-30 seconds).  Usual startup time for this pc is around 2-5 seconds.

      The slowdown begins when I install the Microsoft Forefront TMG client from : http://www.microsoft.com/en-nz/download/details.aspx?id=10504

      The proxy is configured to ignore TMG when accessing the servers IP range.  Even when disabling the TMG client completely, the slow startup continues.  It is not until I uninstall the TMG client when the Filemaker pro startup times return to normal.

      I have tested this with Filemaker 11 and Filemaker Pro 12 and these versions are unaffected by the TMG client.

      Operating systems affected are: Win 7 / 8 / 32 and 64 bit versions.

      Have tried FM Pro 13.3  .4 and .5

      Any solutions or workarounds available?

      Cheers

      Armand

      Steps to reproduce the problem

      install tmg client from
      http://www.microsoft.com/en-nz/download/details.aspx?id=10504
      after install, filemaker will take 20+seconds to start up

      Expected result

      startup time 2-3 seconds without TMG client

      Actual result

      20-30 seconds on I7 4770, SSD, 24GB RAM

      Exact text of any error message(s) that appear

      no error message

      Configuration information

      does not appear to be a problem on filemaker version 11, or 12

      Workaround

      uninstalling TMG client returns startup times to normal

        • 1. Re: Filemaker pro adv. 13 slow startup when TMG firewall client installed
          TSGal

          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.

          TSGal
          FileMaker, Inc.

          • 2. Re: Filemaker pro adv. 13 slow startup when TMG firewall client installed
            ArmandDeVilliers

            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.

            thanks

             

            • 3. Re: Filemaker pro adv. 13 slow startup when TMG firewall client installed
              TSGal

              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.

              TSGal
              FileMaker, Inc.

              • 4. Re: Filemaker pro adv. 13 slow startup when TMG firewall client installed
                ArmandDeVilliers

                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!!

                • 5. Re: Filemaker pro adv. 13 slow startup when TMG firewall client installed
                  ArmandDeVilliers

                  Hi there,

                  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.

                  Please advise.

                  cheers

                  armand

                   

                  • 6. Re: Filemaker pro adv. 13 slow startup when TMG firewall client installed
                    TSGal

                    Armand De Villiers:

                    One of our Support Technicians is also working with Kent from KAMAR on this issue.  No reply yet from Development.

                    TSGal
                    FileMaker, Inc.

                    • 7. Re: Filemaker pro adv. 13 slow startup when TMG firewall client installed
                      ChristophPeter

                      is there a solution for that Problem ?

                      i have still the Problem with filemaker pro 13v9 pro and advanced

                       

                      thank you for answer

                      • 8. Re: Filemaker pro adv. 13 slow startup when TMG firewall client installed
                        TSGal

                        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:

                        http://www.isaserver.org/articles-tutorials/configuration-general/Five-Dumb-Things-Admins-Do-with-TMG-Firewall.html

                        Send me a private message with the rules so I can forward them to Development.

                        TSGal
                        FileMaker, Inc.

                        • 9. Re: Filemaker pro adv. 13 slow startup when TMG firewall client installed
                          ChristophPeter

                          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)

                          • 10. Re: Filemaker pro adv. 13 slow startup when TMG firewall client installed
                            ChristophPeter

                            is there a possibility to set up a proxy-Server in filemaker pro 13 ?

                            • 11. Re: Filemaker pro adv. 13 slow startup when TMG firewall client installed
                              TSGal

                              Christoph Peter:

                              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.

                              TSGal
                              FileMaker, Inc.

                              • 12. Re: Filemaker pro adv. 13 slow startup when TMG firewall client installed
                                ChristophPeter

                                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:

                                 

                                0:002:x86> .lastevent

                                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)

                                    CheckSum:         005F7E72

                                    ImageSize:        005EF000

                                    File version:     13.0.9.27092

                                    Product version:  13.0.9.1

                                    File flags:       0 (Mask 3F)

                                    File OS:          4 Unknown Win32

                                    File type:        2.0 Dll

                                    File date:        00000000.00000000

                                    Translations:     0000.04b0

                                    CompanyName:      FileMaker, Inc.

                                    ProductName:      FileMaker

                                    InternalName:     FileMaker Database Engine Classes

                                    OriginalFilename: DBEngine.dll

                                    ProductVersion:   13.0

                                    FileVersion:      13.0v9

                                    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:-

                                 

                                http://msdn.microsoft.com/en-us/library/windows/desktop/ms682583(v=vs.85).aspx

                                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.

                                 

                                http://msdn.microsoft.com/en-US/library/ms172219(v=VS.80).aspx

                                 

                                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

                                • 13. Re: Filemaker pro adv. 13 slow startup when TMG firewall client installed
                                  ChristophPeter

                                  and a supportcase by filemaker is still open since a month

                                  i need a solution........

                                   

                                  thats frustrating

                                  • 14. Re: Filemaker pro adv. 13 slow startup when TMG firewall client installed
                                    TSGal

                                    Christoph Peter:

                                    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.

                                    TSGal
                                    FileMaker, Inc.

                                    1 2 Previous Next