1 2 Previous Next 21 Replies Latest reply on Aug 3, 2012 12:50 PM by gdurniak

    Understanding File Recovery, log file messages

    justinc

      Hey all,

      I am trying to troubleshoot some issues we have been having with corruption in our database, corruption that doesn't seem to be cleared up by a recovery. In doing so, I am delving into the Recovery Log and trying to analyze what exactly is being found during that process.

       

      So here are snippets (in sequence) from my log file, showing what I think are the important bits for the errors that it says it found. After finding an error I went back to the top of that section where the error occurred to pull out the table that was being worked on. (At least that is my understanding of the file structure.) Summary is shown at the bottom.

      ...

      2012-07-26 17:43:18.715 -0700 Milton.fmp12 0 Recovering fields for table 'Courses'

      2012-07-26 17:43:18.715 -0700 Milton.fmp12 0 Recovering: field catalog 'Courses'

      2012-07-26 17:43:18.761 -0700 Milton.fmp12 0 Rebuilding field catalog 'Courses' order list: name

      2012-07-26 17:43:18.928 -0700 Milton.fmp12 0 Rebuilding field catalog 'Courses' order list: custom

      2012-07-26 17:43:19.055 -0700 Milton.fmp12 0 Rebuilding field catalog 'Courses' order list: type

      2012-07-26 17:43:19.214 -0700 Milton.fmp12 0 Recovering data for table 'Courses'

      2012-07-26 17:43:19.215 -0700 Milton.fmp12 0 Recovering: library catalog 'Courses'

      2012-07-26 17:43:19.727 -0700 Milton.fmp12 0 Rebuilding library catalog 'Courses' order list: quick reference

      2012-07-26 17:43:32.077 -0700 Milton.fmp12 0 Recovering: library '' (5204)

      2012-07-26 17:43:34.456 -0700 Milton.fmp12 0 Recovering: library '' (8388)

      2012-07-26 17:43:34.456 -0700 Milton.fmp12 0 Recovering: library '' (8389)

      2012-07-26 17:43:37.158 -0700 Milton.fmp12 0 Evaluating library (131)

      2012-07-26 17:43:37.193 -0700 Milton.fmp12 0 Found 2 stranded library object(s)

      ...

      2012-07-26 17:43:37.379 -0700 Milton.fmp12 0 Recovering: field 'zgn_iCalPluginCheck' (532)

      2012-07-26 17:43:37.380 -0700 Milton.fmp12 8477 Calculation modified

      2012-07-26 17:43:37.381 -0700 Milton.fmp12 8476 This item changed

      2012-07-26 17:44:05.357 -0700 Milton.fmp12 0 Recovering fields for table 'ScreenCaps'

      2012-07-26 17:44:05.358 -0700 Milton.fmp12 0 Recovering: field catalog 'ScreenCaps'

      ...

      2012-07-26 17:44:05.367 -0700 Milton.fmp12 0 Recovering: field 'sc_FileName' (9)

      2012-07-26 17:44:05.368 -0700 Milton.fmp12 8477 Calculation modified

      2012-07-26 17:44:05.369 -0700 Milton.fmp12 8476 This item changed

      2012-07-26 17:52:20.807 -0700 Milton.fmp12 0 Deleted last used found sets

      2012-07-26 17:52:21.388 -0700 Milton.fmp12 8495 WARNING: problems were detected while recovering the database. The recovered file should NOT be used going forward; copy only the most recent work from it into a backup copy of the original file.

      2012-07-26 17:52:21.389 -0700 Milton.fmp12 0 File blocks: scanned and rebuilt 108289 block(s), dropped 0 invalid data block(s)

      2012-07-26 17:52:21.389 -0700 Milton.fmp12 0 Schema: scanned fields and tables; some problems were found...

      2012-07-26 17:52:21.390 -0700 Milton.fmp12 0 fields created to match record data: 0

      2012-07-26 17:52:21.391 -0700 Milton.fmp12 0 field values deleted due to invalid ID or repetition: 0

      2012-07-26 17:52:21.391 -0700 Milton.fmp12 0 records deleted due to invalid ID: 0

      2012-07-26 17:52:21.392 -0700 Milton.fmp12 0 Structure: scanned; 3 item(s) modified

      2012-07-26 17:52:21.393 -0700 Milton.fmp12 0 File size after recovery is 450629632 bytes

      2012-07-26 17:52:21.393 -0700 Milton.fmp12 0 *** Completed recovery to 'Milton Backup Recovered.fmp12'

       

      First, it says that it found 3 items that it modified. In searching through the log file I was looking for the set of keywords that Alexei Folger recommended:


      (error|warning|modified|changed|dropped|damaged|invalid)

       

      However, that only turned up two entries in the log; the two 8477 errors: "Calculation modified". Upon further perusing of the file I found the "Found 2 stranded library objects..." entry. Is that the 3rd error that is listed in the summary?

       

      Secondly, what do these error code numbers mean? Are they literally just numeric representations of the text field? I.e. 8477 = "Calculation modified" and 8476 = "This item changed". Or is there more the be learned from them somewhere?

       

      Third, specific to the errors it found: the errors mentioned don't seem to be applicable to the fields they are associated with. Again, my understanding of the structure is that the errors are indented BELOW the field that they refer to. Hence, in the clips above I have copied the line ABOVE the error message. But, if I go look at "Courses::zgn_iCalPluginCheck", it is NOT a calculation field. It is a text field. So I am confused. It doesn't have any Auto-enter or Validation calculations, either. So what calculation was modified?

       

      Lastly, the library that was supposedly recovered: "Evaluating Library (131)...Two Stranded objects found". What can I learn from that entry? What does the numbers mean (e.g. "131" or "8389")?

       

      Ultimately, our problem still persists after doing the recovery. (Yeah, I know, don't use the recovered file...that's a whole other question, though: how to create a 'new' file.) The primary evidence of the corruption is that the Layout Manager doesn't allow us to reorder layouts; they keep returning to their original position.

       

      Any clarifications, comments, hints, or information would be appreciated.

       

      Thanks,

      J

        • 1. Re: Understanding File Recovery, log file messages
          BruceHerbach

          Hi,

           

          Lets start with... I'm not an expert on this.  That stated..  I have discussed this with experts and they have confirmed this as a good method.  The 8389 code is telling you that the recover process found errors.  The 8477 and 8476 codes are telling you what to look at.  I'm sure there is more to the definitions...

           

          Take a copy of the original file.  (Not the recorvered version).  Go into Manage Database and open the field definitions for the two fields indicated in the report.  Verify that the calculation is correct and "touch" it.  What I mean by touch is to delete a character and put it back,  This will tell FileMaker that the field has changed.  Then click the "OK" button and save the fields and then Ok to save the schema changes.  Then close the file.

           

          Next run the recover on the updated file.  With a bit of luck,  FileMaker will have updated the definition for these fields and by doing so eliminate the corruption.  If the Recover runs and comes back with the message "Recover built a new database without detecting any problems."  You can use the file you just modified.  It is now corruption free.  Doing so is preferred over using the new/recovered file. 

           

          If this doesn't result in a clean file,  you have two more options.  Unfortunatly they are more work intensive.

          First is delete the problem field(s).  Save the changes and run recover.  If the file comes up clean then go back in create new versions of the fields and update all of the layouts that need the new version of the field.

           

          If you still can't get a clean file then it may be time to consider rebuilding the file from scratch or go to an earlier version/backup check this file for corruption and if clean import the data from the current version.

           

          For the recover I use the following Advanced options:

          - Scan blocks and rebuild file

          - Scan Record data and rebuild fields and Tables (schema)

          - Rebuild field indexes  ( for small files,  Now, for Large files I use Later)

          - Delete Cached settings

           

          Hope this helps

          • 2. Re: Understanding File Recovery, log file messages
            justinc

            Bruce,

                 Thanks for the response.  I like the idea of trying to force FM to re-evaluate the schema, to try and remove the corruption it thought it was detecting. 

             

            However, it appears that the fields that the summary is refering to AREN'T even calculation fields.  That is perhaps the most confounding aspect of this.    They are simple text fields, with no auto-enter or validation calculations even.

             

            Thanks,

            J

            • 3. Re: Understanding File Recovery, log file messages
              BruceHerbach

              In that case try changing them to a calculation and then back to a text field.  Doing so will still force FileMaker to rewrite the field definition...twice.  Then check for corruption.

               

              No guarrentees here.  There may be corruption in the file that these simple method can't fix.  If you can't fix it then you are stuck with option 3.

               

              HTH

              Bruce

              1 of 1 people found this helpful
              • 4. Re: Understanding File Recovery, log file messages
                justinc

                Bruce,

                     Ah, you have lead me to a possible answer!

                 

                When I converted those two fields to calc fields, the calculation box came up with already existing information in it!  The calc that it had in the box contained a reference to a function that didn't exist anymore.  Here is what came up for each field:

                    zgn_iCalPluginCheck:   If ( <Function Missing>( "-small" ) ≥ 1; 1; 0 )

                   

                    sc_FileName:   LeftValues ( <Function Missing>( sc_FilesURL & sc_ResourceIdentifier ) ; 1 )

                 

                I thought I had a file that was a copy from before the most current recovery (i.e. we recovered, still had corruption, I pulled a copy of a backup from the day before).  And I was finding that these two fields were TEXT fields, BEFORE I ran recovery.  So, it appears that FM is evaluating the fields based on some catalogue that says these should be calc fields, but that it may have previously changed to TEXT fields because of this missing function?  (We have run recoveries in the past, too, on this file, and so it may have been changed to TEXT in a previous iteration; I am just wondering how FM is then finding this as a CALC field and throwing the error, if it was changed to text previously.)  I will pull a copy from a version that is a few days older, just to be sure.

                 

                Now, what is up with that Library Stranded Objects error?

                 

                Thanks,

                J

                • 5. Re: Understanding File Recovery, log file messages
                  justinc

                  I fixed the two calculation errors that were noted by changing the fields from text to calculation, but I left the calc field blank.  (I am still wondering how the previous recovery 'found' errors in these fields when they were just TEXT fields.)

                   

                  It is down to "1 items modified".  Here is what I found in the  log file:

                  ...

                  2012-07-27 11:36:15.207 -0700    Milton.fmp12    0    Recovering fields for table 'Courses'

                  2012-07-27 11:36:15.207 -0700    Milton.fmp12    0    Recovering: field catalog 'Courses'

                  2012-07-27 11:36:15.253 -0700    Milton.fmp12    0      Rebuilding field catalog 'Courses' order list: name

                  2012-07-27 11:36:15.422 -0700    Milton.fmp12    0      Rebuilding field catalog 'Courses' order list: custom

                  2012-07-27 11:36:15.548 -0700    Milton.fmp12    0      Rebuilding field catalog 'Courses' order list: type

                  2012-07-27 11:36:15.707 -0700    Milton.fmp12    0      Recovering data for table 'Courses'

                  2012-07-27 11:36:15.708 -0700    Milton.fmp12    0    Recovering: library catalog 'Courses'

                  2012-07-27 11:36:16.287 -0700    Milton.fmp12    0      Rebuilding library catalog 'Courses' order list: quick reference

                  2012-07-27 11:36:28.506 -0700    Milton.fmp12    0      Recovering: library '' (5204)

                  2012-07-27 11:36:28.507 -0700    Milton.fmp12    0      Recovering: library '' (5269)

                  ...

                  2012-07-27 11:36:30.872 -0700    Milton.fmp12    0      Recovering: library '' (8388)

                  2012-07-27 11:36:30.872 -0700    Milton.fmp12    0      Recovering: library '' (8389)

                  2012-07-27 11:36:33.682 -0700    Milton.fmp12    0      Evaluating library (131)

                  2012-07-27 11:36:33.717 -0700    Milton.fmp12    0      Found 2 stranded library object(s)

                  ...

                  2012-07-27 11:36:45.548 -0700    Milton.fmp12    0    Recovering fields for table 'DevTasks'

                  2012-07-27 11:36:45.549 -0700    Milton.fmp12    0    Recovering: field catalog 'DevTasks'

                  2012-07-27 11:36:45.553 -0700    Milton.fmp12    0      Rebuilding field catalog 'DevTasks' order list: name

                  2012-07-27 11:36:45.558 -0700    Milton.fmp12    0      Rebuilding field catalog 'DevTasks' order list: custom

                  2012-07-27 11:36:45.561 -0700    Milton.fmp12    0      Rebuilding field catalog 'DevTasks' order list: type

                  2012-07-27 11:36:45.565 -0700    Milton.fmp12    0      Recovering data for table 'DevTasks'

                  2012-07-27 11:36:45.566 -0700    Milton.fmp12    0    Recovering: library catalog 'DevTasks'

                  2012-07-27 11:36:45.567 -0700    Milton.fmp12    0      Rebuilding library catalog 'DevTasks' order list: quick reference

                  2012-07-27 11:36:45.567 -0700    Milton.fmp12    0      Recovering: library '' (24)

                  2012-07-27 11:36:45.619 -0700    Milton.fmp12    0      Evaluating library (193)

                  2012-07-27 11:36:45.620 -0700    Milton.fmp12    0      Found 1 stranded library object(s)

                  ….

                  2012-07-27 11:45:06.360 -0700    Milton.fmp12    0      Recovering: layout '[Ship] Reports Utility' (1129)

                  2012-07-27 11:45:06.380 -0700    Milton.fmp12    0      Recovering: layout '[Ship] Year Delta Report' (1130)

                  2012-07-27 11:45:06.394 -0700    Milton.fmp12    8496      Balanced out begin and end folder markers

                  2012-07-27 11:45:09.573 -0700    Milton.fmp12    0    Recovering: theme catalog

                  2012-07-27 11:45:09.577 -0700    Milton.fmp12    0      Rebuilding theme catalog order list: name

                  2012-07-27 11:45:09.579 -0700    Milton.fmp12    0      Recovering: theme 'com.filemaker.theme.classic' (1)

                  2012-07-27 11:45:09.584 -0700    Milton.fmp12    0      Recovering: theme 'com.filemaker.theme.cool_gray' (2)

                  2012-07-27 11:45:09.588 -0700    Milton.fmp12    0      Evaluating library for layouts and themes

                  2012-07-27 11:45:15.466 -0700    Milton.fmp12    0    Recovered 3 stranded library object(s) for a total of 1900 byte(s)

                  ...

                  2012-07-27 11:45:20.689 -0700    Milton.fmp12    8495    WARNING: problems were detected while recovering the database.  The recovered file should NOT be used going forward; copy only the most recent work from it into a backup copy of the original file.

                  2012-07-27 11:45:20.689 -0700    Milton.fmp12    0    File blocks: scanned and rebuilt 108291 block(s), dropped 0 invalid data block(s)

                  2012-07-27 11:45:20.690 -0700    Milton.fmp12    0    Schema: scanned fields and tables; some problems were found...

                  2012-07-27 11:45:20.691 -0700    Milton.fmp12    0      fields created to match record data: 0

                  2012-07-27 11:45:20.691 -0700    Milton.fmp12    0      field values deleted due to invalid ID or repetition: 0

                  2012-07-27 11:45:20.692 -0700    Milton.fmp12    0      records deleted due to invalid ID: 0

                  2012-07-27 11:45:20.693 -0700    Milton.fmp12    0    Structure: scanned; 1 item(s) modified

                  2012-07-27 11:45:20.693 -0700    Milton.fmp12    0    File size after recovery is 450637824 bytes

                   

                  The 8496 error shown there appears to be the only error in the log file.  The 'stranded library' messages don't carry an error number.  I don't know what the 'Balanced...' message means.  What do I go in to 'fix' for that?  Or should it now be fixed?  I will try to run another recovery on the recovered file and see what it says.

                   

                  Thanks,

                  J

                  • 6. Re: Understanding File Recovery, log file messages
                    justinc

                    After doing a recovery on the recovered file, I still get one object modified:

                     

                    2012-07-27 13:27:50.881 -0700Milton calc-fixed Recovered.fmp120Structure: scanned; 1 item(s) modified

                     

                    And the log shows that it is the same 8496 error as before, the one where it is balancing markers:

                     

                    2012-07-27 13:27:41.190 -0700Milton calc-fixed Recovered.fmp120  Recovering: layout '[Ship] Year Delta Report' (1130)
                    2012-07-27 13:27:41.203 -0700Milton calc-fixed Recovered.fmp128496  Balanced out begin and end folder markers

                     

                    So, even though it 'modified' the item, it doesn't appear to have 'fixed' the problem; it still turned up the same problem when scanning the recovered file. 

                     

                    But I am not understanding what the 'problem' might be such that I might go in and manually fix it like I did the calc fields.

                     

                    And that brings up the question, if you do a recovery on a file and it finds NO problems, is it OK to use that recovered file going forward?  Or is there any difference between the two (pre- and post- recovery files)?  Essentially, is going through and making manual corrections to the file structure a valid way of fixing a file to make it non-corrupted?

                     

                    Thanks,

                    J

                    • 7. Re: Understanding File Recovery, log file messages
                      BruceHerbach

                      At this point you have gone beyond me.  The fact that the file was recovered before and then the recovered file was used throws alot of my suggestion out the window.  The methods worked for me by fixing the original file and getting it to run through a recover process with out showing any corruption.  From there I use the original file,  not the recovered file.  I know that at times circumstances dictate that you have no choice but to use the recovered file. 

                       

                      You might consider contacting Winfried Huslik  http://www.fmdiff.com/

                      He is an expert on recovery and may be able to look at your file and fix it.

                       

                      Bruce

                      • 8. Re: Understanding File Recovery, log file messages
                        BruceHerbach

                        Regarding your last question.  If you do a recovery on a file and no problems are found,  that means it is ok to use the original file,  not the recovered file.  The recovery process does not change anything in the original file.  Instead it builds a copy.  So if no problems are found,  then the original file is untouched and good,  so it can/should be used.  FileMaker recommends not using the recovered file.

                         

                        At some point soon,  FMI will release videos of the main sessions at Devcon.  If it is available,  I recommend you watch Alexei Folger's session on File maintenance and recovery.  If you attended Devcon then these videos are free. If not,  then I believe that there will be a charge for them.  In any event I have sat through Alexei's lecture a couple of times.  She has a lot of great information on this topic.

                         

                        Bruce

                        • 9. Re: Understanding File Recovery, log file messages
                          gdurniak

                          I have compiled a "guide" to Recover here:

                          http://fileshoppe.com/recover.htm

                           

                          FileMaker needs better documentation, e.g. a list of error codes, and those that are "low severity"

                           

                          Your problem did come up during lunch at DevCon. Up to now, only the ScriptMaker got stuck. Now people are reporting the same for Layout Manager.

                           

                          FM9 Recover ( and higher ) will "fix" ScriptMaker, but apparently not Layout Manager. Odd, because they both appear to be scrambled catalogs

                           

                          You could report this as a "bug". It seems Recover needs to be made a little smarter

                           

                          greg

                           

                          PS

                          I suspect the other errors are of "low severity", and can be ignored. They are not your primary problem

                           

                           

                          >Ultimately, our problem still persists after doing the recovery.    (Yeah, I know, don't use the recovered file...that's a whole other question, though: how to create a 'new' file.)  The primary evidence of the corruption is that the Layout Manager doesn't allow us to reorder layouts; they keep returning to their original position.

                          1 of 1 people found this helpful
                          • 10. Re: Understanding File Recovery, log file messages
                            justinc

                            OK, good to know that it is OK to continue using the file if it scans without errors. 

                             

                            I was at DevCon, but didn't get a chance to make Alexei's presentation.  I have been reading through her notes, however.  I do hope that they will post the videos soon.

                            • 11. Re: Understanding File Recovery, log file messages
                              justinc

                              I was hoping that there would be some documentation on their error codes. 

                               

                              It is possible that I was the one that brought up the problem at lunch; I remember sitting with some folks and discussing this issue.  Unfortunately, FM tech support wasn't terribly helpful.

                               

                              Thanks,

                              J

                              • 12. Re: Understanding File Recovery, log file messages
                                gdurniak

                                A very good point. Since we don't have a proper "Verification" Utility, you have to run Recover, and then discard the Recovered file. A bit of a Kluge

                                 

                                I asked Jon Thatcher at DevCon if Recover could be modified to just READ the file, but this apparently would be too much work

                                 

                                It would also help if the Recover Script Step could return an "OK", if no errors are found

                                 

                                greg

                                 

                                After her presentation, Alexei agreed that FileMaker probably could publish a list of Recover error codes

                                 

                                 

                                > If you do a recovery on a file and no problems are found,  that means it is ok to use the original file,  not the recovered file.

                                • 13. Re: Understanding File Recovery, log file messages
                                  BruceHerbach

                                  I have seen a suggestions that if you have files hosted on FMS,  that you take a set of files from a current backup  and run them through the recover process to check that there isn't any corruption in the files.  The FMS Verify does not do a thourough check of the file.  You could script this and check the log when you are finished.

                                  • 14. Re: Understanding File Recovery, log file messages
                                    gdurniak

                                    Years ago, a Tech Support Supervisor at DevCon admitted that he was as frustrated as we were

                                     

                                     

                                    You could also try removing any layout folders,

                                     

                                    e.g.  http://fmforums.com/forum/topic/71943-goto-layout-by-name-problem/

                                     

                                     

                                     

                                    > Unfortunately, FM tech support wasn't terribly helpful.

                                    1 2 Previous Next