Menu

Problems with 2.50b2

Help
2003-09-15
2003-09-22
  • Gary Griffin

    Gary Griffin - 2003-09-15

    I am having some basic problems with 2.50b2. Running on RH9 stock with client == server. The gedcomfile_conf.php created is comepletely mangled. Many of the lines are like:

    $DISPLAY_JEWISH_THOUSANDS = ;
    $ENABLE_MULTI_LANGUAGE = ;

    with missing operands. I have tried the index and the mysql version and both generate bad files. It seems all the true/false answers are missing. The numeric operands are there. 

    The screen after defining the gedcom is:

    Parse error: parse error, unexpected ';' in /var/www/external/phpGedView/index/griffin.ged_conf.php on line 39

    Warning: Cannot add header information - headers already sent by (output started at /var/www/external/phpGedView/index/griffin.ged_conf.php:39) in /var/www/external/phpGedView/functions.php on line 597

    Warning: Failed opening '' for inclusion (include_path='.:/usr/share/pear') in /var/www/external/phpGedView/functions.php on line 810

    Warning: Failed opening '' for inclusion (include_path='.:/usr/share/pear') in /var/www/external/phpGedView/functions.php on line 811

    ----------------------
    I then manually editted the gedcom_conf.php file. Using the MySQL version I get an error

    Call to undefined function: get_person_record() in /var/www/external/phpGedView/functions.php on line 191

    -------------------------
    If I change this to use the find_person_record() instead, I get a pedigree chart, but it has no one displayed (empty boxes). When I do an individual list, it shows no one. But the import had 6000 indis. I am logged in as adminstrator.

    Any ideas?

     
    • John Finlay

      John Finlay - 2003-09-15

      What version of PHP are you using?  You can easily find this out by clicking on the phpinfo link from the admin page.

      It seems strange that editconfig.php would work while editconfig_gedcom.php would fail like this.  Since they both use similar code to edit the file.

      --John

       
    • Gary Griffin

      Gary Griffin - 2003-09-16

      I am running php 4.2.2 on Apache 2. Stock Redhat 9 system.

      It also states that Regex Library: Bundled library enabled. I think this is the PCRE that is required. I have had this problem (non-functioning) with all releases of 2.50. But I ran 2.13 and before fine.

      Gary

       
    • John Finlay

      John Finlay - 2003-09-16

      The code that changes the configuration text is the same between versions 2.50 and 2.13.  There are just more options in 2.50 and it has been split into 2 files.  So I am a bit confused why it would work in 2.13 and not in 2.50.

      I would like to see if there are any errors going unreported.  Add the following line to the top of the session.php file and run the configuration again looking for any errors:
      ini_set('error_reporting', 'E_ALL');

      --John

       
    • Gary Griffin

      Gary Griffin - 2003-09-17

      When I add the ini_set('error_reporting','E_ALL'); I get no errors at all. But I also get nothing useable. Without this line I get the same errors as before. The gedcomfile_conf.php is bad as described.

      If I run indilist.php I get no surnames. That is after I imported the gedcom with 5000+ indis with the MySQL version. But when I look at the db (using phpMyAdmin), there are no indis in it. Only pgv_other and pgv_sources have records. pgv_families and pgv_individuals have 0 records.

      I was running beta4 for this test. Could the import be failing and corrupting everything else?

       
    • John Finlay

      John Finlay - 2003-09-17

      I found a server that was setup the same as yours and the problem with editing gedcoms appears to be a php 4.2.2 bug.  Instead of the post variables containing "yes" or "no" as they should.  They get translated to true or false, or 1 or Null.  Versions after 4.2.2 don't appear to operate this way.  To fix this problem, add the following two lines to the editconfig_gedcom.php file after line 86:
      $boolarray[false]="false";
      $boolarray[true]="true";

      I still don't know why the "yes" and "no" do not get translated to true and false on the editconfig.php page.  It just doesn't make sense that it would work one time and not the other time. :-(

      I wasn't able to reproduce your import errors, but when you import the gedcom you should get 3 sections of output.  The first section lists the execution time and how many bytes of the file have been processed.  The second section begins with "Updating is dead status for INDI" and calculates if the person is dead and then imports them into the database listing the execution time.  The third section begins with "Updating family names for FAM" and it calculates the sortable name for each family and then imports the families into the database.  Then you should get a message in blue text saying "Import Complete".  It sounds like the script isn't getting to the last two sections where the individual and family records are getting INSERTed into the database.  Try running the importgedcom script again and see if you get all three sections.  If you don't get to "import complete" then look at the source for the page and see if there are any hidden error messages down near the bottom of the page.

      --John

       
    • Gary Griffin

      Gary Griffin - 2003-09-18

      John

      Your 2 line patch works fine. As to the import errors, if I comment out line 129:

      // $fcontents = substr($fcontents,$pos2);

      from the same file, then the import succeeds. That line causes things to die.

      Gary

       
    • Gary Griffin

      Gary Griffin - 2003-09-21

      John

      I am continuing to have problems with 2.50 beta4. I added the 2 lines to both editconfig_gedcom.php and editconfig.php and am using a newer gedcom file with 6000+ INDIs and 2000 FAMI.

      When editconfig runs, it seems to create a correct config.php but when editconfig_gedcom runs

      1) The default GEDCOM name (defined in editconfig) field is missing. (red warning that file is missing when it is not)
      2) The <gedcom_file>_conf.php created is completely wrong. It is syntactically legal (no missing data) but does not reflect the data from the form. I changed $ENABLE_MULTI_LANGUAGE and $MEDIA_DIRECTORY_LEVELS among others and they are at the default entries and not in what I set.
      3) I manually changed the <gedcom_file>_conf.php to reflect what I wanted. When I run importgedcom.php it runs the first part and gets to 8000 records (at byte count 5238784) but then generates an error:

      Fatal Error: Allowed memory size of 20971520 bytes exhausted (tried to allocate 41 bytes) in <dir>/functions_mysql.php on line 409.

      It is still in the first phase of the import process.At this point, the only thing in the database are 2 records in pgv_other table. My gedcom file has a byte length of 5262347.

      At this point (after the error) I can no longer view any page of the phpGedview in the browser. It is hung. I can view other pages in the browser, but phpgedview pages stall (client == server) I have to killall -HUP httpd on the server and start all over. And restart my browser.

      If I restart and try using index instead of MySQL and use all the defaults, then the import succeeds. But when I click for a Pedigree chart, I get the error message:

      Fatal Error: Allowed memory size of 20971520 bytes exhausted (tried to allocate 41 bytes) in <dir>/index/test.ged_index.php in line 21693.

      The 3rd problem is a limit on my system, but I can't think of what it is.

      /etc/php.ini -> memory_limit=80M
      ulimit -s -> unlimited

      I can't think of any 20M limit that I have on my RH9 system. And do you really need to allocate 4x the gedcom file size in the MySQL version?

      If I make the gedcom file smaller (remove notes, sources, multimedia) it imports and displays fine in Index and MySQL mode.

       
    • Gary Griffin

      Gary Griffin - 2003-09-22

      I hate following up my own messages, but I must admit when I screw up. I had /etc/php.ini with a

      memory_limit=20M

      that caused me the problems. I hit that limit and things went crazy. I still don't understand why you allocate 4x the size of the gedcom file, but at least I understand why things didn't work. So you can ignore issue #3 from previous post.

      A new nit is that the size of the boxes in the Pedigree view are often large and overlap the neighbors. Especially true when you include the places in the box and they are long.

       
    • John Finlay

      John Finlay - 2003-09-22

      The default GEDCOM name that is defined in editconfig has been a confusing option for a long time.  It has nothing to do with the option in editconfig_gedcom.  I am going to get rid of it in the next release.  All it is for is to tell the program which imported GEDCOM to use if there hasn't been one specified yet and you are in a multi GEDCOM environment.  I need to move this into the editgedcoms.php page with a radio button beside the list of gedcoms.  It has nothing to do with importing a GEDCOM.

      I'm going to recommend that you start over with 2.50.  Erase all of your old 2.5b4 files and drop all of the tables in your database.

      4x the size of the GEDCOM seems to be what is needed by practical experience.  I would have thought that wouldn't be necessary with the new way of importing files.  You should only need 2x the size of the GEDCOM.

      --John

       

Log in to post a comment.