7 Replies Latest reply on May 26, 2017 7:50 AM by TSGal

    FMP16 Crashing on Layout Changes

    biggady

      Hi. Since upgrading a few of our clients to FMP16 and FMP16A we are experiencing a fair few crashes when layout button's are clicked that trigger scripts where the first step is a layout change.

       

      Product and version FileMaker Pro 16.0.1 and FileMaker Pro 16.0.1 Advanced

      OS and version Mac OS Sierra 10.12.5 (and 10.12.4)

      Browser and version (for WebDirect only)

      Hardware Various including i7 MacMini, i7 iMac and 2012 MacPro

      Description Sometimes when a button is pressed that triggers a script involving a layout change Filemaker will instantly crash. It is not always the same button or script, or indeed going to the same layout. This is a solution that has been developed for several years now and this issue has never been experienced in any of the previous Filemaker versions.

      How to replicate With difficulty - the crashes appear to happen randomly and probably only happen something like one out of a hundred times.

      Workaround Haven't found one yet.

        • 1. Re: FMP16 Crashing on Layout Changes
          TSGal

          biggady:

           

          Thank you for your post.

           

          When you do crash, are there any Layout script triggers?  Do you notice if you are moving from a List layout to a Form layout?

           

          Please post one of the crash reports up to, and including, the crashed thread.  This will help determine what part of the code is causing FileMaker Pro to crash.

           

          TSGal

          FileMaker, Inc

          • 2. Re: FMP16 Crashing on Layout Changes
            biggady

            Hi TSGal

             

            Cheers for the reply.

             

            The crash seems to happen when going to a list layout but not necessarily exclusively from a form layout - some times it will crash when going from list to list.

             

            There is a common script that occurs on exit layouts that I use to record the navigation history. The script essentially sets 3 variables - layout number, record number and active layout object name (if it's not empty). It also has a blank install on timer script to clear any that are present.

             

            Crash report is as below;

             

            Process:               FileMaker Pro [982]

            Path:                  /Applications/FileMaker Pro 16 Advanced/FileMaker Pro Advanced.app/Contents/MacOS/FileMaker Pro

            Identifier:            com.filemaker.client.advanced12

            Version:               16.0.1 (16.0.1)

            Code Type:             X86-64 (Native)

            Parent Process:        ??? [1]

            Responsible:           FileMaker Pro [982]

            User ID:               501

             

             

            Date/Time:             2017-05-22 14:28:44.889 +0100

            OS Version:            Mac OS X 10.12.4 (16E195)

            Report Version:        12

            Anonymous UUID:        3A9CFF09-5371-8D4B-8CC8-65E14DD89CE0

             

             

            Sleep/Wake UUID:       A6A60242-4295-4FC8-94EC-CCA9807CAC6F

             

             

            Time Awake Since Boot: 20000 seconds

            Time Since Wake:       5500 seconds

             

             

            System Integrity Protection: enabled

             

             

            Crashed Thread:        0  Dispatch queue: com.apple.main-thread

             

             

            Exception Type:        EXC_BAD_ACCESS (SIGSEGV)

            Exception Codes:       EXC_I386_GPFLT

            Exception Note:        EXC_CORPSE_NOTIFY

             

             

            Termination Signal:    Segmentation fault: 11

            Termination Reason:    Namespace SIGNAL, Code 0xb

            Terminating Process:   exc handler [0]

             

             

            Thread 0 Crashed:: Dispatch queue: com.apple.main-thread

            0   com.filemaker.fmengine.framework 0x000000010cfdd3f2 std::__1::__vector_base<Draco::DBSortSpec::Entry, std::__1::allocator<Draco::DBSortSpec::Entry> >::~__vector_base() + 10

            1   com.filemaker.fmengine.framework 0x000000010d17e668 Draco::PortalLayoutObject::GetSortSpec() const + 240

            2   com.filemaker.fmengine.framework 0x000000010d17ec8d Draco::PortalLayoutObject::SetupRelatedSet(std::__1::shared_ptr<Draco::DBRelatedSet>&, Draco::DBCursor const&) const + 45

            3   com.filemaker.client.advanced12 0x000000010af70cd2 PortalLayoutObjectView::GetRelatedSet(std::__1::shared_ptr<Draco::DBRelatedSet>&, bool) + 430

            4   com.filemaker.client.advanced12 0x000000010af70573 PortalLayoutObjectView::UpdateRelatedSet() + 803

            5   com.filemaker.client.advanced12 0x000000010af70a9c PortalLayoutObjectView::ViewVisibleNotification(Draco::CoordRect const&) + 18

            6   libViewSystem.dylib           0x000000010c4aaced NotifyIfNeeded(IView*) + 93

            7   libViewSystem.dylib           0x000000010c4aad30 ViewSystem::SendViewVisibleNotification(IView*) + 52

            8   libViewSystem.dylib           0x000000010c472380 BaseView::AncestorStateHasChanged(IView*, AncestorChange) + 370

            9   libViewSystem.dylib           0x000000010c471ab4 BaseBackedView::AncestorStateHasChanged(IView*, AncestorChange) + 14

            10  com.filemaker.client.advanced12 0x000000010af70ac6 PortalLayoutObjectView::AncestorStateHasChanged(IView*, AncestorChange) + 26

            11  libViewSystem.dylib           0x000000010c472345 BaseView::AncestorStateHasChanged(IView*, AncestorChange) + 311

            12  libViewSystem.dylib           0x000000010c471ab4 BaseBackedView::AncestorStateHasChanged(IView*, AncestorChange) + 14

            13  com.filemaker.client.advanced12 0x000000010afa34ad PartsView::AncestorStateHasChanged(IView*, AncestorChange) + 17

            14  libViewSystem.dylib           0x000000010c472345 BaseView::AncestorStateHasChanged(IView*, AncestorChange) + 311

            15  libViewSystem.dylib           0x000000010c471ab4 BaseBackedView::AncestorStateHasChanged(IView*, AncestorChange) + 14

            16  com.filemaker.client.advanced12 0x000000010aabf9e1 ScrollerViewController::RefreshAuxRulerViewVisibility() + 63

            17  com.filemaker.client.advanced12 0x000000010aa3f549 DocViewController::WindowViewChangeNotification() + 311

            18  com.filemaker.client.advanced12 0x000000010aa3eba6 DocViewController::RebuildLayoutViewIfNeeded() + 300

            19  com.filemaker.client.advanced12 0x000000010aff183f DSScriptRuntimeBase::DoScrollWindow() + 195

            20  com.filemaker.client.advanced12 0x000000010a97637d ScriptRuntime::DispatchStep(bool&) + 4171

            21  com.filemaker.fmengine.framework 0x000000010d272197 Draco::ScriptRuntimeBase::Execute() + 605

            22  com.filemaker.fmengine.framework 0x000000010d271ea2 Draco::ScriptRuntimeBase::DoNextStep() + 326

            23  com.filemaker.fmengine.framework 0x000000010d271cf3 Draco::ScriptRuntimeBase::DoRunLoop() + 203

            24  com.filemaker.client.advanced12 0x000000010a972752 ScriptRuntime::OnIdle() + 80

            25  com.filemaker.fmengine.framework 0x000000010d25ff9d Draco::FMSession::OnIdle(bool) + 69

            26  com.filemaker.client.advanced12 0x000000010b0077f6 DSSession::OnIdle(bool) + 22

            27  com.filemaker.client.advanced12 0x000000010a825533 CFMProApp::Idle(bool) + 57

            28  com.filemaker.client.advanced12 0x000000010a826786 CFMProApp::DispatchNullEvent() + 122

            29  com.apple.CoreFoundation       0x00007fff99e4a50c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12

            30  com.apple.CoreFoundation       0x00007fff99e4a40b _CFXRegistrationPost + 427

            31  com.apple.CoreFoundation       0x00007fff99e4a172 ___CFXNotificationPost_block_invoke + 50

            32  com.apple.CoreFoundation       0x00007fff99e075a3 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1827

            33  com.apple.CoreFoundation       0x00007fff99e065dc _CFXNotificationPost + 604

            34  com.apple.Foundation           0x00007fff9b8fb2f4 postQueueNotifications + 854

            35  com.apple.CoreFoundation       0x00007fff99e53dd7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23

            36  com.apple.CoreFoundation       0x00007fff99e53d47 __CFRunLoopDoObservers + 391

            37  com.apple.CoreFoundation       0x00007fff99e348de __CFRunLoopRun + 1214

            38  com.apple.CoreFoundation       0x00007fff99e341c4 CFRunLoopRunSpecific + 420

            39  com.apple.HIToolbox           0x00007fff99395ebc RunCurrentEventLoopInMode + 240

            40  com.apple.HIToolbox           0x00007fff99395cf1 ReceiveNextEventCommon + 432

            41  com.apple.HIToolbox           0x00007fff99395b26 _BlockUntilNextEventMatchingListInModeWithFilter + 71

            42  com.apple.AppKit               0x00007fff97930e24 _DPSNextEvent + 1120

            43  com.apple.AppKit               0x00007fff980ac85e -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796

            44  com.apple.AppKit               0x00007fff979257ab -[NSApplication run] + 926

            45  com.filemaker.client.advanced12 0x000000010a755556 CMacApp_Main + 497

            46  com.filemaker.client.advanced12 0x000000010a81b3b3 main + 49

            47  libdyld.dylib                 0x00007fffaf597235 start + 1

            • 3. Re: FMP16 Crashing on Layout Changes
              TSGal

              biggady:

               

              Thank you for the crash report.

               

              The crash contains a sort, a related field, and a scroll.

               

              Is there an OnLayoutEnter script trigger?  If so, is there a Scroll Window script step?

               

              Is there a portal?  Is the portal empty?

               

              TSGal

              FileMaker, Inc.

              • 4. Re: FMP16 Crashing on Layout Changes
                biggady

                Hi TSGal

                 

                Thanks for the replies.

                 

                There isn't an OnLayoutEnter script triggered but there are some steps after the Go to Layout step in the initial script, which in this case does involve a Scroll Window [ End ] step. This step isn't present in all of the scripts where crashes are being caused however - I have included another crash report below.

                 

                I think that every layout that has triggered the crash does have one or more portals on them, and there are definitely instances where these will be empty.

                 

                Process:               FileMaker Pro [679]

                Path:                  /Applications/FileMaker Pro 16 Advanced/FileMaker Pro Advanced.app/Contents/MacOS/FileMaker Pro

                Identifier:            com.filemaker.client.advanced12

                Version:               16.0.1 (16.0.1)

                Code Type:             X86-64 (Native)

                Parent Process:        ??? [1]

                Responsible:           FileMaker Pro [679]

                User ID:               501

                 

                 

                Date/Time:             2017-05-22 09:01:40.659 +0100

                OS Version:            Mac OS X 10.12.4 (16E195)

                Report Version:        12

                Anonymous UUID:        3A9CFF09-5371-8D4B-8CC8-65E14DD89CE0

                 

                 

                Sleep/Wake UUID:       34269E93-519B-46AF-9111-97E8D1764AF1

                 

                 

                Time Awake Since Boot: 3400 seconds

                Time Since Wake:       100 seconds

                 

                 

                System Integrity Protection: enabled

                 

                 

                Crashed Thread:        0  Dispatch queue: com.apple.main-thread

                 

                 

                Exception Type:        EXC_BAD_ACCESS (SIGSEGV)

                Exception Codes:       EXC_I386_GPFLT

                Exception Note:        EXC_CORPSE_NOTIFY

                 

                 

                Termination Signal:    Segmentation fault: 11

                Termination Reason:    Namespace SIGNAL, Code 0xb

                Terminating Process:   exc handler [0]

                 

                 

                Thread 0 Crashed:: Dispatch queue: com.apple.main-thread

                0   com.filemaker.fmengine.framework 0x00000001100783f2 std::__1::__vector_base<Draco::DBSortSpec::Entry, std::__1::allocator<Draco::DBSortSpec::Entry> >::~__vector_base() + 10

                1   com.filemaker.fmengine.framework 0x0000000110219668 Draco::PortalLayoutObject::GetSortSpec() const + 240

                2   com.filemaker.fmengine.framework 0x0000000110219c8d Draco::PortalLayoutObject::SetupRelatedSet(std::__1::shared_ptr<Draco::DBRelatedSet>&, Draco::DBCursor const&) const + 45

                3   com.filemaker.client.advanced12 0x000000010e009cd2 PortalLayoutObjectView::GetRelatedSet(std::__1::shared_ptr<Draco::DBRelatedSet>&, bool) + 430

                4   com.filemaker.client.advanced12 0x000000010e009573 PortalLayoutObjectView::UpdateRelatedSet() + 803

                5   com.filemaker.client.advanced12 0x000000010e009a9c PortalLayoutObjectView::ViewVisibleNotification(Draco::CoordRect const&) + 18

                6   libViewSystem.dylib           0x000000010f546ced NotifyIfNeeded(IView*) + 93

                7   libViewSystem.dylib           0x000000010f546d30 ViewSystem::SendViewVisibleNotification(IView*) + 52

                8   libViewSystem.dylib           0x000000010f50e380 BaseView::AncestorStateHasChanged(IView*, AncestorChange) + 370

                9   libViewSystem.dylib           0x000000010f50dab4 BaseBackedView::AncestorStateHasChanged(IView*, AncestorChange) + 14

                10  com.filemaker.client.advanced12 0x000000010e009ac6 PortalLayoutObjectView::AncestorStateHasChanged(IView*, AncestorChange) + 26

                11  libViewSystem.dylib           0x000000010f50e345 BaseView::AncestorStateHasChanged(IView*, AncestorChange) + 311

                12  libViewSystem.dylib           0x000000010f50dab4 BaseBackedView::AncestorStateHasChanged(IView*, AncestorChange) + 14

                13  com.filemaker.client.advanced12 0x000000010e03c4ad PartsView::AncestorStateHasChanged(IView*, AncestorChange) + 17

                14  libViewSystem.dylib           0x000000010f50e345 BaseView::AncestorStateHasChanged(IView*, AncestorChange) + 311

                15  libViewSystem.dylib           0x000000010f50dab4 BaseBackedView::AncestorStateHasChanged(IView*, AncestorChange) + 14

                16  com.filemaker.client.advanced12 0x000000010db589e1 ScrollerViewController::RefreshAuxRulerViewVisibility() + 63

                17  com.filemaker.client.advanced12 0x000000010dad8549 DocViewController::WindowViewChangeNotification() + 311

                18  com.filemaker.client.advanced12 0x000000010dad7ba6 DocViewController::RebuildLayoutViewIfNeeded() + 300

                19  com.filemaker.client.advanced12 0x000000010dcd7bd3 TopLevelViewRendering::DoPreUpdateBehavior() + 123

                20  libViewSystem.dylib           0x000000010f537373 ITopLevelViewBackEnd::UpdateViewsForPendingDisplay(bool) + 29

                21  com.filemaker.client.advanced12 0x000000010dbd2342 FMDocWindowTopLevelViewMac::UpdateViewsForPendingDisplay(bool) + 180

                22  com.filemaker.client.advanced12 0x000000010d8bf6b2 FlushPendingDisplayForEachWindow::operator()(Draco::FMWindowModel*) + 234

                23  com.filemaker.fmengine.framework 0x00000001102fbaf5 Draco::FMSession::ForEachVisibleWindowDo(Draco::WindowForEachFunctor&) const + 191

                24  com.filemaker.client.advanced12 0x000000010d8bf7b4 CFMProApp::DispatchNullEvent() + 168

                25  com.apple.CoreFoundation       0x00007fff99e4a50c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12

                26  com.apple.CoreFoundation       0x00007fff99e4a40b _CFXRegistrationPost + 427

                27  com.apple.CoreFoundation       0x00007fff99e4a172 ___CFXNotificationPost_block_invoke + 50

                28  com.apple.CoreFoundation       0x00007fff99e075a3 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1827

                29  com.apple.CoreFoundation       0x00007fff99e065dc _CFXNotificationPost + 604

                30  com.apple.Foundation           0x00007fff9b8fb2f4 postQueueNotifications + 854

                31  com.apple.CoreFoundation       0x00007fff99e53dd7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23

                32  com.apple.CoreFoundation       0x00007fff99e53d47 __CFRunLoopDoObservers + 391

                33  com.apple.CoreFoundation       0x00007fff99e348de __CFRunLoopRun + 1214

                34  com.apple.CoreFoundation       0x00007fff99e341c4 CFRunLoopRunSpecific + 420

                35  com.apple.HIToolbox           0x00007fff99395ebc RunCurrentEventLoopInMode + 240

                36  com.apple.HIToolbox           0x00007fff99395cf1 ReceiveNextEventCommon + 432

                37  com.apple.HIToolbox           0x00007fff99395b26 _BlockUntilNextEventMatchingListInModeWithFilter + 71

                38  com.apple.AppKit               0x00007fff97930e24 _DPSNextEvent + 1120

                39  com.apple.AppKit               0x00007fff980ac85e -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796

                40  com.apple.AppKit               0x00007fff979257ab -[NSApplication run] + 926

                41  com.filemaker.client.advanced12 0x000000010d7ee556 CMacApp_Main + 497

                42  com.filemaker.client.advanced12 0x000000010d8b43b3 main + 49

                43  libdyld.dylib                 0x00007fffaf597235 start + 1

                 

                Guy.

                • 5. Re: FMP16 Crashing on Layout Changes
                  TSGal

                  biggady:

                   

                  Thank you for the second crash report.  It does mention related record, sort, and rendering of layout.

                   

                  Have you run a recovery on the file?  If so, were there any errors in the Recover.log?

                   

                  I realize the crash isn't easily reproducible, nor is a specific layout involved.  Do you notice if the destination layout has a portal with or without records?  Does the portal have a static set of records or if a scrollbar exists?

                   

                  Any other information you can provide could be helpful.

                   

                  TSGal

                  FileMaker, Inc.

                  • 6. Re: FMP16 Crashing on Layout Changes
                    biggady

                    Hi TSGal

                     

                    I have now had instances of the crash when I have switched to a layout from the View > Go To Layout menu - it is a list layout that has no portals on it, but does have an onLayoutEnter script that performs a find on two fields (of the layout's table) and a sort.

                     

                    I tried a recovery on the file and interestingly it crashes when recovering the font list, and it adds thousands (around 6000) lines similar to the below;

                     

                    2017-05-26 11:27:19.731 +0100WCMA Database Clone.fmp120  Recovering: font '«X∏8ˇø\Ü¡' (859)
                    2017-05-26 11:27:19.731 +0100WCMA Database Clone.fmp120  Recovering: font '5^∏8ˇø\Ü¡' (860)
                    2017-05-26 11:27:19.731 +0100WCMA Database Clone.fmp120  Recovering: font ' ' (861)
                    2017-05-26 11:27:19.731 +0100WCMA Database Clone.fmp120  Recovering: font '%3Ë8ˇø\Ü¡' (862)

                     

                    I tried cloning the database without any data and the same thing happens strangely.

                     

                    Guy.

                    • 7. Re: FMP16 Crashing on Layout Changes
                      TSGal

                      biggady:

                       

                      It appears there is some damage in the file.

                       

                      Find an earlier backup of your file and run a Recover on it.  Do also get the bad font list?

                       

                      TSGal

                      FileMaker, Inc.