in reply to Re^2: DB open segfault
in thread DB open segfault

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?

Replies are listed 'Best First'.
Re^4: DB open segfault
by alexm (Chaplain) on Jan 09, 2008 at 17:28 UTC
    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.