1 2 Previous Next 29 Replies Latest reply on Jul 18, 2015 4:46 AM by gdurniak

    FileMaker crashes when exporting a DDR

    TonyWhite

      Hi All,

      I am having an issue with a FileMaker solution currently running in FileMaker 11 (started in FileMaker 3/4).
      The system is large in that it has:
      100+ files
      200+ tables
      3,000+ layouts
      16,000+ scripts

      The issue that I am having is that when I run a DDR from FileMaker 11 it crashes repeatable on one particular file while generating the layout portion of the DDR.
      When I run the DDR from FileMaker 10 it does not crash.
      The file has never had Layout Folders, or any other FileMaker 11 introduced features, to the best of my knowledge.

      I have been trying to locate the FileMaker code object that is causing the problem so that I can remove it.
      This has been successful in the past. I once had a similar problem with a file and Winfred Huslik the creator of FMDiff was able to pinpoint the corrupted object and tell me to remove 1 value list. That worked and I was able to move forward.

      The easy answer is to rebuild the file. I would prefer not to rebuild and instead see this as a good test of the tools available to diagnose and repair a corrupted FileMaker file. A FileMaker file has a known structure down the the 1s and 0S and should be fixable.

      Here are some of the things that I have tried.

      1. Verify the block structure of the files using the FileMaker verify ability. Reported result: block structure OK

      2. Read the XML that was generated before FileMaker crashed.
      - The XML ended in the middle of a Layout > Layout Object
      - The layout object was a text lable and I removed it
      - I ran the DDR again and it crashed again. This time the Layout Object was a layout field so I removed that
      - I ran the DDR again and it crashed again
      - I then deleted the entire layout and ran the DDR again. FileMaker crashed

      3. Run a diagnostic recovery:  File > Recover...
      There were no real errors..only the cosmetic errors...
      [begin excerpt]
      8475 Rebuilt group with 5 object(s)
      8487  Reset table view
      8476  This item changed
      [end excerpt]
      ...and they do not correlate with the the place in the file where FileMaker crashes running the DDR.

      4. Even the often often very useful FMDiff does not show anything.

      To recap. The file passed the FileMaker verify and “diagnostic recovery” tests but crashes the FileMaker application when running the DDR.
      This means that the FileMaker tests of the file on the block and block internal levels is missing something.

      As much as I am a FileMaker Fanatic, I would hope to see FileMaker file diagnostic and repair tools come to fruition. The improvements made in...if I recall correctly...FileMaker 10 and 11 were great. That said it would seem evident that we are not yet where we could be. If the FileMaker application has the ability to write a file to disk and read the file back from disk, then there is no technical reason why the structure can not be accurately diagnosed and fixed.

      Does anyone have a suggestion besides the easy to say and hard to sell... “rebuild the file”

      Thanks in advance.

      All the best,


      Tony White
      Tony White Designs, Inc.

        • 1. Re: FileMaker crashes when exporting a DDR
          siplus

          Tony, did you try to run the ddr on that file with format = html instead of xml ?

          • 2. Re: FileMaker crashes when exporting a DDR
            TonyWhite

            1. Yes, just now. Result crash.

             

            2. Also just tried again...
            Saved a clone
            Opened clone
            Ran DDR
            Result crash

             

            3. Just tested.

            Deleted all Layout Objects but not the layout
            Ran DDR
            Result = Crash

             

            Thanks.

            • 3. Re: FileMaker crashes when exporting a DDR
              siplus

              And if you exclude "Layouts" from "Include in reports" it does not bomb, I guess ?

               

              I would also change the name of the layout, just to test, from what it is to what it is & "x"

              • 4. Re: FileMaker crashes when exporting a DDR
                wimdecorte

                Hi Tony,

                 

                There are a couple of known issues.  For instance with portals in footer sections.  You should be able to narrow it down by inspecting the last file XML produced and seeing where it does not "terminate" properly.  You would then have to remove those elements from the layouts and run it again.

                 

                You could try the old "divide by halves" technique: start by excluding all layouts.  If it works, include the first half of all layouts, etc...

                • 5. Re: FileMaker crashes when exporting a DDR
                  TonyWhite

                  Just re-tested.

                   

                  exclude "Layouts" from "Include in reports"

                  XML with no crash

                  • 6. Re: FileMaker crashes when exporting a DDR
                    wimdecorte

                    Yep, not surprisingly.  so go by the "divide by halves" rule then.  Problem is that there may be more than one layout that tis giving you grief.

                    • 7. Re: FileMaker crashes when exporting a DDR
                      wimdecorte

                      You may still be able to get a clue from looking at the last XML file created when the whole thing crashed.

                      • 8. Re: FileMaker crashes when exporting a DDR
                        BobGossom

                        Tony,

                        I had this happen for a solution. The problem was a script step with a set field using an “odd” character in the calc box. I forget now, but it was non-typical ASCII character entered with the option key down. It wasn’t readily visible in the script step calc engine - I think it displayed as a carriage return. Whatever this character was, it bugged out the DDR.


                        I’d use Wim’s suggestion and start deleting scripts in a copy until you narrow it down.


                        Bob Gossom

                         

                        • 9. Re: FileMaker crashes when exporting a DDR
                          TonyWhite

                          Hi Wim,

                           

                          1. no portal in footer, or on the layout

                           

                          2. I did rounds of reading the XML and seeing what Layout > Layout Object it crashed on...

                          Removing the object and running the DDR. Result = Crash

                          Remove all objects and running the DDR. Result = Crash

                          Removing the layout and running the DDR. Result = Crash

                          Removing the data by making a clone and running the DDR. Result = Crash

                           

                          3. If I delete the Layout that it appears to be crashing on (based on where the XML ends) it then crashes on a different layout. I deleted that layout and it still crashed.

                           

                          And yet, the block structure passes and the diagnostic recovery has only benign errors as shown above.

                          I am going to speak with the client to green light the fixing of all the false "Diagnostic Recovery" positives of the type shown above as they only get in the way.

                           

                          Thanks

                          • 10. Re: FileMaker crashes when exporting a DDR
                            wimdecorte

                            TonyWhite wrote:

                             

                            And yet, the block structure passes and the diagnostic recovery has only benign errors as shown above.

                             

                             

                            I don't think the two are related.  The XML DDR forces FM to read and represent the FM schema in a way that is not similar to the other tools that look merely at the block structure.

                             

                            Even a corrupted graphic on the layout (which the XML would represent as base64) could cause this. Start with no layouts since you know that works and add layout by layout.  Tedious I know...

                            • 11. Re: FileMaker crashes when exporting a DDR
                              TonyWhite

                              Hi Bob,

                               

                              The idea of an odd character is interesting in that FileMaker supports Unicode.

                               

                              Just posted a reply to Wim that (I hope) addresses the (current suggestions).

                               

                              I have 2 goals:

                              1. fix the issue
                              2. discover or plead for a better methodology and/or better tools for diagnosing and fixing file corruption

                               

                              Even if I can fix it by a binary search I will not have confidence in the file. (Although I will accept the good over the perfect if that is the only option offered)

                               

                              I want to be able to have as much confidence in a system built using a binary file as a system that can be expressed as text. This would be good for the platform.

                               

                              Thanks.

                               

                               



                              • 12. Re: FileMaker crashes when exporting a DDR
                                coherentkris

                                I had a similar issue where FM was producing an invalid XML DDR.

                                Traced the problem back to an ascii control character in an object name.

                                Took me a long time going through the XML to finally find it as it was NOT DISPLAYED at all in FM.

                                • 13. Re: FileMaker crashes when exporting a DDR
                                  TonyWhite

                                  The way that I see it is that the entire structure of a FileMaker file is represented in the file itself.

                                  Wim, I know that you know this, so I will say it for others reading...The file is made up of a collection of blocks that has a structure that can be verified (starting block, middle blocks, linked to the previous and next, and an ending block). This is the part the gets verified by the FileMaker Server schedule.

                                   

                                  The blocks, in turn, have internal structure..cataloging fields, layouts, scripts and so on.

                                   

                                  Ideally all of the elements that are in a file should be able to be read as input to a recovery log and rendered out (to the extent that they are included) as DDR XML. Since it is the same file as a starting point, and the recovery log should be comprehensive in it search for issues, the DDR should work with some noted exceptions...otherwise the recovery log should report an issue.

                                   

                                  I agree about images and have moved away from using raw images on layouts primarily because of the concern that they can cause crashes. There are other good reasons.

                                   

                                  I am not saying that verifying the soundness of the elements in a FileMaker file is easy, just that it is possible.

                                   

                                  Thanks.

                                  • 14. Re: FileMaker crashes when exporting a DDR
                                    wimdecorte

                                    TonyWhite wrote:

                                     

                                    Ideally all of the elements that are in a file should be able to be read as input to a recovery log and rendered out (to the extent that they are included) as DDR XML. Since it is the same file as a starting point, and the recovery log should be comprehensive in it search for issues, the DDR should work with some noted exceptions...otherwise the recovery log should report an issue.

                                     

                                    That's the part I don't agree with.  The FM blocks structure may return as valid through the recovery process but the XML representation might not.  I've seen my fair share of exactly this.

                                     

                                    We can't assume that a file block inspection returns the same exceptions as trying to do the same in an XML representation of the same. Blocks are binary, XML is text based.  Totally different animal.

                                    1 2 Previous Next