BerkeleyDB LOG_INTEGRITY errors

Greetings!

We run BerkeleyDB incorporated in our java application. Normally, everything works fine. The problem occurs if we run two instances of the same application. The folder where the database files are created are separated for both. But it seems that when we stop something deletes files of database from running, and it crashes.

In a little more detail on how we run things:

(1)-> the init.d script starts a python module as long as root (2)-> start a Java program as a normal user (3)-> forks off java programs that use individual instances of BerkeleyDB (4).

So if we start (3) manually things seem to work perfectly even if we have two instances of 4. Is that when the full thing is executed that the error occurs - the first process works well, the second process begins and ends and then the first process hangs because all the contents of his database folder disappeared.

An additional point - if we put in place the HOME environment variable ' / root ' before you start (3) above - things are not lacking. We cannot do this for obvious reasons, but it's something we found by chance.

The stack trace is attached below. If anyone can shed some light on what may be the cause that will be very very useful.


Kind regards
Arnab.


Caused by: com.sleepycat.je.EnvironmentFailureException: (I 5.0.103) environment must be closed, caused by: com.sleepycat.je.EnvironmentFailureException: invalid environment because of the previous exception: (I 5.0.103) db com.sleepycat.je.EnvironmentFailureException: (I 5.0.103) db java.io.FileNotFoundException: db/00000001.jdb (no such file or directory) LOG_INTEGRITY: log information are incorrect, the problem is probably persistent. UNEXPECTED_EXCEPTION_FATAL: Internal Exception unexpectedly, unable to continue. Environment is not valid and must be closed.

at com.sleepycat.je.EnvironmentFailureException.wrapSelf(EnvironmentFailureException.java:246)

at com.sleepycat.je.dbi.EnvironmentImpl.checkIfInvalid(EnvironmentImpl.java:1618)

at com.sleepycat.je.dbi.CursorImpl.checkEnv(CursorImpl.java:2859)

at com.sleepycat.je.Cursor.checkEnv(Cursor.java:4181)

at com.sleepycat.je.Cursor.close(Cursor.java:517)

at com.sleepycat.je.Database.putInternal(Database.java:1584)

at com.sleepycat.je.Database.put(Database.java:1448)

to com.veracode.webscan.scanner.BerkeleyDbStorage$ Db.put (BerkeleyDbStorage.java:585)

to com.veracode.webscan.scanner.BerkeleyDbStorage$ Db.put (BerkeleyDbStorage.java:615)

to com.veracode.webscan.scanner.BerkeleyDbStorage$ Db.access$ 3400 (BerkeleyDbStorage.java:568)

to com.veracode.webscan.scanner.BerkeleyDbStorage$ NodeProviderImpl.setProp (BerkeleyDbStorage.java:850)

to com.veracode.webscan.scanner.BerkeleyDbStorage$ Node.setProp (BerkeleyDbStorage.java:148)

at com.veracode.dscancommon.util.BaseMutablePropsAsMutableProps.setProp(BaseMutablePropsAsMutableProps.java:62)

... 34 more

Caused by: com.sleepycat.je.EnvironmentFailureException: invalid environment because of the previous exception: (I 5.0.103) db com.sleepycat.je.EnvironmentFailureException: (I 5.0.103) db java.io.FileNotFoundException: db/00000001.jdb (no such file or directory) LOG_INTEGRITY: log information are incorrect, the problem is probably persistent. UNEXPECTED_EXCEPTION_FATAL: Internal Exception unexpectedly, unable to continue. Environment is not valid and must be closed.

at com.sleepycat.je.EnvironmentFailureException.unexpectedException(EnvironmentFailureException.java:351)

at com.sleepycat.je.log.LogBufferPool.writeBufferToFile(LogBufferPool.java:443)

at com.sleepycat.je.log.LogBufferPool.writeDirty(LogBufferPool.java:370)

at com.sleepycat.je.log.LogManager.multiLog(LogManager.java:426)

at com.sleepycat.je.log.LogManager.log(LogManager.java:350)

at com.sleepycat.je.tree.IN.logInternal(IN.java:3547)

at com.sleepycat.je.tree.IN.optionalLog(IN.java:3494)

at com.sleepycat.je.tree.IN.splitInternal(IN.java:2737)

at com.sleepycat.je.tree.IN.split(IN.java:2535)

at com.sleepycat.je.tree.Tree.forceSplit(Tree.java:1992)

at com.sleepycat.je.tree.Tree.searchSubTreeSplitsAllowed(Tree.java:1768)

at com.sleepycat.je.tree.Tree.searchSplitsAllowed(Tree.java:1318)

at com.sleepycat.je.tree.Tree.findBinForInsert(Tree.java:2246)

at com.sleepycat.je.dbi.CursorImpl.putInternal(CursorImpl.java:875)

at com.sleepycat.je.dbi.CursorImpl.put(CursorImpl.java:816)

at com.sleepycat.je.Cursor.putAllowPhantoms(Cursor.java:2397)

at com.sleepycat.je.Cursor.putNoNotify(Cursor.java:2352)

at com.sleepycat.je.Cursor.putNotify(Cursor.java:2260)

at com.sleepycat.je.Cursor.putNoDups(Cursor.java:2149)

at com.sleepycat.je.Cursor.putInternal(Cursor.java:2117)

at com.sleepycat.je.Database.putInternal(Database.java:1580)

... more than 41

Caused by: com.sleepycat.je.EnvironmentFailureException: (I 5.0.103) db java.io.FileNotFoundException: db/00000001.jdb (no such file or directory) LOG_INTEGRITY: log information are incorrect, the problem is probably persistent.

to com.sleepycat.je.log.FileManager$ LogEndFileDescriptor.getWritableFile (FileManager.java:2981)

to com.sleepycat.je.log.FileManager$ LogEndFileDescriptor.access$ 200 (FileManager.java:2682)

at com.sleepycat.je.log.FileManager.writeLogBuffer(FileManager.java:1607)

at com.sleepycat.je.log.LogBufferPool.writeBufferToFile(LogBufferPool.java:411)

... more than 60

Caused by: java.io.FileNotFoundException: db/00000001.jdb (no such file or directory)

at java.io.RandomAccessFile.open (Native Method)

in java.io.RandomAccessFile. < init >(Unknown Source)

in java.io.RandomAccessFile. < init >(Unknown Source)

to com.sleepycat.je.log.FileManager$ DefaultRandomAccessFile. < init > (FileManager.java:3181)

to com.sleepycat.je.log.FileManager$ 6.createFile(FileManager.java:3209)

at com.sleepycat.je.log.FileManager.openFileHandle(FileManager.java:1278)

at com.sleepycat.je.log.FileManager.makeFileHandle(FileManager.java:1245)

to com.sleepycat.je.log.FileManager.access$ 1500 (FileManager.java:76)

to com.sleepycat.je.log.FileManager$ LogEndFileDescriptor.getWritableFile (FileManager.java:2959)

... more than 63

Based on your description I guess that something outside or your script/application deletes files.  It is very unlikely that I delete all files in the directory of the environment.  We have never had a report of such a problem in any case, and it is difficult for me to imagine how it could happen.  For example, I clean / remove the two newer files.

I should also mention that we don't certify the product on Windows, so there is a possibility that you run in a file locking issue that we do not know.  Normally I use a lock file to ensure that only I process (JVM instance) can write in a given directory.  If you accidentally allow two virtual machines Java write in the same directory and Windows file locking is badly behave, which could cause the problem.  However, I think it's unlikely.

-mark

Tags: Database

Similar Questions

  • BerkeleyDb: safely remove environment files

    I use BerkeleyDb in a project. I have a few environments composed of several files. Sometimes, I need to delete some of these files.

    When I remove the file with the file system, open environment triggers an error no file or directory.

    There is a way of deleting a file safely in environment of BerkeleyDb?

    If you delete some files that are needed for the environment, then the expected error is the error you get.

    If you delete files then you need to put them back before opening the environment.

    If you can you please explain what you're trying to do, then I can give a more detailed response.

    If you take a look at the programmers reference manual, chapter i, section 11, we have information

    create, rename, remove files and resources supported to achieve this goal.

    Thank you

    Mike

  • The brand of TCL libraries error

    Hello

    I use BerkeleyDB version 5.2.36 and I configured using flags enable-cxx enable-debug enable-sql test activate enable-tcl with-tcl=/opt/Tcl8.4/lib.

    I get the text following error in the make command.

    libtool: link: ranlib.libs/libdb_tcl-5.2.a
    libtool: link: (cd ".libs" & & rm-f ' libdb_tcl - 5.2.la ' & & ln s "... /libdb_tcl-5.2.la" "libdb_tcl - 5.2.la")
    RM-f libdb_tcl.a
    ln-s.libs/libdb_tcl-5.2.a libdb_tcl.a
    Brand: Must be a separator in line 34 rules.  Stop.
    Error code 1

    Stop.

    I did not any changes to the Makefile after configure.

    Any help will be a great help.

    Thank you

    Hi Sandeep,

    I see what you mean. Searching the Internet for the expression "must be a line separator rules ' I see this kind of error is usually caused by a space in the Makefile, so that a tab is planned - have you edited by chance your Makefile? Also the particular version of make, you may be using longer than others. What compiler are you using and on what platform?

    Kind regards
    Carol

  • Error message: "Build signature does not match environment.

    Hello

    I had a problem when you try to access the same data to two different computers through the library of BerkeleyDB. I stored data in berkeley db to Machine_A. Then I copy the data to another machine Machine_B. When I try to open it again. It by the following error message:
    --------------------------------------------------------------------
    Create signature does not correspond to environment
    error in creating environment varialbe document 1
    --------------------------------------------------------------------
    The error message is raised by this code:
    Database db = env.openDatabase (null, null, dbName, dbConfig);


    The data are stored in native java code of Berkeley DB. In both machines, I used Berkeley DB 4.7.25.The berkeley db libraries are compiled independently on both machines. Machine_A is "Machine_A Linux 2.6.26 - 1-amd64 #1 SMP Sat Nov 8 18:25:23 UTC 2008 x86_64 GNU/Linux. Machine_B is "Linux MachineB 2.6.22 - 2-686 #1 SMP killed Aug 31 00:24:01 UTC 2007 i686 GNU/Linux",

    I guess the problem is because as the data itself contains version information. But it's ironic for me. The library is dependent on the computer because it is written in C, but the data must be dependent. Am I missing something?

    Thank you

    Marie-Claude

    Hello. Berkeley DB depends on having structures of uniform size for the life of the community, because these structures must be written and reading environment files. For this reason, each environment contains a signature of the size of the structure, and this stored signature is compared to a signature freshly calculated in open environment. My first guess as to why you see this error is that type sizes on Machine A (x86_64) don't match those of the Machine B (i686). To share files of the environment between 32 and 64-bit platforms, you will need to make sure that the library on the 64-bit platform uses 32-bit types sizes (4 bytes for example pointers, instead of 8-byte pointers.)

    Ben Schmeckpeper

  • error while loading shared libraries

    Hello

    I'm starting with Berkeley. So, in order to learn how to use it, I decided to follow the guide getted starting with Berkeley (c++ version).

    When I compile the very first example (creating a DB class) with a small main application in dynamic link I do something like this:

    --------
    do
    g ++ o MyDb.o - c MyDb.cpp - W - wall - ansi-pedantic
    g ++ o to main.c MyDb.o - I /users/n349069/BerkeleyDB.4.7/include-L /users/n349069/BerkeleyDB.4.7/lib-D_GNU_SOURCE-D_REENTRANT /users/n349069/BerkeleyDB.4.7/lib/libdb_cxx-4.7.so
    --------

    But when I try to run my program, I get this error:
    -------
    . / find
    . / find: error while loading shared libraries: libdb_cxx - 4.7.so: cannot open shared object file: no such file or directory
    -------

    As you can see, my install of Berkeley is in a personal directory. Is that what the problem is for this reason?


    How can I solve this problem?


    Thank you for your help

    Hello

    I try but... nothing changes. I try to do this:
    ------------
    command prompt: LD_LIBRARY_PATH=/users.n349069/BerkeleyDB.4.7/lib

    Please check if you set the variable of environment successfully. To set the environment variable, please use the 'export' in this way: "export LD_LIBRARY_PATH=/users.n349069/BerkeleyDB.4.7/lib:$LD_LIBRARY_PATH". To see if it is set successfully, please use 'env' to see a list of all environment variables and check the LD_LIBRARY_PATH variable in the list.

    If it does not, please reinstall Berkeley DB. Your message, I'm assuming that you are on * nix platform. You may refer to section 27 "building Berkeley DB for UNIX/POSIX" on http://www.oracle.com/technology/documentation/berkeley-db/db/ref/toc.html

    Kind regards
    Emily Fu, Oracle Berkeley DB

  • set_lk_max_locks error 'new' since the upgrade to 4.7.25

    Hello

    my program (written in C), which allows to work very well with BDB 4.4.20, returns an error on "set_lk_max_locks" with the version 4.7.25. The label of the error returned is "Invalid Argument."

    What should I do to upgrade my code to adapt it to the new version 4.7.25?

    Is there anything else I need to know to upgrade my code? (a web page that tells the liberation 4.4.20-> 4.7.25)

    Thank you.

    Hello. It seems that you do not specify an include path when compiling against 4.7. My guess is that you are there, including 4.4 db.h by accident and 4.7 is getting confused. Try d'ajouter-I/usr/local/BerkeleyDB.4.7/include to your order of CCG and let us know if this helps.

    -Ben

  • Uninstall software update Apple says error in seller contact package package unstaller

    Try to get itunes working to make a backup of my faulty iphone before repair.

    First-itunes does not start says error. I'm trying to fix it, who said success but same error when you try to start it.

    Then uninstall completely worked. Then reinstall that seemed to be over except for a message "an older version of Apple software update already exists" then he went down and install itunes apparently had not been completed.

    Then I try to remove the update from the apple software and executed by an error in the installation program - it says there is an error in the installation and contact the supplier of the installation package. Same error if I run the uninstall command line program.

    Try to repair the Apple Software Update of programs & features Control Panel and then try to update iTunes again.

    For general advice, see troubleshooting problems with iTunes for Windows updates.

    The steps described in the second case are a guide to remove everything related to iTunes and then rebuild what is often a good starting point, unless the symptoms indicate a more specific approach.

    Review the other boxes and other support documents list to the bottom of the page, in case one of them applies.

    The more information box has direct links with the current and recent if you have problems to download, must revert to an older version or want to try the version of iTunes for Windows (64-bit - for older video cards) as a workaround for problems with installation or operation, or compatibility with third-party software.

    Backups of your library and device should be affected by these measures but there are links to backup and recovery advice there.

    TT2

  • SUMIF error

    I'm new to apple and get a syntax error when you use SUMIF.  In my table, I just need column F to test the value of column E.  If it is greater than 0, then divide by 20.  Thank you!

    In cell F1

    = E1/if(E1>0, 20, 1)

    fill down as needed

  • An error in this Applescript that I can't understand

    Hi, I searched some forums and found this script below which I modified. It works great except for a single statement:

    runScript If = 1 then number error -128 I want the script to do is, when a USB drive is mounted and is in the ignoredVolumes as "USB Untitled" I want the script to stop. What I can't understand is, runScript is set to 1, "Untitled USB" Monte, runScript is not changed, why don't the script stops with an error "user cancelled"? On the other hand, if a key USB Monte is not in the ignoredVolumes, runScript is set to 2 and copy the file I want it. What hurts? It's probably something that will be very obvious when I see the answer.

    Thanks for any help with this problem,

    Mike.



    property ignoredVolumes: {'10,10 30 1. 5 't', 'files 1. 5 't', "Untitled USB"} - add if necessary

    property videoExtensions: {"avi", "mov", "mpg", "wmv", "mp4" and "mkv"}

    the value newVolume to the alias (POSIX file "/ Volumes/files 1.") ("5T / new")

    the value oldVolume to the alias (POSIX file "/ Volumes/files 1.") ("5T / old")

    game runScript to 1

                   tell application "System events".

    the value rootVolumes to disk (POSIX file ' / Volumes ' in the text)

    the value allVolumes to name of every element of disc of rootVolumes

    the value numofallVolumes to the County of allVolumes

    Repeat with the present book in allVolumes

    say application 'Finder '.

    if (the present book is not in ignoredVolumes and (this book as text) is not '. ') DS_Store') then

    if there are alias (POSIX (' / Volumes / "& the present book) as text file ) then game runScript to 2

    runScript If = 1 then number error -128 - it does not give a 'User cancelled' error when "Untitled USB" is mounted

    runScript If = 2 then

                                                                            try

    duplicate (elements whose name is in the videoExtensions extension) in alias (POSIX file (' / Volumes / "& the present book &" / new ") as text) to newVolume

    on error number errorNumber errorMessage

    _error value of errorMessage

    _errorNum the value to errorNumber

    If errorNumber is -15267 then

    display the dialog box "This file already exists in folder a." buttons {"OK", "No"} default button 1 with the title "Film copy error?" giving upwards after 10

    If the returned button of result is 'No' then

    Error number-128

    on the other

    If the result is 'OK' or back button gave up lead and then of

    eject the present book

    display the dialog box "U S B D r i v e E j e c t e d - K O t o R e m o v e" {"no need to click on this button"} default button 1 button give up after 5

    return

    end if

    end if

    end if

    end try

    Try

    duplicate (elements whose name is in the videoExtensions extension) in alias (POSIX file (' / Volumes / "& the present book &" / old ") as text) to oldVolume

    on error number errorNumber errorMessage

    _error value of errorMessage

    _errorNum the value to errorNumber

    If errorNumber is -15267 then

    display the dialog box "This file already exists in the folder B" buttons {"OK", "No"} default button 1 with the title "Film copy error?" giving upwards after 10

    If the returned button of result is 'No' then

    Error number-128

    on the other

    If the result is 'OK' or back button gave up lead and then of

    eject the present book

    display the dialog box "U S B D r i v e E j e c t e d - K O t o R e m o v e" {"no need to click on this button"} default button 1 button give up after 5

    return

    end if

    end if

    end if

    end try

    display the dialog box "USB key will Auto Eject in 10 seconds or click OK... "buttons button 1 with the title"copy Complete - Eject? "default {'OK', 'No'} which gives after 10

    If the returned button of result is 'No' then

    Error number-128

    on the other

    If the button returned of result is "OK" or gave up a result then ejection of the this book

    display the dialog box "U S B D r i v e E j e c t e d - K O t o R e m o v e" {"no need to click on this button"} default button 1 button give up after 5

    end if

    end if

    end if

    end say

    end Repeat

              end say

    The way in which your external block If is currently based, the script can't do anything when this book is in the ignoredVolumes, it can not yet test the runScript value. Try something like this:

    If the present book is in the ignoredVolumes then

    game runScript to 1

    on the other

    if (the present book as text is not '. ') DS_Store') then

    if there are alias (POSIX (' / Volumes / "& the present book) as text file ) then game runScript to 2

    end if

    end if


    Of course, you need to remove a "end if' the end of the script.



  • error message when try to sync the iPhone, "invalid response from the device?

    What can I do when I receive this error message when you try to sync to my iPhone 5 s - "invalid response from the device?

    -What are your 5 updating to 10.0.2 iOS iPhone? If this is the case, you must have the latest version of iTunes on your computer, which is required for Mac OS X 10.9.5 12.5.1, or above. To meet these specifications will be receiving this error.

  • Display Rotation error

    Hello

    I had a problem with the rotation of the screen under macOS Sierra function. As the screen rotates, there is an error that pop up and later that I'm unable to get into system-> Display Preferences. It is for me a "mistake preferably: County not load display preferences" message and I was unable to rotate the screen back. I started from the system in safe mode and temporarily solved the problem. But if I want to rotate the screen again, it pops up the same error again. I was using the rotation function pretty well in OS X El Capitan. But since I updated to macOS Sierra, I had this problem.

    I wanted to know if there is a lasting solution to this problem.

    I'm using macOS Sierra on MacBook (13-inch, early 2015) Air with processor 1.6 Ghz Intel Core i5 and 8 GB memory DDR3 at 1600 MHz with 128 GB of storage.

    Hello PavanGJ,

    Thank you for using communities Support from Apple. I see that since upgrading to Mac OS Sierra problems of screen rotation. The preferences window does not. I know how it is important for your Mac to work reliably. I'll be more than happy to help.

    Great job to test mode without failure. In Safe Mode disables most of the third-party services, it could be a compatibility problem with an application that you have. Check out this article:

    OS X El Capitan: If you have problems with startup items

    You can not hold account that the title suggests it's to El Capitan. It applies to macOS Sierra as well.

    You can also test the issue in a new user account.

    How to test a question in another account on your Mac - Apple Support

    Let us know if that helps.

    Take care!

  • A fact error 4014 showing each time after all the steps

    One of my friends has an iPhone 5 s and he lowered his 10 9.3.5 iOS iOS iPhone it started and inquired "side update" to the rest of the new software update points, but suddenly her iPhone off and does not turn, does not yet show the Apple Logo. I tried to restore it with the new version of the iOS 10.0.2, I file the software theipsw and then restoring the iPhone, iTunes showed me the message "waiting for iPhone" and ultimately showed me a message by this sentence "iPhone" his name' siphons ' could not be restored.» An unknown error occurred (4014).

    I checked the list of steps that Apple suggests their, but nothing happened then, always showing me the same error number. What should I do?

    Thank you for your help and appreciate it.

    I found the solution. Just type here for others with the same problem to solve their problems.

    While the "iTunes with cable" sign is showing and in your computer, showing you "Waiting for iPhone" and things occur, you should restart your iPhone (hold sleep/wake low and low home together for a few seconds) implemented after this attempt to restore your iPhone again you should recover your iPhone software.

    Thank you for your support and more.

  • Playgrounds are learning to code 1 download error

    I recently bought an iPad Mini 2 specifically so that I could use the app to playgrounds to learn about Swift.  Whenever I try to download the playing field 'Learn to Code 1 - basics of the swift' I get an error that says: "not taken download error supported URL.  I uninstalled and reinstalled the soft playgrounds several times.  Other playgrounds (as 'learning to Code 2 - beyond the basics') download very well.  How can I bypass or fix this error and get the first playground of lesson?

    Finally, the playing field is downloaded successfully!

  • Error Java Run After downloading the new Sierra

    Java is up to date and I get this error message. A couple of times, I have "updated" restarted. Still happens.

    Hi cjshrad,

    Thank you for contributing to the communities of Apple Support. I see in your message you receive a Java error after upgrade to Sierra on your Mac. I'd be happy to help with this!

    First of all, try to install the Java for OS X package found here:

    Download Java for OS X 2015-001

    The next step, if you still see this error, I recommend that you completely uninstall Java from your Mac by following the steps listed here:

    How to uninstall Java on my Mac?

    Once you're done, use this link to download and install the latest version of Java for your Mac:
    Download Java for your Mac - Apple Support

    Take care!

  • "error recovery main area".

    Hello

    I can not access my old video files of my 6 16 GB iPhone, I'm using iOS 10.  When I try to open the videos that I always meet the message 'area main-fetching error' I can't specify when this problem started, but I'm sure it was good when I was with iOS 9.3.3 However, recently filmed videos works perfectly.

    Same thing here. I bought the new iphone and took the backup from your old phone, but the videos do not work.

Maybe you are looking for

  • How to delete photo albums of my iPad

    I want to remove some family photo albums, I put on my iPad a few years; I put them there via iTunes, select the albums of my computer. I can't remove all right to my iPad. I have deselected the photo albums on the iTunes Photos tab and do not know w

  • Satellite Pro 6100-&gt; DVD playback is OK, but can not read CD

    I have Toshiba Satellite pro 6100 and the reader of CD/DVD SD-C2502 on winxp sp2.The drive did not read any CD/DVD at the outset.After a DVD lens cleaner, it plays DVDs, but the Player cannot read any CD incl. music CD The error is 'windows cannot re

  • Satellite A50-109: need drivers for Vista

    Abdoulaye all body... where can I find drivers for Vista... my PC is 'Satellite A50-109'

  • Where's my Windows 7 upgrade Kit?

    Hello I ordered my Kit to upgrade to Windows 7 in Februaryand still can not get it I tried to e-mail sent to [email protected] but no more of this service is not available Web site: www.toshibawin7upgrade.com does not work. So I

  • Computer crashes when tried to wake mode "Eve" in Vista

    My computer completely froze when I tried to wake him from sleep.  The button on the tower was blinking 'blue', but it was too frozen - provide no response from the computer.  In the end, I had to pull on the power cord.  What gives?  I am not given