in reply to DB open segfault

Aside from posting the code, the excerpt from the Apache's error_log that shows the actual error message would help a lot too.

On the other hand, please note that BerkeleyDB files are platform dependent, so you can't use a BDB from a GNU/Linux box on a Solaris SPARC.

Replies are listed 'Best First'.
Re^2: DB open segfault
by srfrogster (Initiate) on Jan 09, 2008 at 09:28 UTC
    Hi,
    the error message is: child pid xxxx exit signal Segmentation fault (11), possible coredump in /export/home, and it generates a core file.
    As I have wrote in the previous message, this error also appears when I execute in command line a simply perl script.

    About BDB, I downloaded the package from sunfreeware, selecting the one which is valid for x86/Solaris 10 (I forgot to tell you, the platform which I'm trying to run the cgi scripts is a x86)

    Thanks
      Well, I think I have discovered "why". These are the steps I have followed:
      - The files I'm trying to open with "dbmopen/tie" have already data inside, but this info hasn't been generated in the server where I'm getting the error.
      - These files ".dir" and ".pag" where copied from a workstation to a server via ftp, because they contain useful info to keep
      - In the workstation (where these files where created and updated), with the same code as in the server, these files are opened and closed without problems.
      - But after doing the ftp (with the same lenght in both machines), the files transferred to the server are unreadable when I try to use a "dbmopen" or "tie" with them.
      - However, if I generate a perl script which creates and reads the content of ".dir" and ".pag" files, it runs ok.
      - So, without all these ".dir", ".pag" files which already contains info, all the cgi's are shown ok.


      I have analize deeply this situation in both machines, and here are the results:
      * Server (SunOS 5.10 - Spanish, Perl 5.8.4) --> The "dir/pag" files created in the workstation, doesn't work here
      * Workstation 1 (SunOS 5.8 - English, Perl 5.8.7) --> The "dir/pag" files created in the server, doesn't work here

      I also have checked the "dir/pag" files into other workstation:
      * Workstation 2 (SunOS 5.8 - English, Perl 5.8.6) --> The "dir/pag" files created in the server, doesn't work here; however, the files from Workstation 1, works fine.

      I'm afraid this could be a problem from the OS, what do you think?
        In the workstation (where these files where created and updated), with the same code as in the server, these files are opened and closed without problems.
        Hence, it seems most probably a problem with the BDB version or platform.
        • First, please check the MD5 of the file on both hosts, so you're sure that are identical.
        • Then, see what file command says about the BDB file on each host.
        • Finally make sure that the BDB libraries have the same version.
        I'd bet that the server has a newer version than the workstations since it has Solaris 10.