SIGSEGV, com.sleepycat.dbxml.dbxml_javaJNI.XmlInputStream_change_ownership

Hello,
I'm experimenting crashes on adding a document, on RHEL5 64bit with both Sun JDK 1.5 and 1.6; and on RHEL4 32bit with JDK 1.5
Selinux is disabled on both RHEL.
The essential part of the jvm error is:
# An unexpected error has been detected by Java Runtime Environment:
# SIGSEGV (0xb) at pc=0x00002aaaaaf2124a, pid=22759, tid=1102199104
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.6.0_01-b06 mixed mode)
# Problematic frame:
# V [libjvm.so+0x35124a]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.sleepycat.dbxml.dbxml_javaJNI.XmlInputStream_change_ownership(Lcom/sleepycat/dbxml/XmlInputStream;JZ)V+0
j com.sleepycat.dbxml.XmlInputStream.swigReleaseOwnership()V+11
j com.sleepycat.dbxml.XmlDocument.setContentAsXmlInputStream(Lcom/sleepycat/dbxml/XmlInputStream;)V+12
j uk.ac.open.kmi.watson.crawler.dbxml.DbXMLDriver.processFile(Ljava/io/File;)V+169
j uk.ac.open.kmi.watson.crawler.processor.DbXMLWriter.innerProcess(Lorg/archive/crawler/datamodel/CrawlURI;)V+241
j org.archive.crawler.framework.Processor.process(Lorg/archive/crawler/datamodel/CrawlURI;)V+50
j org.archive.crawler.framework.ToeThread.processCrawlUri()V+127
j org.archive.crawler.framework.ToeThread.run()V+97
v ~StubRoutines::call_stub
In java I'm adding a document as:
XmlInputStream theStream = myManager.createLocalFileInputStream("/opt/watson/test.xml");
myDoc.setContentAsXmlInputStream(theStream);
and I have the above issues, if I drop XmlInputStream and just set the content as:
myDoc.setContent("<foo />");
Everything works, even on 50 threads.
Anybody encountered similar issues?
Thank you.
Laurian
Message was edited by:
user555161

Hi,
This is the output of the tests, java file put after:
MAC OS X
$ java -version
java version "1.5.0_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-154)
Java HotSpot(TM) Client VM (build 1.5.0_07-87, mixed mode, sharing)
RUN 1
$ java -Djava.library.path=/opt/watson/usr/dbxml/lib -cp build/classes:../../dbxml/lib/db.jar:../../dbxml/lib/dbxml.jar Test1
Dictionary - crawler - Define new name 1 -> {name,http://www.sleepycat.com/2002/dbxml}
Dictionary - crawler - Define new name 2 -> {root,http://www.sleepycat.com/2002/dbxml}
Dictionary - crawler - Define new name 3 -> dbxml
Dictionary - crawler - Define new name 4 -> http://www.sleepycat.com/2002/dbxml
Dictionary - crawler - Define new name 5 -> xml
Dictionary - crawler - Define new name 6 -> xmlns
Dictionary - crawler - Define new name 7 -> xsi
Dictionary - crawler - Define new name 8 -> xsd
Dictionary - crawler - Define new name 9 -> xs
Dictionary - crawler - Define new name 10 -> xlink
Dictionary - crawler - Define new name 11 -> xhtml
Dictionary - crawler - Define new name 12 -> http://www.w3.org/XML/1998/namespace/
Dictionary - crawler - Define new name 13 -> http://www.w3.org/XML/2000/xmlns/
Dictionary - crawler - Define new name 14 -> http://www.w3.org/2000/xmlns/
Dictionary - crawler - Define new name 15 -> http://www.w3.org/1999/xlink
Dictionary - crawler - Define new name 16 -> http://www.w3.org/2001/XMLSchema-instance
Dictionary - crawler - Define new name 17 -> http://www.w3.org/2001/XMLSchema
Dictionary - crawler - Define new name 18 -> http://www.w3.org/1999/xhtml
Dictionary - crawler - Define new name 19 -> id
Dictionary - crawler - Define new name 20 -> name
Container - crawler - Document storage container opened.
DB opened/created!
args:
test1 - for ading XML from a file (path as argument 2)
test2 - for ading XML from a string
test3 - for ading RDF/XML, namespace issue
Container - crawler - container closed.
RUN 2 - test 1
$ java -Djava.library.path=/opt/watson/usr/dbxml/lib -cp build/classes:../../dbxml/lib/db.jar:../../dbxml/lib/dbxml.jar Test1 test1 /opt/watson/test.xml
Container - crawler - Document storage container opened.
Container - crawler - Adding document: foo1176934467482
Dictionary - crawler - Define new name 51 -> http://maven.apache.org/POM/4.0.0
Dictionary - crawler - Define new name 52 -> {created,http://watson.kmi.open.ac.uk/crawler#}
Indexer - crawler - add unique-node-metadata-equality-string, key={Size=12 Hex=5a01666f6f31313736393334343637343832}, data={Size=3 Hex=000200}
Container - crawler - Added document successfully: foo1176934467482
Container - crawler - container closed.
java(1497,0x1804a00) malloc: *** Deallocation of a pointer not malloced: 0x333a00; This could be a double free(), or free() called with the middle of an allocated block; Try setting environment variable MallocHelp to see tools to help debug
RUN 3 - test 2
$ java -Djava.library.path=/opt/watson/usr/dbxml/lib -cp build/classes:../../dbxml/lib/db.jar:../../dbxml/lib/dbxml.jar Test1 test2
Container - crawler - Document storage container opened.
Container - crawler - Adding document: bar1176934723078
Indexer - crawler - add unique-node-metadata-equality-string, key={Size=12 Hex=5a0162617231313736393334373233303738}, data={Size=3 Hex=002000}
Container - crawler - Added document successfully: bar1176934723078
Container - crawler - container closed.
RUN 4 - test 3
$ java -Djava.library.path=/opt/watson/usr/dbxml/lib -cp build/classes:../../dbxml/lib/db.jar:../../dbxml/lib/dbxml.jar Test1 test3
Container - crawler - Document storage container opened.
Container - crawler - Adding document: bar1176934775465
Dictionary - crawler - Define new name 53 -> http://www.w3.org/1999/02/22-rdf-syntax-ns#
Dictionary - crawler - Define new name 54 -> http://www.recshop.fake/cd#
Indexer - crawler - add unique-node-metadata-equality-string, key={Size=12 Hex=5a0162617231313736393334373735343635}, data={Size=3 Hex=002a00}
Container - crawler - Added document successfully: bar1176934775465
Container - crawler - container closed.
==============================
RHEL 5
$ java -version
java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_01-b06, mixed mode)
RUN 1
$ java -Djava.library.path=/opt/watson/usr/dbxml/lib -cp build/classes:../../dbxml/lib/db.jar:../../dbxml/lib/dbxml.jar Test1
Dictionary - crawler - Define new name 1 -> {name,http://www.sleepycat.com/2002/dbxml}
Dictionary - crawler - Define new name 2 -> {root,http://www.sleepycat.com/2002/dbxml}
Dictionary - crawler - Define new name 3 -> dbxml
Dictionary - crawler - Define new name 4 -> http://www.sleepycat.com/2002/dbxml
Dictionary - crawler - Define new name 5 -> xml
Dictionary - crawler - Define new name 6 -> xmlns
Dictionary - crawler - Define new name 7 -> xsi
Dictionary - crawler - Define new name 8 -> xsd
Dictionary - crawler - Define new name 9 -> xs
Dictionary - crawler - Define new name 10 -> xlink
Dictionary - crawler - Define new name 11 -> xhtml
Dictionary - crawler - Define new name 12 -> http://www.w3.org/XML/1998/namespace/
Dictionary - crawler - Define new name 13 -> http://www.w3.org/XML/2000/xmlns/
Dictionary - crawler - Define new name 14 -> http://www.w3.org/2000/xmlns/
Dictionary - crawler - Define new name 15 -> http://www.w3.org/1999/xlink
Dictionary - crawler - Define new name 16 -> http://www.w3.org/2001/XMLSchema-instance
Dictionary - crawler - Define new name 17 -> http://www.w3.org/2001/XMLSchema
Dictionary - crawler - Define new name 18 -> http://www.w3.org/1999/xhtml
Dictionary - crawler - Define new name 19 -> id
Dictionary - crawler - Define new name 20 -> name
Container - crawler - Document storage container opened.
DB opened/created!
args:
test1 - for ading XML from a file (path as argument 2)
test2 - for ading XML from a string
test3 - for ading RDF/XML, namespace issue
Container - crawler - container closed.
RUN 2 - test 1
$ java -Djava.library.path=/opt/watson/usr/dbxml/lib -cp build/classes:../../dbxml/lib/db.jar:../../dbxml/lib/dbxml.jar Test1 test1 /opt/watson/test.xml
$ java -Djava.library.path=/opt/watson/usr/dbxml/lib -cp build/classes:../../dbxml/lib/db.jar:../../dbxml/lib/dbxml.jar Test1 test1 /opt/watson/test.xml
Container - crawler - Document storage container opened.
Container - crawler - Adding document: foo1176938860942
Dictionary - crawler - Define new name 51 -> http://maven.apache.org/POM/4.0.0
Dictionary - crawler - Define new name 52 -> {created,http://watson.kmi.open.ac.uk/crawler#}
Indexer - crawler - add unique-node-metadata-equality-string, key={Size=12 Hex=5a01666f6f31313736393338383630393432}, data={Size=3 Hex=000200}
Container - crawler - Added document successfully: foo1176938860942
Container - crawler - container closed.
RUNNING AGAIN
$ java -Djava.library.path=/opt/watson/usr/dbxml/lib -cp build/classes:../../dbxml/lib/db.jar:../../dbxml/lib/dbxml.jar Test1 test1 /opt/watson/test.xml
Container - crawler - Document storage container opened.
# An unexpected error has been detected by Java Runtime Environment:
# SIGSEGV (0xb) at pc=0x00002aaaaaf2124a, pid=6114, tid=1075882304
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.6.0_01-b06 mixed mode)
# Problematic frame:
# V [libjvm.so+0x35124a]
# An error report file with more information is saved as hs_err_pid6114.log
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
Aborted
In hs_err_pid6114.log:
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.sleepycat.dbxml.dbxml_javaJNI.XmlInputStream_change_ownership(Lcom/sleepycat/dbxml/XmlInputStream;JZ)V+0
j com.sleepycat.dbxml.XmlInputStream.swigReleaseOwnership()V+11
j com.sleepycat.dbxml.XmlDocument.setContentAsXmlInputStream(Lcom/sleepycat/dbxml/XmlInputStream;)V+12
j Test1.test1(Ljava/lang/String;)V+150
j Test1.main([Ljava/lang/String;)V+32
v ~StubRoutines::call_stub
RUN 3 - test 2
$ java -Djava.library.path=/opt/watson/usr/dbxml/lib -cp build/classes:../../dbxml/lib/db.jar:../../dbxml/lib/dbxml.jar Test1 test2
Container - crawler - Document storage container opened.
Container - crawler - Adding document: bar1176939020231
Indexer - crawler - add unique-node-metadata-equality-string, key={Size=12 Hex=5a0162617231313736393339303230323331}, data={Size=3 Hex=000700}
Container - crawler - Added document successfully: bar1176939020231
Container - crawler - container closed.
RUN 4 - test 3
$ java -Djava.library.path=/opt/watson/usr/dbxml/lib -cp build/classes:../../dbxml/lib/db.jar:../../dbxml/lib/dbxml.jar Test1 test3
Container - crawler - Document storage container opened.
Container - crawler - Adding document: bar1176939053875
Indexer - crawler - add unique-node-metadata-equality-string, key={Size=12 Hex=5a0162617231313736393339303533383735}, data={Size=3 Hex=001100}
Container - crawler - Added document successfully: bar1176939053875
Container - crawler - container closed.
JAVA FILE:
import com.sleepycat.db.Environment;
import com.sleepycat.db.EnvironmentConfig;
import com.sleepycat.db.LockDetectMode;
import com.sleepycat.db.Transaction;
import com.sleepycat.db.TransactionConfig;
import com.sleepycat.dbxml.XmlContainer;
import com.sleepycat.dbxml.XmlContainerConfig;
import com.sleepycat.dbxml.XmlDocument;
import com.sleepycat.dbxml.XmlException;
import com.sleepycat.dbxml.XmlInputStream;
import com.sleepycat.dbxml.XmlManager;
import com.sleepycat.dbxml.XmlManagerConfig;
import com.sleepycat.dbxml.XmlTransaction;
import com.sleepycat.dbxml.XmlUpdateContext;
import com.sleepycat.dbxml.XmlValue;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.util.TimeZone;
* Test1.java
* Created on April 18, 2007, 10:43 PM
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
* @author lg3388
public class Test1 {
public static final File TMP = new File("/tmp");
public static final File ENV = new File(TMP, "/foo");
static {
ENV.mkdirs();
public static final String container = "crawler";
private Environment myEnv;
private EnvironmentConfig envConf;
private XmlManager myManager;
private XmlContainer myContainer;
public void initialTasks() throws Exception {
EnvironmentConfig envConf = new EnvironmentConfig();
envConf.setErrorStream(System.err);
envConf.setAllowCreate(true);
//envConf.setRunRecovery(true);
envConf.setJoinEnvironment(true);
envConf.setInitializeLocking(true);
envConf.setInitializeLogging(true);
envConf.setInitializeCache(true);
envConf.setTransactional(true);
envConf.setLockDetectMode(LockDetectMode.DEFAULT);
envConf.setPrivate(false);
envConf.setTxnMaxActive(64);
envConf.setTxnTimeout(60*1000000);
envConf.setThreaded(true);
myEnv = new Environment(ENV, envConf);
XmlManagerConfig managerConfig = new XmlManagerConfig();
managerConfig.setAdoptEnvironment(true);
myManager = new XmlManager(myEnv, managerConfig);
myManager.setLogLevel(XmlManager.LEVEL_ALL, true);
myManager.setLogCategory(XmlManager.CATEGORY_ALL, true);
XmlContainerConfig containerConf = new XmlContainerConfig();
containerConf.setNodeContainer(false);
containerConf.setAllowValidation(false);
containerConf.setTransactional(true);
containerConf.setAllowCreate(true);
if ( myManager.existsContainer(container) != 0 ) {
myContainer = myManager.openContainer(container, containerConf);
} else {
myContainer = myManager.createContainer(container, containerConf);
public void finalTasks() throws Exception {
myContainer.close();
public void test1(String fileName) throws Exception {
// UTC unix timestamp
GregorianCalendar time = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
long stamp = time.getTimeInMillis();
Transaction tn = null;
TransactionConfig tc = new TransactionConfig();
//tc.setNoWait(true);
tn = myEnv.beginTransaction(null, tc);//
XmlTransaction txn = null;
try {
txn = myManager.createTransaction(tn);
XmlUpdateContext theContext = myManager.createUpdateContext();
String URI = "http://watson.kmi.open.ac.uk/crawler#";
String attrName = "created";
XmlValue attrValue = new XmlValue(XmlValue.DATE_TIME, new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(time.getTime()));
// @@@@@ THIS IS NOT IN TEST 2
// Get the input stream.
XmlInputStream theStream = myManager.createLocalFileInputStream(fileName);
// Get an XmlDocument
XmlDocument myDoc = myManager.createDocument();
// Set the document's name
myDoc.setName("foo" + Long.toString(stamp));
// @@@@@ THIS IS NOT IN TEST 2
// Set the content
myDoc.setContentAsXmlInputStream(theStream);
// Set the metadata
myDoc.setMetaData(URI, attrName, attrValue);
// Put the document into the container
myContainer.putDocument(txn, myDoc, theContext, null);
//free resources?
myDoc.delete();
txn.commit();
// free resources?
txn.delete();
} catch (XmlException e) {
e.printStackTrace();
if (txn != null) txn.abort();
public void test2(String content) throws Exception {
// UTC unix timestamp
GregorianCalendar time = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
long stamp = time.getTimeInMillis();
Transaction tn = null;
TransactionConfig tc = new TransactionConfig();
//tc.setNoWait(true);
tn = myEnv.beginTransaction(null, tc);//
XmlTransaction txn = null;
try {
txn = myManager.createTransaction(tn);
XmlUpdateContext theContext = myManager.createUpdateContext();
String URI = "http://watson.kmi.open.ac.uk/crawler#";
String attrName = "created";
XmlValue attrValue = new XmlValue(XmlValue.DATE_TIME, new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(time.getTime()));
// Get an XmlDocument
XmlDocument myDoc = myManager.createDocument();
// Set the document's name
myDoc.setName("bar" + Long.toString(stamp));
// @@@@ THIS IS THE DIFF TO TEST 1
// Set the content
myDoc.setContent(content);
// Set the metadata
myDoc.setMetaData(URI, attrName, attrValue);
// Put the document into the container
myContainer.putDocument(txn, myDoc, theContext, null);
//free resources?
myDoc.delete();
txn.commit();
// free resources?
txn.delete();
} catch (XmlException e) {
e.printStackTrace();
if (txn != null) txn.abort();
public static void main(String[] args) throws Exception {
Test1 test = new Test1();
test.initialTasks();
if (args.length > 0) {
if ("test1".equals(args[0])) test.test1(args[1]);
if ("test2".equals(args[0])) test.test2("<bar />");
if ("test3".equals(args[0])) test.test2(
"<rdf:RDF"
+ " xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' "
+ "xmlns:cd='http://www.recshop.fake/cd#'> "
+ "<rdf:Description"
+ " rdf:about='http://www.recshop.fake/cd/Empire Burlesque'>"
+ " <cd:artist>Bob Dylan</cd:artist>"
+ " <cd:country>USA</cd:country>"
+ " <cd:company>Columbia</cd:company>"
+ " <cd:price>10.90</cd:price>"
+ " <cd:year>1985</cd:year>"
+ "</rdf:Description></rdf:RDF>"
} else {
System.out.println("DB opened/created!");
System.out.println("args:");
System.out.println("test1 - for ading XML from a file (path as argument 2)");
System.out.println("test2 - for ading XML from a string");
System.out.println("test3 - for ading RDF/XML, namespace issue");
test.finalTasks();
}

Similar Messages

  • Error with com/sleepycat/db/EnvironmentConfig

    i have this message error when runing exampleLoadContainer.java in the examples
    java.lang.UnsupportedClassVersionError: com/sleepycat/db/EnvironmentConfig (Unsupported major.minor version 49.0)
         at java.lang.ClassLoader.defineClass0(Native Method)
         at java.lang.ClassLoader.defineClass(Unknown Source)
         at java.security.SecureClassLoader.defineClass(Unknown Source)
         at java.net.URLClassLoader.defineClass(Unknown Source)
         at java.net.URLClassLoader.access$100(Unknown Source)
         at java.net.URLClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at dbxml.gettingStarted.exampleLoadContainer.createEnv(exampleLoadContainer.java:143)
         at dbxml.gettingStarted.exampleLoadContainer.loadXmlFiles(exampleLoadContainer.java:163)
         at dbxml.gettingStarted.exampleLoadContainer.main(exampleLoadContainer.java:85)
    Exception in thread "main"

    Hi,
    Do you have multiple versions of Java (JDK and JVM) installed on your machine?
    It sounds a Java class was possibly compiled with version 5 and run with a 1.4 JVM?
    Make sure that the JVM you use for execution is at least as new as the version of javac that was use for compilation.
    Ron

  • Com.sleepycat.je.log.LogException: (JE 3.3.62) java.io.IOException: No lock

    Hi
    From today on my hosted machine facing issue in starting Integrated weblogic server within Jdeveloper.
    m/c machine is oel5 64 bit.
    jdev version : Studio Edition Version 11.1.1.2.0
    I tried all sorts of trick like chmod 777 -R /tmp removing edit.lok file etc. Finally I completely installed jdev and then reinstalled it, but without any luck.
    Now I am getting below errors:
    During installation below is the warning message:
    ==
    download/ORA11G/jdevstudio11112install.bin
    Extracting 0%....................................................................................................100%
    Mar 19, 2012 3:42:13 AM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCode
    WARNING: Could not lock User prefs. Unix error code 37.
    Mar 19, 2012 3:42:13 AM java.util.prefs.FileSystemPreferences syncWorld
    WARNING: Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
    Mar 19, 2012 3:42:43 AM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCode
    WARNING: Could not lock User prefs. Unix error code 37.
    Mar 19, 2012 3:42:43 AM java.util.prefs.FileSystemPreferences syncWorld
    WARNING: Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
    ==
    After running jdev
    ====
    Mar 19, 2012 3:43:33 AM oracle.ideimpl.persistence.BerkeleyDBEnvironment getNameSpace
    SEVERE: Unable to open environment /.jdeveloper/system11.1.1.2.36.55.36/oracle.javatools.cache
    com.sleepycat.je.log.LogException: (JE 3.3.62) java.io.IOException: No locks available
    ====
    Once I try to run the application
    ==
    Mar 19, 2012 3:44:57 AM oracle.security.jps.internal.credstore.ssp.CsfWalletManager createWallet
    WARNING: Cannot persist the wallet. Reason java.io.IOException: No locks available.
    Application Application1 is bound to Server Instance IntegratedWebLogicServer
    Starting Server Instance IntegratedWebLogicServer
    Mar 19, 2012 3:47:39 AM oracle.jps.credstore
    WARNING: Opening of wallet based credential store failed. Reason java.io.IOException: PKI-02002: Unable to open the wallet. Check password.
    Server Instance IntegratedWebLogicServer could not be started: Error starting Server Instance.
    ===
    Any suggestion ..., What might be wrong with my system or configuration. Note that it was working fine till Yesterday.

    I am also facing the same issue in my 64 bit linux machine. Any suggestions?
    Thanks.

  • NullPointerException at com.sleepycat.je.Environment.getThreadTransaction

    We are using je-3.2.44 in a production server and get the following exception 4 to 7 times per day. Is this a known bug? What causes it? Can a fix/patch be made available? Is there any way I can work around it?
    java.lang.NullPointerException
    at com.sleepycat.je.Environment.getThreadTransaction(Environment.java:1100)
    at com.sleepycat.persist.PrimaryIndex.put(PrimaryIndex.java:342)
    at com.sleepycat.persist.PrimaryIndex.put(PrimaryIndex.java:314)

    Sorry for the delay in response. Yes, one of the threads was closing the environment causing another thread to end up with this exception. We have resolved issue. Thanks!

  • Sleepycat::DbXml problem "httpd: symbol lookup error"

    Hi
    My english is not good (sorry) but I try to explain my problem
    I have apache2.2.9 with modperl 2.0.4 static; I have some perl modules (development by me) with Sleepycat::DbXml library; when ran "make test" for its modules all is fine (I also develop the test); I also use mason (1.37).
    When i tried to acces some page generated for maso I gotten the next messages (log/error):
    /usr/local/apache2.2/bin/httpd: symbol lookup error: /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Sleepycat/DbXml/DbXml.so: undefined symbol: _ZN5DbXml12XmlContainer10getManagerEv
    if I execute "ldd /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Sleepycat/DbXml/DbXml.so" the output is:
    linux-gate.so.1 => (0xb7f25000)
    libdbxml-2.4.so => /usr/lib/libdbxml-2.4.so (0xb7b97000)
    libdb_cxx-4.6.so => /usr/lib/libdb_cxx-4.6.so (0xb7a4b000)
    libxerces-c.so.28 => /usr/lib/libxerces-c.so.28 (0xb7643000)
    libxqilla.so.4 => /usr/lib/libxqilla.so.4 (0xb726f000)
    libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1 (0xb7263000)
    libc.so.6 => /lib/libc.so.6 (0xb7139000)
    libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libstdc++.so.6 (0xb7055000)
    libm.so.6 => /lib/libm.so.6 (0xb7030000)
    libpthread.so.0 => /lib/libpthread.so.0 (0xb7019000)
    libnsl.so.1 => /lib/libnsl.so.1 (0xb7002000)
    /lib/ld-linux.so.2 (0x80000000)
    my distribution is gentoo...
    maybe the problem is caused by
    - duplicate libraries with different versions
    - or old libraries
    I updated my system and delete duplicate libraries, but the problem continue
    anybody can help me? .... where can investigate?
    another question is: why the problem is present only with apache?
    thanks in advance

    thanks George
    My program ran out of apache.... you are right with your suggerence ... I have to do:
    my distribution is gentoo ... i have installed several versions of gcc (maybe this cause my problem), then with gcc-config command configure default version of gcc to 4.1.2 .... follow the instructions at:
    http://www.gentoo.org/doc/en/gcc-upgrading.xml
    and that's all
    see you

  • Aggresive com.sleepycat.je.txn.Txn.lockInternal Issue

    Last year my colleague opened an issue dealing with a number of issues we were viewing with berkeley je
    Re: Multiple issues, Berkeley JE 3.2.15, 3.2.76
    The main issue we have had was a call never returning
    "Thread-12" daemon prio=4 tid=0x0b174320 nid=0x72 in Object.wait() http://0x208cd000..0x208cdbb8
    at java.lang.Object.wait(Native Method)
    - waiting on <0xf4202fc0> (a com.sleepycat.je.txn.Txn)
    at com.sleepycat.je.txn.LockManager.lock(LockManager.java:227)
    - locked <0xf4202fc0> (a com.sleepycat.je.txn.Txn)
    at com.sleepycat.je.txn.Txn.lockInternal(Txn.java:295)
    at com.sleepycat.je.txn.Locker.lock(Locker.java:283)
    at com.sleepycat.je.dbi.CursorImpl.lockLNDeletedAllowed(CursorImpl.java:2375)
    at com.sleepycat.je.dbi.CursorImpl.lockLN(CursorImpl.java:2297)
    at com.sleepycat.je.dbi.CursorImpl.searchAndPosition(CursorImpl.java:1983)
    at com.sleepycat.je.Cursor.searchInternal(Cursor.java:1188)
    at com.sleepycat.je.Cursor.searchAllowPhantoms(Cursor.java:1158)
    at com.sleepycat.je.Cursor.search(Cursor.java:1024)
    at com.sleepycat.je.Database.get(Database.java:557).
    This issue never occurs in out test environments but we have seen this issue in a number of our deployments.
    We followed all the information supplied from Oracle and we upgraded to JE.3.3.77 in attempt to eradicate this issue.
    But we still have the issue and it has become a highly sensitive issue with one of our customers,
    The main changes we have made are to ensure that our recovery code did not fail to complete a transaction, which was suggested could lead to the deadlock.
    Has there been any other instances of this issue, and/or suggested fix
    Thanks
    Gary Farnan

    Hi Gary,
    Please send me email -- mark.hayes at the obvious (oracle.com).
    --mark                                                                                                                                                                           

  • Com.sleepycat.db.RunRecoveryException: DB_RUNRECOVERY error

    Hi all,
    Some time there will be such kind of error occur when initial the db envrironement:
    com.sleepycat.db.RunRecoveryException: DB_RUNRECOVERY: Fatal error, run database recovery: DB_RUNRECOVERY: Fatal error, run database recovery
         at com.sleepycat.db.internal.db_javaJNI.DbEnv_close0(Native Method)
         at com.sleepycat.db.internal.DbEnv.close0(DbEnv.java:204)
         at com.sleepycat.db.internal.DbEnv.close(DbEnv.java:81)
         at com.sleepycat.db.Environment.close(Environment.java:39)
         at com.ssc.crd.db.BerkeleyDBUtil.shutdown(BerkeleyDBUtil.java:215)
         at com.ssc.util.BDBContextListener.contextDestroyed(BDBContextListener.java:85)
         at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3770)
         at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4339)
         at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1066)
         at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1066)
         at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:447)
         at org.apache.catalina.core.StandardService.stop(StandardService.java:512)
         at org.apache.catalina.core.StandardServer.stop(StandardServer.java:743)
         at org.apache.catalina.startup.Catalina.stop(Catalina.java:601)
         at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
    And this issue can resolve by running db_recover -c, such as:
    C:\Work\Conf\Test\berkeley>db_recover -c
    And we try to use setRunRecovery(true); and setRunFatalRecovery(true);, but both failed.
    EnvironmentConfig envConf = new EnvironmentConfig();
    envConf.setRunRecovery(true);
    envConf.setRunFatalRecovery(true);
    Only run db_recover -c can resolve it. Why? And how to deal with it in code.
    Thanks.
    Jane

    But after I set all environment, there are some error occur when starting the tomcat server and failed to setup it, generate hs_err_pid3020.txt.
    Detail in hs_err_pid3020.txt:
    # An unexpected error has been detected by HotSpot Virtual Machine:
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x27d4e525, pid=3020, tid=2760
    # Java VM: Java HotSpot(TM) Client VM (1.5.0_08-b03 mixed mode)
    # Problematic frame:
    # C [libdb43.dll+0x3e525]
    --------------- T H R E A D ---------------
    Current thread (0x00238d50): JavaThread "main" [_thread_in_native, id=2760]
    siginfo: ExceptionCode=0xc0000005, reading address 0x00000018
    Registers:
    EAX=0x27dcda30, EBX=0x00000000, ECX=0x00808000, EDX=0x00000000
    ESP=0x0006f0e8, EBP=0x00000000, ESI=0x27dc4cb8, EDI=0x27dc4cb8
    EIP=0x27d4e525, EFLAGS=0x00010206
    Top of Stack: (sp=0x0006f0e8)
    0x0006f0e8: 27dcda30 ffff86ff 00800000 00000000
    0x0006f0f8: 27d50294 00800000 00000000 00800000
    0x0006f108: 00000000 27dc4cb8 00000016 00238e10
    0x0006f118: 00238d50 27458978 27dc4cb8 00000000
    0x0006f128: 00000000 00800000 00008000 27cf8035
    0x0006f138: 0000005c 27458978 0002e061 000001a4
    0x0006f148: 00238d50 231f4e28 231f4e20 0006f194
    0x0006f158: 00a0832f 00238e10 0006f19c 27dc4cb8
    Instructions: (pc=0x27d4e525)
    0x27d4e515: 00 3b c3 89 9e dc 00 00 00 74 12 8b 54 24 08 50
    0x27d4e525: 8b 42 18 50 56 e8 01 c1 02 00 83 c4 0c 8b 86 08
    Stack: [0x00030000,0x00070000), sp=0x0006f0e8, free space=252k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C [libdb43.dll+0x3e525]
    [error occurred during error reporting, step 120, id 0xc0000005]
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j com.sleepycat.db.internal.db_javaJNI.DbEnv_open(JLjava/lang/String;II)V+0
    j com.sleepycat.db.internal.DbEnv.open(Ljava/lang/String;II)V+7
    j com.sleepycat.db.EnvironmentConfig.openEnvironment(Ljava/io/File;)Lcom/sleepycat/db/internal/DbEnv;+312
    j com.sleepycat.db.Environment.<init>(Ljava/io/File;Lcom/sleepycat/db/EnvironmentConfig;)V+6
    j com.ssc.crd.db.BerkeleyDBUtil.setup()V+97
    j com.ssc.util.BDBContextListener.contextInitialized(Ljavax/servlet/ServletContextEvent;)V+10
    j org.apache.catalina.core.StandardContext.listenerStart()Z+429
    j org.apache.catalina.core.StandardContext.start()V+1244
    j org.apache.catalina.core.ContainerBase.addChildInternal(Lorg/apache/catalina/Container;)V+149
    j org.apache.catalina.core.ContainerBase.addChild(Lorg/apache/catalina/Container;)V+26
    j org.apache.catalina.core.StandardHost.addChild(Lorg/apache/catalina/Container;)V+25
    j org.apache.catalina.startup.HostConfig.deployWAR(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;)V+482
    j org.apache.catalina.startup.HostConfig.deployWARs(Ljava/io/File;[Ljava/lang/String;)V+163
    j org.apache.catalina.startup.HostConfig.deployApps()V+25
    j org.apache.catalina.startup.HostConfig.start()V+147
    j org.apache.catalina.startup.HostConfig.lifecycleEvent(Lorg/apache/catalina/LifecycleEvent;)V+132
    j org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Ljava/lang/String;Ljava/lang/Object;)V+68
    j org.apache.catalina.core.ContainerBase.start()V+306
    j org.apache.catalina.core.StandardHost.start()V+314
    j org.apache.catalina.core.ContainerBase.start()V+266
    j org.apache.catalina.core.StandardEngine.start()V+221
    j org.apache.catalina.core.StandardService.start()V+132
    j org.apache.catalina.core.StandardServer.start()V+88
    j org.apache.catalina.startup.Catalina.start()V+32
    v ~StubRoutines::call_stub
    j sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
    j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
    J sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    J java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    v ~RuntimeStub::alignment_frame_return Runtime1 stub
    j org.apache.catalina.startup.Bootstrap.start()V+37
    j org.apache.catalina.startup.Bootstrap.main([Ljava/lang/String;)V+158
    v ~StubRoutines::call_stub
    --------------- P R O C E S S ---------------
    Java Threads: ( => current thread )
    0x27388908 JavaThread "Dispatcher-Thread-1" daemon [_thread_blocked, id=3304]
    0x009c8780 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=2904]
    0x00238f80 JavaThread "CompilerThread0" daemon [_thread_blocked, id=560]
    0x009c6860 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2040]
    0x009bd840 JavaThread "Finalizer" daemon [_thread_blocked, id=3420]
    0x009bc368 JavaThread "Reference Handler" daemon [_thread_blocked, id=2584]
    =>0x00238d50 JavaThread "main" [_thread_in_native, id=2760]
    Other Threads:
    0x009b8138 VMThread [id=2484]
    0x009e35e0 WatcherThread [id=3052]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    def new generation total 36288K, used 31681K [0x02a80000, 0x051e0000, 0x051e0000)
    eden space 32256K, 90% used [0x02a80000, 0x046eae78, 0x04a00000)
    from space 4032K, 64% used [0x04df0000, 0x05075968, 0x051e0000)
    to space 4032K, 0% used [0x04a00000, 0x04a00000, 0x04df0000)
    tenured generation total 483968K, used 0K [0x051e0000, 0x22a80000, 0x22a80000)
    the space 483968K, 0% used [0x051e0000, 0x051e0000, 0x051e0200, 0x22a80000)
    compacting perm gen total 8192K, used 7782K [0x22a80000, 0x23280000, 0x26a80000)
    the space 8192K, 94% used [0x22a80000, 0x23219850, 0x23219a00, 0x23280000)
    No shared spaces configured.
    Dynamic libraries:
    0x00400000 - 0x0040d000      G:\Jianfang Ye\FM\20070129\Java\jre1.5.0_08\bin\java.exe
    0x77f80000 - 0x77ffc000      C:\WINNT\system32\ntdll.dll
    0x7c2d0000 - 0x7c335000      C:\WINNT\system32\ADVAPI32.dll
    0x7c570000 - 0x7c624000      C:\WINNT\system32\KERNEL32.dll
    0x77d30000 - 0x77d9f000      C:\WINNT\system32\RPCRT4.dll
    0x78000000 - 0x78045000      C:\WINNT\system32\MSVCRT.dll
    0x6d6c0000 - 0x6d85b000      G:\Jianfang Ye\FM\20070129\Java\jre1.5.0_08\bin\client\jvm.dll
    0x77e10000 - 0x77e79000      C:\WINNT\system32\USER32.dll
    0x77f40000 - 0x77f7c000      C:\WINNT\system32\GDI32.dll
    0x77570000 - 0x775a0000      C:\WINNT\system32\WINMM.dll
    0x6d280000 - 0x6d288000      G:\Jianfang Ye\FM\20070129\Java\jre1.5.0_08\bin\hpi.dll
    0x690a0000 - 0x690ab000      C:\WINNT\system32\PSAPI.DLL
    0x6d690000 - 0x6d69c000      G:\Jianfang Ye\FM\20070129\Java\jre1.5.0_08\bin\verify.dll
    0x6d300000 - 0x6d31d000      G:\Jianfang Ye\FM\20070129\Java\jre1.5.0_08\bin\java.dll
    0x6d6b0000 - 0x6d6bf000      G:\Jianfang Ye\FM\20070129\Java\jre1.5.0_08\bin\zip.dll
    0x6d4c0000 - 0x6d4d3000      G:\Jianfang Ye\FM\20070129\Java\jre1.5.0_08\bin\net.dll
    0x75030000 - 0x75044000      C:\WINNT\system32\WS2_32.dll
    0x75020000 - 0x75028000      C:\WINNT\system32\WS2HELP.DLL
    0x74fd0000 - 0x74fee000      C:\WINNT\system32\msafd.dll
    0x75010000 - 0x75017000      C:\WINNT\System32\wshtcpip.dll
    0x27cf0000 - 0x27d08000      G:\Jianfang Ye\FM\20070129\BDBXML\bin\libdb_java43.dll
    0x27d10000 - 0x27db7000      G:\Jianfang Ye\FM\20070129\BDBXML\bin\libdb43.dll
    0x7c340000 - 0x7c396000      G:\Jianfang Ye\FM\20070129\BDBXML\bin\MSVCR71.dll
    0x7c3a0000 - 0x7c41b000      G:\Jianfang Ye\FM\20070129\BDBXML\bin\MSVCP71.dll
    VM Arguments:
    jvm_args: -Dsiteminder=false -Dmyss=false -Dconfig.file=G:\Jianfang Ye\FM\20070129\config.properties -Dcom.ssc.eis.myssc.jvmglobal.configfile=G:\Jianfang Ye\FM\20070129\mssconfig-50_dev.xml -Xms512m -Xmx512m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=G:\Jianfang Ye\FM\20070129\apache-tomcat-5.5.17\conf\logging.properties -Djava.endorsed.dirs=G:\Jianfang Ye\FM\20070129\apache-tomcat-5.5.17\common\endorsed -Dcatalina.base=G:\Jianfang Ye\FM\20070129\apache-tomcat-5.5.17 -Dcatalina.home=G:\Jianfang Ye\FM\20070129\apache-tomcat-5.5.17 -Djava.io.tmpdir=G:\Jianfang Ye\FM\20070129\apache-tomcat-5.5.17\temp
    java_command: org.apache.catalina.startup.Bootstrap start
    Launcher Type: SUN_STANDARD
    Environment Variables:
    JAVA_HOME=C:\jdk1.3.1_10
    JRE_HOME=G:\Jianfang Ye\FM\20070129\Java\jre1.5.0_08
    CLASSPATH=C:\jdk1.3.1_10\lib\tools.jar;G:\Jianfang Ye\FM\20070129\apache-tomcat-5.5.17\bin\bootstrap.jar
    PATH=G:\Jianfang Ye\FM\20070129\BDBXML\bin; C:\jdk1.3.1_10\bin
    USERNAME=e461579
    OS=Windows_NT
    PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel
    --------------- S Y S T E M ---------------
    OS: Windows 2000 Build 2195 Service Pack 4
    CPU:total 1 (cores per cpu 1, threads per core 1) family 15 model 2 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2
    Memory: 4k page, physical 1046324k(275832k free), swap 2519928k(1509212k free)
    vm_info: Java HotSpot(TM) Client VM (1.5.0_08-b03) for windows-x86, built on Jul 26 2006 01:10:50 by "java_re" with MS VC++ 6.0

  • Com.sleepycat.db.Database.verify(), not working with encrypted db. bug?

    Hi,
    I have a berkeley database file encrypted with a password (In fact, there are two databases embedded in the same physical file). The Berkeley api version that I'm using is the 5.3.21:
    The databases work fine, and I can read all the encrypted data (in both databases)...
    However, if I try to verifiy the database with the method, com.sleepycat.db.Database.verify(), I get the following error...
    BDB0196 Encrypted checksum: no encryption key specified
    BDB0522 Page 0: metadata page corrupted
    BDB0196 Encrypted checksum: no encryption key specified
    BDB3016 C:\cneDir\env-cipher/inforep.db: pgin failed for page 0
    Even if setup the databaseConfig object with my password... This is the code that I'm using:
        private static void doVerify(String args[], String symmetricKey) {
            DatabaseConfig dbConfig;
            VerifyConfig verifyConfig;
            String filename;
            String dbName;
            boolean result;
            filename = args[0] + "/" + args[1];
            dbName   = args[2];
            dbConfig = new DatabaseConfig();
            dbConfig.setEncrypted(symmetricKey);
            System.out.println("Is encrypted: " + dbConfig.getEncrypted());
            dbConfig.setChecksum(true);
            verifyConfig = new VerifyConfig();
            verifyConfig.setNoOrderCheck(false);
            try {
                result = Database.verify(filename, dbName, System.out, verifyConfig, dbConfig);
                System.out.println("Everything is OK? " + result);
            } catch (Exception ex) {
                System.out.println("D OH!");
                ex.printStackTrace();
            }This forced me to take the source code of the Java API to see what is happening...
    Atfer looking the API source code, it seems to me that the method com.sleepycat.db.Database.verify(), never sets the password at any point of its execution... So, I take the source code and I modify the method to set my password (Hardcoded):
        public static boolean verify(final String fileName,
                                     final String databaseName,
                                     final java.io.PrintStream dumpStream,
                                     VerifyConfig verifyConfig,
                                     DatabaseConfig dbConfig)
            throws DatabaseException, java.io.FileNotFoundException {
            final Db db = DatabaseConfig.checkNull(dbConfig).createDatabase(null);
            //db.set_flags(DbConstants.DB_ENCRYPT);
            db.set_encrypt("1234", DbConstants.DB_ENCRYPT_AES);   //Here, 1234 is my password
            return db.verify(fileName, databaseName, dumpStream,
                             VerifyConfig.checkNull(verifyConfig).getFlags());
        }Atfer this modification, the method com.sleepycat.db.Database.verify() returns true and doesn't throw any exception. So, I'm guessing that this could be a bug, right??

    Hi Carlos,
    It is a bug and the fix will be included in the next release(6.0). Thank you for pointing out this issue.
    Regards,
    -Jin

  • XmlDocument.setContentAsXmlInputStream() cause  EXCEPTION_ACCESS_VIOLATION

    Product: Berkeley DBXML 2.3.10
    API: java
    OS: Windows XP
    Hi, I'm new to bdbxml am have a simple test pgm where I'm looping through a directory of xml docs and putting them into a container. Everything works ok using XmlContainer.put(String, XmlInputStream, XmlUpdateContext). Then I wanted to test adding some metadata so I switched to using XmlContainer.put(XmlDocument, XmlUpdateContext). After successfully inserting 3 documents on the 4th iteration the VM crashes executing XmlDocument.setContentAsXmlInputStream(XmlInputStream);
    Below is my test code along with the error / dump. The sample doesn't add any meta data, stripped that all out thinking it might have something to do with the error but no luck.
    <pre>
    import com.sleepycat.dbxml.XmlManager;
    import com.sleepycat.dbxml.XmlContainer;
    import com.sleepycat.dbxml.XmlManagerConfig;
    import com.sleepycat.dbxml.XmlContainerConfig;
    import com.sleepycat.dbxml.XmlUpdateContext;
    import com.sleepycat.dbxml.XmlInputStream;
    import com.sleepycat.dbxml.XmlDocument;
    import com.sleepycat.db.EnvironmentConfig;
    import com.sleepycat.db.Environment;
    import java.io.File;
    public class LoadWithMetadataTest {
    public static void main(String[] args) {
    if (args.length != 3) {
    System.out.println("syntax: CreateContainer [db-env-home-dir] [container-name] [xml-doc-dir]");
    System.exit(1);
    File envHome = new File(args[0]);
    String containerName = args[1];
    File xmlDocDir = new File(args[2]);
    XmlManager xmlMgr = null;
    XmlContainer xmlCntr = null;
    XmlUpdateContext xmlUpdtCtx = null;
    try {
    XmlManager.setLogLevel(XmlManager.LEVEL_ALL, true);
    XmlManager.setLogCategory(XmlManager.CATEGORY_ALL, true);
    EnvironmentConfig eCfg = new EnvironmentConfig();
    eCfg.setErrorStream(System.err);
    eCfg.setAllowCreate(true);
    eCfg.setInitializeLocking(true);
    eCfg.setInitializeLogging(true);
    eCfg.setInitializeCache(true);
    eCfg.setTransactional(true);
    eCfg.setRunRecovery(true);
    Environment env = new Environment(envHome, eCfg);
    XmlManagerConfig xmlMgrCfg = new XmlManagerConfig();
    xmlMgrCfg.setAdoptEnvironment(true);
    xmlMgr = new XmlManager(env, xmlMgrCfg);
    XmlContainerConfig xmlCntrCfg = new XmlContainerConfig();
    xmlCntrCfg.setAllowValidation(false);
    xmlCntrCfg.setNodeContainer(true);
    xmlCntrCfg.setIndexNodes(true);
    xmlCntr = xmlMgr.createContainer(containerName, xmlCntrCfg);
    xmlUpdtCtx = xmlMgr.createUpdateContext();
    String uri = "http://pvs/metadata";
    File[] files = xmlDocDir.listFiles();
    int i = 0;
    // -- Loop and load container via with xml docs via XmlDocument. Code
    // below will successfully insert 3 docs then VM will crash.
    for (File f: files) {
    XmlInputStream stream =
    xmlMgr.createLocalFileInputStream(f.getAbsolutePath());
    XmlDocument xmlDoc = xmlMgr.createDocument();
    xmlDoc.setContentAsXmlInputStream(stream);
    xmlDoc.setName("key-" + i++);
    xmlCntr.putDocument(xmlDoc, xmlUpdtCtx);
    System.out.println("Document loaded, " + i);
    stream.delete();
    xmlDoc.delete();
    // -- NOTE: This method of loading the container works!
    // for (File f: files) {
    // XmlInputStream stream =
    // xmlMgr.createLocalFileInputStream(f.getAbsolutePath());
    // xmlCntr.putDocument("key-" + i++, stream, xmlUpdtCtx);
    // System.out.println("Document loaded # " + i);
    } catch (Exception ex) {
    ex.printStackTrace();
    } finally {
    if (xmlUpdtCtx != null) xmlUpdtCtx.delete();
    if (xmlCntr != null) xmlCntr.delete();
    if (xmlMgr != null) xmlMgr.delete();
    </pre>
    And the Error is:
    <pre>
    Document loaded, 1
    Document loaded, 2
    Document loaded, 3
    # An unexpected error has been detected by HotSpot Virtual Machine:
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d7cbac7, pid=1984, tid=680
    # Java VM: Java HotSpot(TM) Client VM (1.5.0_09-b01 mixed mode, sharing)
    # Problematic frame:
    # V [jvm.dll+0x9bac7]
    --------------- T H R E A D ---------------
    Current thread (0x000378d0): JavaThread "main" [_thread_in_vm, id=680]
    siginfo: ExceptionCode=0xc0000005, writing address 0x00006500
    Registers:
    EAX=0x28020378, EBX=0x28096b70, ECX=0x0000deab, EDX=0x00006500
    ESP=0x0007f5e0, EBP=0x0007f658, ESI=0x00006500, EDI=0x00037990
    EIP=0x6d7cbac7, EFLAGS=0x00010206
    Top of Stack: (sp=0x0007f5e0)
    0x0007f5e0: 000378d0 6d7c1200 00006500 000378d0
    0x0007f5f0: 00000006 00037990 0366c3b4 0322117d
    0x0007f600: 00037990 00006500 000378d0 28096b70
    0x0007f610: 032248a4 00037990 0007f674 00a6a800
    0x0007f620: 00ad832f 00037990 0007f660 0007f674
    0x0007f630: 0366c3a8 00000000 00000000 0007f63c
    0x0007f640: 00000000 0007f674 280998a8 00000000
    0x0007f650: 28096b70 0007f668 0007f694 00ad29e3
    Instructions: (pc=0x6d7cbac7)
    0x6d7cbab7: 56 e8 a0 f7 00 00 59 85 f6 74 07 a1 30 af 8a 6d
    0x6d7cbac7: 89 06 5e c3 56 8b 74 24 08 68 30 af 8a 6d 8b ce
    Stack: [0x00040000,0x00080000), sp=0x0007f5e0, free space=253k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    V [jvm.dll+0x9bac7]
    j com.sleepycat.dbxml.XmlInputStream.swigReleaseOwnership()V+11
    j com.sleepycat.dbxml.XmlDocument.setContentAsXmlInputStream(Lcom/sleepycat/dbxml/XmlInputStream;)V+12
    j LoadWithMetadataTest.main([Ljava/lang/String;)V+256
    v ~StubRoutines::call_stub
    V [jvm.dll+0x86e84]
    V [jvm.dll+0xddead]
    V [jvm.dll+0x86d55]
    V [jvm.dll+0xf1f59]
    V [jvm.dll+0xa4d04]
    C [java.dll+0x6d11]
    j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
    j sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
    j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+111
    j com.intellij.rt.execution.application.AppMain.main([Ljava/lang/String;)V+120
    v ~StubRoutines::call_stub
    V [jvm.dll+0x86e84]
    V [jvm.dll+0xddead]
    V [jvm.dll+0x86d55]
    V [jvm.dll+0x8dda7]
    C [java.exe+0x14c5]
    C [java.exe+0x69cd]
    C [kernel32.dll+0x16fd7]
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j com.sleepycat.dbxml.dbxml_javaJNI.XmlInputStream_change_ownership(Lcom/sleepycat/dbxml/XmlInputStream;JZ)V+0
    j com.sleepycat.dbxml.XmlInputStream.swigReleaseOwnership()V+11
    j com.sleepycat.dbxml.XmlDocument.setContentAsXmlInputStream(Lcom/sleepycat/dbxml/XmlInputStream;)V+12
    j LoadWithMetadataTest.main([Ljava/lang/String;)V+256
    v ~StubRoutines::call_stub
    j sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
    j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
    j sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
    j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+111
    j com.intellij.rt.execution.application.AppMain.main([Ljava/lang/String;)V+120
    v ~StubRoutines::call_stub
    --------------- P R O C E S S ---------------
    Java Threads: ( => current thread )
    0x00acfab0 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=1764]
    0x00a72708 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3504]
    0x00a71380 JavaThread "CompilerThread0" daemon [_thread_blocked, id=2904]
    0x00a70668 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2716]
    0x00a6b568 JavaThread "Finalizer" daemon [_thread_blocked, id=4056]
    0x00a6ab30 JavaThread "Reference Handler" daemon [_thread_blocked, id=1964]
    =>0x000378d0 JavaThread "main" [_thread_in_vm, id=680]
    Other Threads:
    0x00a687d8 VMThread [id=2492]
    0x00a73a88 WatcherThread [id=3172]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    --------------- S Y S T E M ---------------
    OS: Windows XP Build 2600 Service Pack 2
    CPU:total 2 (cores per cpu 2, threads per core 1) family 6 model 15 stepping 6, cmov, cx8, fxsr, mmx, sse, sse2
    Memory: 4k page, physical 2095468k(1224784k free), swap 4194303k(4194303k free)
    vm_info: Java HotSpot(TM) Client VM (1.5.0_09-b01) for windows-x86, built on Sep 7 2006 13:59:31 by "java_re" with MS VC++ 6.0
    </pre>
    Thanks,
    Danny

    Hi George,
    Thanks for the solution. I'm running into an issue trying to build.
    Some background information
    1. Downloaded Berkeley DB XML 2.3.10.tar.gz from Oracle
    2. Environment cygwin on windows
    3. Using gcc and g++ (from cygwin distro)
    4. Using make (from cygwin distro)
    5. Command sh buildall.sh --enable-java
    Ran across the following compile error:
    In file included from nodeStore/NsDocument.hpp:14,
    from Indexer.cpp:24:
    nodeStore/NsFormat.hpp: In static member function `static int DbXml::NsFormat::unmarshalMAPMToTemporary(const xmlbyte_t*, M
    APMstruct&, Numeric::State*)':
    nodeStore/NsFormat.hpp:448: error: call of overloaded `unmarshalInt(const xmlbyte_t*&, int*)' is ambiguous
    More details below:
    ==============
    make[1]: Entering directory `/cygdrive/c/temp/install/dbxml-2.3.10/dbxml/src/dbxml'
    g++ -c -I/cygdrive/c/temp/install/dbxml-2.3.10/dbxml/build_unix -I/cygdrive/c/temp/install/dbxml-2.3.10/dbxml/build_unix/.
    ./dist/../include -I/cygdrive/c/temp/install/dbxml-2.3.10/dbxml/build_unix/../dist/../src/dbxml -I/cygdrive/c/temp/install/
    dbxml-2.3.10/dbxml/build_unix/../dist/../src/common -I/cygdrive/c/temp/install/dbxml-2.3.10/install/include -I/cygdrive/c/t
    ools/Java/jdk1.5.0_09/include -g -O2 Buffer.cpp -DPIC -o /cygdrive/c/temp/install/dbxml-2.3.10/dbxml/build_unix/.libs/Buff
    er.o
    g++ -c -I/cygdrive/c/temp/install/dbxml-2.3.10/dbxml/build_unix -I/cygdrive/c/temp/install/dbxml-2.3.10/dbxml/build_unix/.
    ./dist/../include -I/cygdrive/c/temp/install/dbxml-2.3.10/dbxml/build_unix/../dist/../src/dbxml -I/cygdrive/c/temp/install/
    dbxml-2.3.10/dbxml/build_unix/../dist/../src/common -I/cygdrive/c/temp/install/dbxml-2.3.10/install/include -I/cygdrive/c/t
    ools/Java/jdk1.5.0_09/include -g -O2 Buffer.cpp -o /cygdrive/c/temp/install/dbxml-2.3.10/dbxml/build_unix/Buffer.o >/dev/nu
    ll 2>&1
    g++ -c -I/cygdrive/c/temp/install/dbxml-2.3.10/dbxml/build_unix -I/cygdrive/c/temp/install/dbxml-2.3.10/dbxml/build_unix/.
    ./dist/../include -I/cygdrive/c/temp/install/dbxml-2.3.10/dbxml/build_unix/../dist/../src/dbxml -I/cygdrive/c/temp/install/
    dbxml-2.3.10/dbxml/build_unix/../dist/../src/common -I/cygdrive/c/temp/install/dbxml-2.3.10/install/include -I/cygdrive/c/t
    ools/Java/jdk1.5.0_09/include -g -O2 Indexer.cpp -DPIC -o /cygdrive/c/temp/install/dbxml-2.3.10/dbxml/build_unix/.libs/Ind
    exer.o
    In file included from nodeStore/NsDocument.hpp:14,
    from Indexer.cpp:24:
    nodeStore/NsFormat.hpp: In static member function `static int DbXml::NsFormat::unmarshalMAPMToTemporary(const xmlbyte_t*, M
    APMstruct&, Numeric::State*)':
    nodeStore/NsFormat.hpp:448: error: call of overloaded `unmarshalInt(const xmlbyte_t*&, int*)' is ambiguous
    nodeStore/NsFormat.hpp:271: note: candidates are: static int DbXml::NsFormat::unmarshalInt(const xmlbyte_t*, u_int32_t*) <n
    ear match>
    nodeStore/NsFormat.hpp:98: note: static int DbXml::NsFormat::unmarshalInt(const xmlbyte_t*, int32_t*) <near match>
    nodeStore/NsFormat.hpp:449: error: call of overloaded `unmarshalInt(const xmlbyte_t*&, int*)' is ambiguous
    nodeStore/NsFormat.hpp:271: note: candidates are: static int DbXml::NsFormat::unmarshalInt(const xmlbyte_t*, u_int32_t*) <n
    ear match>
    nodeStore/NsFormat.hpp:98: note: static int DbXml::NsFormat::unmarshalInt(const xmlbyte_t*, int32_t*) <near match>
    make[1]: *** [cygdrive/c/temp/install/dbxml-2.3.10/dbxml/build_unix/Indexer.lo] Error 1
    make[1]: Leaving directory `/cygdrive/c/temp/install/dbxml-2.3.10/dbxml/src/dbxml'
    make: *** [dbxml_subdir] Error 2
    Thanks,
    Danny

  • Dbxml Core Dump Seg Fault

    Hi - We are currently using dbxml for many years successfully on CentOS and FreeBSD.  Recently,we have been trying to get our dbxml application to run on Joyent's SmartOS platform. 
    Through the help of Joyent, we are able to build sbxml 2.5.16 binaries on smartos.  Build ntes here:
    https://github.com/joyent/smartos-live/issues/236
    However, when we run the application, the java core dumps - both on jdk 7 and jdk 6.  Same code runs find on other platforms.  Core dump is included in the above post.  Not sure if anyone here might have an idea on what is causing this. 

    Hi Lauren,
    Thanks for the response.  Here is what I posted about this on the smartos forums.  They helped me in getting dbxml to compile on smartos.  Including using an xquilla patch:
    OK, so the build problem you're having there appears to be an error in the C++ source for xqilla. This diff appears to fix that:
    --- pristine/dbxml-2.5.16/xqilla/src/items/DatatypeFactoryTemplate.hpp 2009-01-07 11:46:13.000000000 +0000 +++ dbxml-2.5.16/xqilla/src/items/DatatypeFactoryTemplate.hpp 2013-07-11 08:17:00.638395661 +0000 @@ -79,7 +79,7 @@ AnyAtomicType::Ptr createInstance(const XMLCh* value, const DynamicContext* context) const { - return createInstanceNoCheck(DatatypeFactoryTemplate<TYPE>::getPrimitiveTypeURI(), + return this->createInstanceNoCheck(DatatypeFactoryTemplate<TYPE>::getPrimitiveTypeURI(), DatatypeFactoryTemplate<TYPE>::getPrimitiveTypeName(), value, context); }
    Here is the post about the core dump:
    Hi - OK, so apparently, the newly compiled code core dumps the JVM every time I try to call the openContainer method.
    At first, I thought this was a code issue or a jdk 7 issue. However, I've compiled dbxml on smartos via the instructions in above thread using both jdk 6 and jdk 7 and I get the same core dump on the same call.
    Also, tested the code on jdk 7 and jdk 6 on FreeBSD, Linux and Solaris and everything works OK.
    I also thought it was a problem with my data, but I tried this create a fresh container using dbxml shell.
    Same thing. So it seems to be a problem with the dbxml build specific to smartos.
    Anyone have any ideas on where I can start looking for a solution?
    $ /opt/local/java/bin/java -d64 -cp ...
    srv context: java.io.BufferedInputStream@1f2f0ce
    A fatal error has been detected by the Java Runtime Environment:
    SIGSEGV (0xb) at pc=0x000000000028a89d, pid=4151, tid=2
    JRE version: 7.0_25-b15
    Java VM: Java HotSpot(TM) 64-Bit Server VM (23.25-b01 mixed mode solaris-amd64 compressed oops)
    Problematic frame:
    C 0x000000000028a89d
    Core dump written. Default location: /home/nxd/srv/adm/core or core.4151
    An error report file with more information is saved as:
    /home/nxd/srv/adm/hs_err_pid4151.log
    If you would like to submit a bug report, please visit:
    http://bugreport.sun.com/bugreport/crash.jsp
    Abort (core dumped)
    ========CORE DUMP
    A fatal error has been detected by the Java Runtime Environment:
    SIGSEGV (0xb) at pc=0x000000000028a89d, pid=4116, tid=2
    JRE version: 7.0_25-b15
    Java VM: Java HotSpot(TM) 64-Bit Server VM (23.25-b01 mixed mode solaris-amd64 compressed oops)
    Problematic frame:
    C 0x000000000028a89d
    Core dump written. Default location: /home/test/srv/adm/core or core.4116
    If you would like to submit a bug report, please visit:
    http://bugreport.sun.com/bugreport/crash.jsp
    The crash happened outside the Java Virtual Machine in native code.
    See problematic frame for where to report the bug.
    T H R E A D
    Current thread (0x000000000041e000): JavaThread "main" [_thread_in_native, id=2, stack(0xfffffd7ffe800000,0xfffffd7ffea00000)]
    siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x000000000028a89d
    Registers:
    RAX=0x000000000028a89d, RBX=0x0000000000000001, RCX=0x0000000002b27ea0, RDX=0x474e5543432b2b00
    RSP=0xfffffd7ffe9fec88, RBP=0xfffffd7ffe9fee30, RSI=0x0000000000000001, RDI=0x0000000000000001
    R8 =0xfffffd7ffe9fecb0, R9 =0xfffffd7fbfeb8e60, R10=0x0000000000000434, R11=0xfffffd7fff202df0
    R12=0x0000000002b27ec0, R13=0x0000000000000002, R14=0x0000000000000001, R15=0x0000000002b28630
    RIP=0x000000000028a89d, RFLAGS=0x0000000000010286
    Top of Stack: (sp=0xfffffd7ffe9fec88)
    0xfffffd7ffe9fec88: fffffd7fff2a2e50 fffffd7ffe9fecc0
    0xfffffd7ffe9fec98: 00000001ff3fc800 fffffd7ffe9fee50
    0xfffffd7ffe9feca8: 0000000002b27ea0 fffffd7ffe9fefa0
    0xfffffd7ffe9fecb8: fffffd7fff3b1422 0000000002b27ea0
    0xfffffd7ffe9fecc8: 0000000002b9b530 fffffd7fbfeefd90
    0xfffffd7ffe9fecd8: fffffd7ff53b7fb3 fffffd7ffe9ff190
    0xfffffd7ffe9fece8: fffffd7ffe9ff090 0000000000000000
    0xfffffd7ffe9fecf8: 0000000000000001 0000000000000000
    0xfffffd7ffe9fed08: ffffff00000000ff 0000000002b8cf00
    0xfffffd7ffe9fed18: fffffd7ffe9ff110 0000000002b1ea40
    0xfffffd7ffe9fed28: 0000000002582310 0000000000000000
    0xfffffd7ffe9fed38: 0000000000000001 6d2e42494c534f5f
    0xfffffd7ffe9fed48: 0000000002b1ea40 0000000000000000
    0xfffffd7ffe9fed58: 0000000000000000 fffffd7ffe9ff080
    0xfffffd7ffe9fed68: fffffd7ffe9ff000 0000000000000000
    0xfffffd7ffe9fed78: 0000000000000000 697600656e6f6e2d
    0xfffffd7ffe9fed88: 2d65646f6e007765 0000000002b27ec0
    0xfffffd7ffe9fed98: 0000000000000002 0000000000000001
    0xfffffd7ffe9feda8: 0000000002b28630 fffffd7ffe9ff090
    0xfffffd7ffe9fedb8: fffffd7fbfe81442 fffffd7fbfe3be1d
    0xfffffd7ffe9fedc8: fffffd7fbfc51f28 000000000028a89d
    0xfffffd7ffe9fedd8: fffffd7fbfe81108 fffffd7fbfeb8e60
    0xfffffd7ffe9fede8: 0000000000000434 fffffd7ffe9fecb0
    0xfffffd7ffe9fedf8: 0000000100000000 fffffd7fbfc9f120
    0xfffffd7ffe9fee08: 0000000002b1ea40 0000000002b27ec0
    0xfffffd7ffe9fee18: 0000000000000001 fffffd7ffe9fee50
    0xfffffd7ffe9fee28: 0000000002b27ea0 fffffd7ffe9fefb0
    0xfffffd7ffe9fee38: fffffd7fff2a302f 00000000000006c9
    0xfffffd7ffe9fee48: 0000000002b27ea0 fffffd7ffe9fefa0
    0xfffffd7ffe9fee58: fffffd7fff3b1422 0000000002b27ea0
    0xfffffd7ffe9fee68: 0000000002b9b530 fffffd7fbfeefd90
    0xfffffd7ffe9fee78: fffffd7ff53b7fb3 fffffd7ffe9ff190
    Instructions: (pc=0x000000000028a89d)
    0x000000000028a87d:
    [error occurred during error reporting (printing registers, top of stack, instructions near pc), id 0xb]
    Register to memory mapping:
    RAX=0x000000000028a89d is an unknown value
    RBX=0x0000000000000001 is an unknown value
    RCX=0x0000000002b27ea0 is an unknown value
    RDX=0x474e5543432b2b00 is an unknown value
    RSP=0xfffffd7ffe9fec88 is pointing into the stack for thread: 0x000000000041e000
    RBP=0xfffffd7ffe9fee30 is pointing into the stack for thread: 0x000000000041e000
    RSI=0x0000000000000001 is an unknown value
    RDI=0x0000000000000001 is an unknown value
    R8 =0xfffffd7ffe9fecb0 is pointing into the stack for thread: 0x000000000041e000
    R9 =0xfffffd7fbfeb8e60: _ZTSN5DbXml23DbXmlDebugHookDecoratorE+0x13040 in /home/test/srv/bdbxml.smartos_jdk7/lib/libdbxml-2.5.so at 0xfffffd7fbfc00000
    R10=0x0000000000000434 is an unknown value
    R11=0xfffffd7fff202df0: memcpy+0x60 in /lib/amd64/libc.so.1 at 0xfffffd7fff190000
    R12=0x0000000002b27ec0 is an unknown value
    R13=0x0000000000000002 is an unknown value
    R14=0x0000000000000001 is an unknown value
    R15=0x0000000002b28630 is an unknown value
    Stack: [0xfffffd7ffe800000,0xfffffd7ffea00000], sp=0xfffffd7ffe9fec88, free space=2043k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C 0x000000000028a89d
    C [libc.so.1+0x11302f] SUNW_Unwind_RaiseException+0x50
    C [libstdc++.so.6.0.13+0x1380db] __cxa_throw+0x9b
    C [libdbxml-2.5.so+0x281442] DbXml::SyntaxDatabase::SyntaxDatabase(const DbXml::Syntax(_db_env*, DbXml::Transaction(std::basic_string < char, std::char_traits, std::allocator >, bool, const DbXml::ContainerConfig(bool)&)*)*)+0x33a
    C [libdbxml-2.5.so+0x23be1d] DbXml::Container::openIndexDbs(DbXml::Transaction(const DbXml::ContainerConfig&)*)+0x203
    C [libdbxml-2.5.so+0x23c5a5] DbXml::Container::openInternal(DbXml::Transaction(const DbXml::ContainerConfig(bool)&)*)+0x649
    C [libdbxml-2.5.so+0x23ce52] DbXml::Container::Container(DbXml::Manager(std::basic_string < char, std::char_traits, std::allocator >, DbXml::Transaction(const DbXml::ContainerConfig(bool)&)*)&)+0x212
    C [libdbxml-2.5.so+0x26e2f1] DbXml::Manager::ContainerStore::findContainer(void&, std::basic_string < char, std::char_traits, std::allocator >, DbXml::Transaction(const DbXml::ContainerConfig(bool)&)*)+0xb7
    C [libdbxml-2.5.so+0x26e4b9] DbXml::Manager::openContainer(std::basic_string < char, std::char_traits, std::allocator >, DbXml::Transaction(const DbXml::ContainerConfig(bool)&)*)+0x11b
    C [libdbxml-2.5.so+0x28fa45] DbXml::XmlManager::openContainer(std::basic_string < char, std::char_traits, std::allocator >, const DbXml::XmlContainerConfig&)+0x73
    C [libdbxml_java-2.5.so+0x61b68] Java_com_sleepycat_dbxml_dbxml_1javaJNI_XmlManager_1openContainerInternal_1_1SWIG_10+0x106
    j com.sleepycat.dbxml.dbxml_javaJNI.XmlManager_openContainerInternal__SWIG_0(JLcom/sleepycat/dbxml/XmlManager;Ljava/lang/String;[ILjava/lang/String;)J+0
    j com.sleepycat.dbxml.XmlManager.openContainerInternal(Ljava/lang/String;Lcom/sleepycat/dbxml/XmlContainerConfig;)Lcom/sleepycat/dbxml/XmlContainer;+18
    j com.sleepycat.dbxml.XmlManager.openContainer(Ljava/lang/String;Lcom/sleepycat/dbxml/XmlContainerConfig;)Lcom/sleepycat/dbxml/XmlContainer;+3
    j com.lightspoke.dbx.dao.DbxContainerManager.()V+411
    j com.lightspoke.dbx.service.DbxRMIEngine.()V+45
    j com.lightspoke.dbx.service.DbxRMIEngine.main([Ljava/lang/String;)V+29
    v ~StubRoutines::call_stub
    V [libjvm.so+0x54e5d1] void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x5d1
    V [libjvm.so+0x54e81b] void JavaCalls::call(JavaValue*,methodHandle,JavaCallArguments*,Thread*)+0x2b
    V [libjvm.so+0x638695] jni_CallStaticVoidMethod+0x5c1
    C [libjli.so+0x4d83] JavaMain+0x5e7
    C [libc.so.1+0x10cfaa] _thrp_setup+0x8a
    C [libc.so.1+0x10d2c0] _lwp_start+0x0
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j com.sleepycat.dbxml.dbxml_javaJNI.XmlManager_openContainerInternal__SWIG_0(JLcom/sleepycat/dbxml/XmlManager;Ljava/lang/String;[ILjava/lang/String;)J+0
    j com.sleepycat.dbxml.XmlManager.openContainerInternal(Ljava/lang/String;Lcom/sleepycat/dbxml/XmlContainerConfig;)Lcom/sleepycat/dbxml/XmlContainer;+18
    j com.sleepycat.dbxml.XmlManager.openContainer(Ljava/lang/String;Lcom/sleepycat/dbxml/XmlContainerConfig;)Lcom/sleepycat/dbxml/XmlContainer;+3
    j com.lightspoke.dbx.dao.DbxContainerManager.()V+411
    j com.lightspoke.dbx.service.DbxRMIEngine.()V+45
    j com.lightspoke.dbx.service.DbxRMIEngine.main([Ljava/lang/String;)V+29
    v ~StubRoutines::call_stub
    P R O C E S S
    Java Threads: ( => current thread )
    0x0000000002410000 JavaThread "Socket Server Thread-2" [_thread_in_native, id=20, stack(0xfffffd7ff4000000,0xfffffd7ff4200000)]
    0x0000000002405000 JavaThread "KaRMI Object Queue" daemon [_thread_blocked, id=19, stack(0xfffffd7ff4400000,0xfffffd7ff4600000)]
    0x00000000021eb800 JavaThread "Service Thread" daemon [_thread_blocked, id=17, stack(0xfffffd7ff4800000,0xfffffd7ff4a00000)]
    0x00000000021e9800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=16, stack(0xfffffd7ffe6ef000,0xfffffd7ffe7ef000)]
    0x00000000021e6800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=15, stack(0xfffffd7ffec0f000,0xfffffd7ffed0f000)]
    0x00000000021e4800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=14, stack(0xfffffd7ff4c00000,0xfffffd7ff4e00000)]
    0x000000000217b800 JavaThread "Finalizer" daemon [_thread_blocked, id=13, stack(0xfffffd7ff5000000,0xfffffd7ff5200000)]
    0x0000000002174800 JavaThread "Reference Handler" daemon [_thread_blocked, id=12, stack(0xfffffd7ffe000000,0xfffffd7ffe200000)]
    =>0x000000000041e000 JavaThread "main" [_thread_in_native, id=2, stack(0xfffffd7ffe800000,0xfffffd7ffea00000)]
    Other Threads:
    0x000000000216c000 VMThread [stack: 0xfffffd7ffe2af000,0xfffffd7ffe3af000] [id=11]
    0x0000000002205800 WatcherThread [stack: 0xfffffd7ffdeff000,0xfffffd7ffdfff000] [id=18]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    PSYoungGen total 19712K, used 16342K [0x00000000eaa00000, 0x00000000ec000000, 0x0000000100000000)
    eden space 16896K, 96% used [0x00000000eaa00000,0x00000000eb9f5a00,0x00000000eba80000)
    from space 2816K, 0% used [0x00000000ebd40000,0x00000000ebd40000,0x00000000ec000000)
    to space 2816K, 0% used [0x00000000eba80000,0x00000000eba80000,0x00000000ebd40000)
    ParOldGen total 43008K, used 0K [0x00000000c0000000, 0x00000000c2a00000, 0x00000000eaa00000)
    object space 43008K, 0% used [0x00000000c0000000,0x00000000c0000000,0x00000000c2a00000)
    PSPermGen total 22528K, used 7661K [0x00000000bae00000, 0x00000000bc400000, 0x00000000c0000000)
    object space 22528K, 34% used [0x00000000bae00000,0x00000000bb57b450,0x00000000bc400000)
    Card table byte_map: [0xfffffd7ff8c00000,0xfffffd7ff8e2a000] byte_map_base: 0xfffffd7ff8629000
    Polling page: 0xfffffd7fff000000
    Code Cache [0xfffffd7ff9000000, 0xfffffd7ff9400000, 0xfffffd7ffc000000)
    total_blobs=371 nmethods=41 adapters=283 free_code_cache=48554Kb largest_free_block=49715392
    Compilation events (10 events):
    Event: 0.848 Thread 0x00000000021e9800 nmethod 34 0xfffffd7ff9072a90 code [0xfffffd7ff9072be0, 0xfffffd7ff9072c78]
    Event: 0.848 Thread 0x00000000021e9800 35 java.util.ArrayList::get (11 bytes)
    Event: 0.848 Thread 0x00000000021e9800 nmethod 35 0xfffffd7ff90788d0 code [0xfffffd7ff9078a20, 0xfffffd7ff9078ad8]
    Event: 0.854 Thread 0x00000000021e9800 36 ! sun.misc.URLClassPath$JarLoader::getResource (91 bytes)
    Event: 0.894 Thread 0x00000000021e9800 nmethod 36 0xfffffd7ff9080490 code [0xfffffd7ff9080840, 0xfffffd7ff9082128]
    Event: 0.907 Thread 0x00000000021e9800 37 java.io.UnixFileSystem::parentOrNull (118 bytes)
    Event: 0.917 Thread 0x00000000021e9800 nmethod 37 0xfffffd7ff907ddd0 code [0xfffffd7ff907df40, 0xfffffd7ff907e598]
    Event: 0.968 Thread 0x00000000021e6800 nmethod 32 0xfffffd7ff908bf50 code [0xfffffd7ff908c660, 0xfffffd7ff90909c8]
    Event: 1.019 Thread 0x00000000021e9800 38 java.util.Arrays::copyOf (19 bytes)
    Event: 1.021 Thread 0x00000000021e9800 nmethod 38 0xfffffd7ff908a250 code [0xfffffd7ff908a3a0, 0xfffffd7ff908a578]
    GC Heap History (0 events):
    No events
    Deoptimization events (6 events):
    Event: 0.351 Thread 0x000000000041e000 Uncommon trap -34 fr.pc 0xfffffd7ff9062f04
    Event: 0.352 Thread 0x000000000041e000 Uncommon trap -34 fr.pc 0xfffffd7ff9062f04
    Event: 0.438 Thread 0x000000000041e000 Uncommon trap -83 fr.pc 0xfffffd7ff9067068
    Event: 0.638 Thread 0x000000000041e000 Uncommon trap -83 fr.pc 0xfffffd7ff9067908
    Event: 0.668 Thread 0x000000000041e000 Uncommon trap -83 fr.pc 0xfffffd7ff9076094
    Event: 0.669 Thread 0x000000000041e000 Uncommon trap -12 fr.pc 0xfffffd7ff9065848
    Internal exceptions (10 events):
    Event: 1.079 Thread 0x000000000041e000 Threw 0x00000000eb94b5b8 at /export/HUDSON/workspace/jdk7u25-2-build-solaris-amd64-product/jdk7u25/hotspot/src/share/vm/prims/jvm.c
    Event: 1.563 Thread 0x000000000041e000 Threw 0x00000000eb972960 at /export/HUDSON/workspace/jdk7u25-2-build-solaris-amd64-product/jdk7u25/hotspot/src/share/vm/prims/jvm.c
    Event: 1.564 Thread 0x000000000041e000 Threw 0x00000000eb9756c0 at /export/HUDSON/workspace/jdk7u25-2-build-solaris-amd64-product/jdk7u25/hotspot/src/share/vm/prims/jvm.c
    Event: 1.564 Thread 0x000000000041e000 Threw 0x00000000eb97fc60 at /export/HUDSON/workspace/jdk7u25-2-build-solaris-amd64-product/jdk7u25/hotspot/src/share/vm/prims/jvm.c
    Event: 1.565 Thread 0x000000000041e000 Threw 0x00000000eb983ed0 at /export/HUDSON/workspace/jdk7u25-2-build-solaris-amd64-product/jdk7u25/hotspot/src/share/vm/prims/jvm.c
    Event: 1.565 Thread 0x000000000041e000 Threw 0x00000000eb98d390 at /export/HUDSON/workspace/jdk7u25-2-build-solaris-amd64-product/jdk7u25/hotspot/src/share/vm/prims/jvm.c
    Event: 1.566 Thread 0x000000000041e000 Threw 0x00000000eb992830 at /export/HUDSON/workspace/jdk7u25-2-build-solaris-amd64-product/jdk7u25/hotspot/src/share/vm/prims/jvm.c
    Event: 1.566 Thread 0x000000000041e000 Threw 0x00000000eb996070 at /export/HUDSON/workspace/jdk7u25-2-build-solaris-amd64-product/jdk7u25/hotspot/src/share/vm/prims/jvm.c
    Event: 1.567 Thread 0x000000000041e000 Threw 0x00000000eb9a1d10 at /export/HUDSON/workspace/jdk7u25-2-build-solaris-amd64-product/jdk7u25/hotspot/src/share/vm/prims/jvm.c
    Event: 1.738 Thread 0x000000000041e000 Threw 0x00000000eb9a6840 at /export/HUDSON/workspace/jdk7u25-2-build-solaris-amd64-product/jdk7u25/hotspot/src/share/vm/prims/jvm.c
    Events (10 events):
    Event: 1.565 loading class 0x0000000002a678c0
    Event: 1.565 loading class 0x0000000002a678c0 done
    Event: 1.566 loading class 0x0000000002a67960
    Event: 1.566 loading class 0x0000000002a67960 done
    Event: 1.566 loading class 0x00000000022d9f00
    Event: 1.566 loading class 0x00000000022d9f00 done
    Event: 1.567 loading class 0x0000000002a67eb0
    Event: 1.567 loading class 0x0000000002a67eb0 done
    Event: 1.738 loading class 0x00000000022d9d40
    Event: 1.738 loading class 0x00000000022d9d40 done
    Dynamic libraries:
    0x0000000000400000 /opt/local/jdk1.7.0_25/bin/amd64/dbxrmijvm
    0xfffffd7ffd85c000 /usr/lib/amd64/libthread.so.1
    0xfffffd7ffd700000 /opt/local/jdk1.7.0_25/bin/amd64/../../jre/lib/amd64/jli/libjli.so
    0xfffffd7ffe56f000 /usr/lib/amd64/libdl.so.1
    0xfffffd7fff190000 /usr/lib/amd64/libc.so.1
    0xfffffd7ffc1a0000 /opt/local/jdk1.7.0_25/jre/lib/amd64/server/libjvm.so
    0xfffffd7ffea40000 /usr/lib/amd64/libsocket.so.1
    0xfffffd7ffd85b000 /usr/lib/amd64/libsched.so.1
    0xfffffd7ffc180000 /usr/lib/amd64/libm.so.1
    0xfffffd7ffc150000 /usr/lib/amd64/libCrun.so.1
    0xfffffd7ffdaef000 /usr/lib/amd64/libdoor.so.1
    0xfffffd7ffc110000 /usr/lib/amd64/libdemangle.so.1
    0xfffffd7ffeee0000 /usr/lib/amd64/libm.so.2
    0xfffffd7ffed10000 /usr/lib/amd64/libnsl.so.1
    0xfffffd7ffeab0000 /usr/lib/amd64/libmd.so.1
    0xfffffd7ffea90000 /usr/lib/amd64/libmp.so.2
    0xfffffd7ffc0f0000 /opt/local/jdk1.7.0_25/jre/lib/amd64/libverify.so
    0xfffffd7ffc0a0000 /opt/local/jdk1.7.0_25/jre/lib/amd64/libjava.so
    0xfffffd7ffe670000 /usr/lib/amd64/libscf.so.1
    0xfffffd7ffeba0000 /usr/lib/amd64/libuutil.so.1
    0xfffffd7ffead0000 /usr/lib/amd64/libgen.so.1
    0xfffffd7ffedb0000 /usr/lib/amd64/libnvpair.so.1
    0xfffffd7ffe650000 /usr/lib/amd64/libsmbios.so.1
    0xfffffd7ffc070000 /opt/local/jdk1.7.0_25/jre/lib/amd64/libzip.so
    0xfffffd7ffc040000 /opt/local/jdk1.7.0_25/jre/lib/amd64/libnet.so
    0xfffffd7ffc020000 /opt/local/jdk1.7.0_25/jre/lib/amd64/libnio.so
    0xfffffd7ffeb20000 /usr/lib/amd64/librt.so.1
    0xfffffd7ffc000000 /usr/lib/amd64/libsendfile.so.1
    0xfffffd7ffdd30000 /home/test/srv/bdbxml.smartos_jdk7/lib/libdb_java-4.8.so
    0xfffffd7ffdb60000 /usr/lib/amd64/libresolv.so.2
    0xfffffd7ffeacd000 /usr/lib/amd64/libpthread.so.1
    0xfffffd7ffe630000 /usr/lib/amd64/libgcc_s.so.1
    0xfffffd7ffe220000 /home/test/srv/bdbxml.smartos_jdk7/lib/libdbxml_java-2.5.so
    0xfffffd7ffd950000 /home/test/srv/bdbxml/lib/libdb-4.8.so
    0xfffffd7fc0400000 /home/test/srv/bdbxml/lib/libxqilla.so.5
    0xfffffd7fc0000000 /home/test/srv/bdbxml/lib/libxerces-c-3.0.so
    0xfffffd7fbfc00000 /home/test/srv/bdbxml/lib/libdbxml-2.5.so
    0xfffffd7ff5280000 /usr/lib/amd64/libstdc++.so.6
    VM Arguments:
    jvm_args: -Xss2048k -Djava.library.path=/home/test/srv/bdbxml/lib:/home/test/bdb/lib:/usr/lib:/usr/local/lib:/lib:/usr/lib/amd64: -Djava.rmi.server.codebase=/home/test/srv/lib/dbxrmi.jar -Duka.karmi.config=/home/test/srv/adm/.karmi.property -Djava.rmi.server.hostname=test.gaoxiong -Djava.security.policy=/home/test/adm/DbxRMI.policy -Dlog4j.configuration=file:/home/test/adm/log4j.xml
    java_command: com.lightspoke.dbx.service.DbxRMIEngine
    Launcher Type: SUN_STANDARD
    Environment Variables:
    JAVA_HOME=/opt/local/java
    PATH=/opt/local/java/bin:/home/test/srv/bdbxml/bin:/opt/local/java/bin:/home/test/srv/bdbxml/bin:/opt/local/java/bin:/home/test/srv/bdbxml/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/usr/sbin:/home/test/srv/bdbxml/bin:
    LD_LIBRARY_PATH=/home/test/srv/bdbxml/lib:/home/test/bdb/lib:/usr/lib:/usr/local/lib:/lib:/usr/lib/amd64:
    SHELL=/bin/bash
    Signal Handlers:
    SIGSEGV: [libjvm.so+0x11b37b4], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
    SIGBUS: [libjvm.so+0x11b37b4], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
    SIGFPE: [libjvm.so+0x53fc78], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
    SIGPIPE: [libjvm.so+0x53fc78], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
    SIGXFSZ: [libjvm.so+0x53fc78], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
    SIGILL: [libjvm.so+0x53fc78], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
    SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
    SIGUSR2: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
    SIGQUIT: [libjvm.so+0xff8ea8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
    SIGHUP: [libjvm.so+0xff8ea8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
    SIGINT: [libjvm.so+0xff8ea8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
    SIGTERM: [libjvm.so+0xff8ea8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
    SIG39: [libjvm.so+0xffd27c], sa_mask[0]=0x00000000, sa_flags=0x00000008
    SIG40: [libjvm.so+0x53fc78], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
    S Y S T E M
    OS: SmartOS x86_64
    Copyright 2010 Sun Microsystems, Inc. All Rights Reserved.
    Copyright 2010-2012 Joyent, Inc. All Rights Reserved.
    Use is subject to license terms.
    See uname -v for assembly date and time.
    uname:SunOS 5.11 joyent_20130530T224720Z i86pc
    (T2 libthread)
    rlimit: STACK 10240k, CORE infinity, NOFILE 65536, AS infinity
    load average:0.01 0.00 0.00
    CPU:total 8 (4 cores per cpu, 1 threads per core) family 6 model 15 stepping 11, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, tsc
    Memory: 4k page, physical 4194304k(4142372k free)
    vm_info: Java HotSpot(TM) 64-Bit Server VM (23.25-b01) for solaris-amd64 JRE (1.7.0_25-b15), built on Jun 5 2013 21:57:39 by "" with Sun Studio 12u1
    time: Tue Aug 6 01:12:44 2013
    elapsed time: 2 seconds

  • Jetty AS / dbxml crash

    Hi,
    Find the code below. If I run this code on Jetty (6.1.21/newest) doing performance tests, Jetty and dbxml crash when putting 50+ docs simultaneously. Unfortunately, the log doesn't show any useful exceptions. BUT, if I run this code natively (without Jetty), dbxml does NOT crash and runs way over 1000 puts/s and as expected. Does anyone have and idea where to look after the problem? I'm really stuck here.
    public void putDocument(String documentName, Document document) throws InternalServerErrorException {
         XmlContainer xc = containers.get(0).getXmlContainerUsers();
         XmlManager xm = null;
         XmlUpdateContext context = null;
         try {
              xm = xc.getManager();
              context = xm.createUpdateContext();
         } catch (XmlException e) {
               e.printStackTrace();
         XmlTransaction txn = null;
         try {                             
              if(getDocument(documentName) == null) {
                   txn = xm.createTransaction();                           
                       xc.putDocument(txn, documentName, xm.createInputStream(transformDomToInputStream(document)), context);
                       txn.commit();
              } else {
                   txn = xm.createTransaction();
                   XmlDocument theDoc = xc.getDocument(documentName);
                       theDoc.setContentAsXmlInputStream(xm.createInputStream(transformDomToInputStream(document)));
                   xc.updateDocument(txn, theDoc, context);
                       txn.commit();
         } catch (XmlException e) {
                if (txn != null) {
                       try {
                            txn.abort();
                       } catch (DatabaseException dbe) {
                            e.printStackTrace();
                       } catch (Throwable t) {
                          t.printStackTrace();
    }Cheers
    -Luca

    Ocasionally (about 5-7x in 10 runs), I get the following error:
    java.lang.NullPointerException: null upcall object
         at com.sleepycat.dbxml.dbxml_javaJNI.XmlContainer_updateDocumentInternal__SWIG_1(Native Method)
         at com.sleepycat.dbxml.XmlContainer.updateDocumentInternal(XmlContainer.java:930)
         at com.sleepycat.dbxml.XmlContainer.updateDocument(XmlContainer.java:445)
    ...Search engines (google, bing) do not find anything about it...
    After that, Jetty crashes. So does dbxml. Any idea why that error occures? The error is thrown at txn.commit(), when trying to update a file.
                try {
                     theDoc = xc.getDocument(sb.toString());
                  //File exists, update
                     xm = xc.getManager();     
                     txn = xm.createTransaction();
                     synchronized(txn) {
                             context = xm.createUpdateContext();
                       theDoc.setContentAsXmlInputStream(xm.createInputStream(DOMTransformer.transformDomToInputStream(document)));
                          xc.updateDocument(txn, theDoc, context);
                          txn.commit();
                } catch (XmlException e) {
                     if(e.getErrorCode() == XmlException.DOCUMENT_NOT_FOUND) {
                          //File does not exist, add new
                          try {
                               xm = xc.getManager();     
                            txn = xm.createTransaction();
                            synchronized(txn) {
                                 context = xm.createUpdateContext();
                                 xc.putDocument(txn, stringBuffer.toString(), xm.createInputStream(DOMTransformer.transformDomToInputStream(document)), context);
                                 txn.commit();
                          } catch (XmlException xe) {
                               if (txn != null) {
                                 try {
                                      txn.abort();
                                 } catch (DatabaseException dbe) {
                                      e.printStackTrace();
                     }Cheers
    - Luca
    Edited by: user11808463 on 20.10.2009 02:54
    Edited by: user11808463 on 20.10.2009 02:57

  • Simple multiversion test crashes (db-5.3.15)

    Hi!
    I wrote a small test for a multiversion database (using the C++ API). The test starts a transaction with DB_TXN_SNAPSHOT and reads/writes a key-value pair foo=bar. It then sleeps 10 seconds to allow starting a second instance of the program. The first instance succeeds, with this output:
    $ mvcctest
    get key foo
    put key foo
    successfully wrote key foo=bar
    waiting 10 seconds...
    $
    The second instance which I started in gdb to get the stacktrace produces this output/stacktrace:
    (gdb) r
    Starting program: /home/stefan/src/sandbox/bdb-trans/mvcctest
    [Thread debugging using libthread_db enabled]
    get key foo
    put key foo
    Program received signal SIGSEGV, Segmentation fault.
    0x00007ffff7b5bd01 in __memp_fput (dbmfp=0x605230, ip=0x0, pgaddr=0x0, priority=DB_PRIORITY_UNCHANGED)
    at ../src/mp/mp_fput.c:125
    125 infop = &dbmp->reginfo[bhp->region];
    (gdb) bt
    #0 0x00007ffff7b5bd01 in __memp_fput (dbmfp=0x605230, ip=0x0, pgaddr=0x0, priority=DB_PRIORITY_UNCHANGED)
    at ../src/mp/mp_fput.c:125
    #1 0x00007ffff79f3cce in __bam_get_root (dbc=0x605a10, root_pgno=1, slevel=1, flags=12802, stack=0x7fffffffd75c)
    at ../src/btree/bt_search.c:235
    #2 0x00007ffff79f3ed6 in __bam_search (dbc=0x605a10, root_pgno=1, key=0x7fffffffdbf0, flags=12802, slevel=1, recnop=0x0,
    exactp=0x7fffffffd934) at ../src/btree/bt_search.c:309
    #3 0x00007ffff79dce1c in __bamc_search (dbc=0x605a10, root_pgno=1, key=0x7fffffffdbf0, flags=14, exactp=0x7fffffffd934)
    at ../src/btree/bt_cursor.c:2804
    #4 0x00007ffff79dad0b in __bamc_put (dbc=0x605a10, key=0x7fffffffdbf0, data=0x7fffffffdc20, flags=14, pgnop=0x7fffffffd9b0)
    at ../src/btree/bt_cursor.c:2143
    #5 0x00007ffff7adf03f in __dbc_iput (dbc=0x605a10, key=0x7fffffffdbf0, data=0x7fffffffdc20, flags=14)
    at ../src/db/db_cam.c:2136
    #6 0x00007ffff7adee8d in __dbc_put (dbc=0x605a10, key=0x7fffffffdbf0, data=0x7fffffffdc20, flags=14)
    at ../src/db/db_cam.c:2049
    #7 0x00007ffff7ad78dd in __db_put (dbp=0x604af0, ip=0x0, txn=0x605390, key=0x7fffffffdbf0, data=0x7fffffffdc20, flags=0)
    at ../src/db/db_am.c:583
    #8 0x00007ffff7af20c8 in __db_put_pp (dbp=0x604af0, txn=0x605390, key=0x7fffffffdbf0, data=0x7fffffffdc20, flags=0)
    at ../src/db/db_iface.c:1661
    #9 0x00007ffff79bc576 in Db::put (this=0x604a50, txnid=0x605fa0, key=0x7fffffffdbf0, value=0x7fffffffdc20, flags=0)
    at ../lang/cxx/cxx_db.cpp:367
    #10 0x0000000000400caf in main () at mvcctest.cc:60
    I am unsure if this is my fault (because the testcase does something it should not do), or if this is a Berkeley DB bug.
    #include <sys/stat.h>
    #include <sys/types.h>
    #include <assert.h>
    #include <db_cxx.h>
    #include <string.h>
    #include <stdlib.h>
    #include <string>
    using std::string;
    int
    main()
    mkdir ("bdb", 0770);
    DbEnv *db_env = new DbEnv (DB_CXX_NO_EXCEPTIONS);
    int ret = db_env->open ("bdb",
    DB_CREATE | /* on-demand create */
    DB_INIT_MPOOL | /* shared memory buffer subsystem */
    DB_INIT_TXN | /* transactions */
    DB_INIT_LOG | /* logging */
    DB_INIT_LOCK | /* locking */
    DB_MULTIVERSION,
    0);
    assert (ret == 0);
    db_env->set_flags (DB_MULTIVERSION, 1);
    Db *db = new Db (db_env, 0);
    db->set_flags (DB_DUP); // allow duplicate keys
    // Open the database
    u_int32_t oFlags = DB_CREATE | DB_AUTO_COMMIT | DB_MULTIVERSION; // Open flags;
    db->open (NULL, // Transaction pointer
    "db", // Database name
    NULL, // Optional logical database name
    DB_BTREE, // Database access method
    oFlags, // Open flags
    0); // File mode (using defaults)
    DbTxn* transaction;
    ret = db_env->txn_begin (NULL, &transaction, DB_TXN_SNAPSHOT);
    assert (ret == 0);
    char foo[4] = "foo";
    char bar[4] = "bar";
    Dbt key (foo, 3);
    Dbt new_data (bar, 3);
    Dbt data;
    printf ("get key foo\n");
    ret = db->get (transaction, &key, &data, 0);
    if (ret == 0)
    printf ("successfully read key foo\n");
    printf ("put key foo\n");
    ret = db->put (transaction, &key, &new_data, 0);
    if (ret == 0)
    printf ("successfully wrote key foo=bar\n");
    printf ("waiting 10 seconds...\n");
    sleep (10);
    ret = transaction->commit (0);
    assert (ret == 0);
    ret = db->close (0);
    delete db;
    db = NULL;
    assert (ret == 0);
    ret = db_env->close (0);
    delete db_env;
    db_env = NULL;
    assert (ret == 0);
    }

    Yes, we have the same error:
    com.sleepycat.dbxml.XmlException: std::exception thrown from C++ API: bad allocation: Unknown error, errcode = INTERNAL_ERROR
         at com.sleepycat.dbxml.dbxml_javaJNI.XmlQueryExpression_execute__SWIG_1(Native Method)
         at com.sleepycat.dbxml.XmlQueryExpression.execute(XmlQueryExpression.java:93)
    com.sleepycat.dbxml.XmlException, errcode = NO_MEMORY_ERROR
         at com.sleepycat.dbxml.dbxml_javaJNI.XmlQueryExpression_execute__SWIG_1(Native Method)
         at com.sleepycat.dbxml.XmlQueryExpression.execute(XmlQueryExpression.java:93)
    The version we use is 2.2.13, can anyone give suggestions to resolve it?
    Regards,
    Jane

  • Crash when running out of locks

    I am using Berkeley DB XML 2.4.16 with Berkeley DB 4.7.25 on 64 bit Linux with all the latest patches applied, through the Java API. I am running a query that seems to cause this message in the BDB error file:
    Lock table is out of available object entries
    and the entire process crashes with a Java HotSpot stack trace.
    Has anyone ever experienced behaviour like that? Shouldn't BDBXML just throw an exception?
    Let me know if you want me to email you the HotSpot error, the top of which (can not include the entire message since its too big) looks as follows:
    # An unexpected error has been detected by HotSpot Virtual Machine:
    #  SIGSEGV (0xb) at pc=0x0000002b23f33f07, pid=17527, tid=1094080864
    # Java VM: Java HotSpot(TM) 64-Bit Server VM (1.5.0_10-b03 mixed mode)
    # Problematic frame:
    # C  [libdbxml_java-2.4.so+0x187f07]  _ZN5DbXml12NsDomElementC1EPNS_6NsNodeEPNS_
    5NsDocE+0xb7
    ---------------  T H R E A D  ---------------
    Current thread (0x0000002ae5b492e0):  JavaThread "com.company.MyClass.main()" [_thread_in_native, id=17555]
    siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x0000000000000011
    Registers:
    RAX=0x0000000000000000, RBX=0x0000002b2da1afc0, RCX=0x0000002ae5200188, RDX=0x00
    00002b2da1ac00
    RSP=0x0000000041363800, RBP=0x0000002b2da1afc0, RSI=0x0000000000000000, RDI=0x00
    00002b2da1afd8
    R8 =0x0000002b2d933e70, R9 =0x0000000000000020, R10=0x0000003efff31640, R11=0x00
    00002ae5200188
    R12=0x0000002b2da1afd8, R13=0x0000002b2da1b028, R14=0x0000002b2da1afe0, R15=0x00
    00002b2da1b018
    RIP=0x0000002b23f33f07, EFL=0x0000000000010246, CSGSFS=0x000000000000a4e0, ERR=0
    x0000000000000004
      TRAPNO=0x000000000000000e
    Top of Stack: (sp=0x0000000041363800)
    0x0000000041363800:   00000000413638f0 0000002b2da1aff0
    0x0000000041363810:   0000002b2da1b008 0000000000000000
    0x0000000041363820:   0000002b2da1afc0 0000002b2da19ea0
    0x0000000041363830:   00000000413638f0 0000000041363880
    0x0000000041363840:   00000000413638f0 0000002b23f34a62
    0x0000000041363850:   0000002b2da1bfc8 0000002b2da1c100
    0x0000000041363860:   0000002b2da15b20 0000000000000000
    0x0000000041363870:   0000002b2da15b68 0000002b23f7baa7
    0x0000000041363880:   00000000413639c0 0000002b23f77c93
    0x0000000041363890:   0000002b2da15b20 0000002b2d928578
    0x00000000413638a0:   0000002b2d946250 00000000413639c0
    0x00000000413638b0:   0000000000000000 0000002b23f7d671
    0x00000000413638c0:   0000002b2da14e10 0000000041363900
    0x00000000413638d0:   0000000041363980 0000002b2da1b620
    0x00000000413638e0:   0000002b2da19ea0 0000000000000002
    0x00000000413638f0:   0000002b2da19ea0 0000000041363950
    0x0000000041363900:   0000002b2da19ea0 0000002b2da1ab80
    0x0000000041363910:   0000002b2d928578 0000002b2d928578
    0x0000000041363920:   00000000413639c0 0000002b2d928578
    0x0000000041363930:   0000002b2d928578 0000002b2d949b68
    0x0000000041363940:   0000002b2da0f310 0000002b23f733dd
    0x0000000041363950:   0000002b2da1af30 0000002b2d928578
    0x0000000041363960:   0000002b2da0f300 0000002b24006ba0
    0x0000000041363970:   00000000413639d0 00000000413639c0
    0x0000000041363980:   0000002b2d949b70 0000002b2d949b68
    0x0000000041363990:   0000000041363c00 0000002ae5200020
    0x00000000413639a0:   0000002b2da1b040 0000002b2d928578
    0x00000000413639b0:   0000002b2d949b70 0000002b2d949b68
    0x00000000413639c0:   0000000041363c00 0000002ae5200020
    0x00000000413639d0:   0000002b2da1b040 0000002b2d928578
    0x00000000413639e0:   0000002b2d949b70 0000002b2d928578
    0x00000000413639f0:   0000002b2da1b040 0000002b2d928578
    Instructions: (pc=0x0000002b23f33f07)
    0x0000002b23f33ef7:   00 41 c6 45 08 00 48 89 44 24 10 e8 81 d8 f5 ff
    0x0000002b23f33f07:   f6 40 11 08 0f 85 c4 00 00 00 48 8b 5c 24 18 48
    Stack: [0x0000000041265000,0x0000000041366000),  sp=0x0000000041363800,  free sp
    ace=1018k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C  [libdbxml_java-2.4.so+0x187f07]  _ZN5DbXml12NsDomElementC1EPNS_6NsNodeEPNS_5N
    sDocE+0xb7
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j  com.sleepycat.dbxml.dbxml_javaJNI.XmlManager_query__SWIG_3(JLcom/sleepycat/db
    xml/XmlManager;JLcom/sleepycat/dbxml/XmlTransaction;Ljava/lang/String;Lcom/sleep
    ycat/dbxml/XmlQueryContext;)J+0
    j  com.sleepycat.dbxml.XmlManager.query(Lcom/sleepycat/dbxml/XmlTransaction;Ljav
    a/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)Lcom/sleepycat/dbxml/XmlResu
    lts;+12
    j  com.company.MyClass.main([Ljava/lang/String;)V
    +88
    v  ~StubRoutines::call_stub
    j  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/
    lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
    j  sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Obj
    ect;)Ljava/lang/Object;+87
    j  sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang
    /Object;)Ljava/lang/Object;+6
    j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/l
    ang/Object;+111
    j  org.codehaus.mojo.exec.ExecJavaMojo$1.run()V+92
    j  java.lang.Thread.run()V+11
    v  ~StubRoutines::call_stub
    ---------------  P R O C E S S  ---------------
    Java Threads: ( => current thread )
      0x0000002ae6ac0830 JavaThread "RMI LeaseChecker" daemon [_thread_blocked, id=1
    7569]
      0x0000002ae687d200 JavaThread "RMI RenewClean-[10.60.76.61:42471]" daemon [_th
    read_blocked, id=17567]
      0x0000002ae62d4850 JavaThread "GC Daemon" daemon [_thread_blocked, id=17565]
      0x0000002ae62d8550 JavaThread "RMI Reaper" [_thread_blocked, id=17564]
      0x0000002ae62d6370 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id
    =17563]
      0x0000002ae62fe0f0 JavaThread "RMI TCP Accept-9999" daemon [_thread_in_native,
    id=17562]
      0x0000002ae62fd810 JavaThread "Timer-0" daemon [_thread_blocked, id=17561]
      0x0000002ae62da1a0 JavaThread "Deadlock Detector" [_thread_blocked, id=17558]
      0x0000002ae62d9960 JavaThread "Checkpointer" [_thread_blocked, id=17557]
      0x0000002ae62fe920 JavaThread "com.company.Alerter" daemon [_thread_blocked, id=17556]
    =>0x0000002ae5b492e0 JavaThread "com.company.MyClass.main()" [_thread_in_native, id=17555]
      0x0000002ae4ccab40 JavaThread "Low Memory Detector" daemon [_thread_blocked, i
    d=17547]
      0x0000002ae4cc8f10 JavaThread "CompilerThread1" daemon [_thread_blocked, id=17
    546]
      0x0000002ae4cc7960 JavaThread "CompilerThread0" daemon [_thread_blocked, id=17
    545]
      0x0000002ae1e72720 JavaThread "AdapterThread" daemon [_thread_blocked, id=1754
    4]
      0x0000002ae1e713c0 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=
    17543]
      0x0000002ae1e6bb20 JavaThread "Finalizer" daemon [_thread_blocked, id=17542]
      0x0000002ae1e6b2f0 JavaThread "Reference Handler" daemon [_thread_blocked, id=
    17541]
      0x0000000040116350 JavaThread "main" [_thread_blocked, id=17527]
    Other Threads:
      0x0000002ae1e66df0 VMThread [id=17540]
      0x0000002ae4ccc790 WatcherThread [id=17548]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None

    This is just a guess:
    (1) Your applications runs up against the maximum number of lock objects, which triggers an exception. This may be caused by either (a) your application requirements or (b) failure to commit/abort transactions.
    (2) The exception is not caught at the appropriate place, or appropriate action is not taken in the exception handling, which is to deallocate XmlResults and other objects (so the underlying C++ objects may be freed) and to abort the transaction.
    (3) C++ objects the Java wrappers of which should have been deleted (call delete()) are still around when they shouldn't be, and this causes a SEGV to happen, which is what you're seeing.
    If you think the above is possible, you could boil down com.company.MyClass to a minimal example that reproduces the behaviour you're seeing and is easy for others to run at home, and then post it here.
    Michael Ludwig

  • Problems Building on Solaris

    Hi,
    I've been trying to evaluate BDB XML 2.3.8 for use on a new project for the last couple of days. I was able to build on Windows with no trouble but have been having trouble getting a working build on Solaris.
    By any chance is there a binary build available? All I'm trying to do is get the necessary libraries so that I can include them with a Java program.
    Anyhow, here are the problems I'm having getting it to build. I'd greatly appreciate any help that can be offered.
    $ uname -a
    SunOS kftcsu03 5.8 Generic_117350-26 sun4u sparc SUNW,Sun-Fire-480R
    I built using the following command:
    $./buildall.sh -c cc -x CC --enable-java
    The build appeared to work. However, when I try to execute the generated dbxml file:
    $ ./dbxml
    Segmentation Fault (core dumped)
    I then tried to execute the Java example (dbxml.gettingStarted.exampleLoadContainer):
    Which produced the following:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: /data/PRCDEVEL/NGES/users/emr39/dbxml-2.3.8/install/lib/libdbxml_java-2.3.so: ld.so.1: java: fatal: relocation error: file /data/PRCDEVEL/NGES/users/emr39/dbxml-2.3.8/install/lib/libdbxml_java-2.3.so: symbol __1cFDbXmlQDbXmlFuncFactory4n0AQMetaDataFunction__G__vtbl_: referenced symbol not found
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1586)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1511)
    at java.lang.Runtime.loadLibrary0(Runtime.java:788)
    at java.lang.System.loadLibrary(System.java:834)
    at com.sleepycat.dbxml.dbxml_javaJNI.<clinit>(dbxml_javaJNI.java:49)
    at com.sleepycat.dbxml.XmlManager.<init>(XmlManager.java:51)
    at dbxml.gettingStarted.exampleLoadContainer.loadXmlFiles(exampleLoadContainer.java:164)
    at dbxml.gettingStarted.exampleLoadContainer.main(exampleLoadContainer.java:85)
    Thanks,
    Eric

    George,
    Is there a better way to tell the version? Based on the path I'd say v6.2
    [emr39@kftcsu03 bin]$ which cc
    /tools/fortedev/v6.2/SUNWspro/bin/cc
    [emr39@kftcsu03 bin]$ which CC
    /tools/fortedev/v6.2/SUNWspro/bin/CC
    Our sysadmins have a bunch of the GNU tools installed in /tools/GNU/bin, to get the build to run to completion I had to create a symlink to the make that was in there and then ensure the symlink was in my path first so that version of make was used.
    [emr39@kftcsu03 bin]$ which cc
    /tools/fortedev/v6.2/SUNWspro/bin/cc
    [emr39@kftcsu03 bin]$ which CC
    /tools/fortedev/v6.2/SUNWspro/bin/CC
    Here's what I managed to get from the core file generated when I ran dbxml. I used dbx to get this stacktrace.
    Reading libc_psr.so.1
    Reading libthread.so.1
    detected a multithreaded program
    t@1 (l@1) terminated by signal SEGV (no mapping at the fault address)
    0x00000000: <bad address 0x0>
    Current function is DbXml::Globals::initializeXmlPlatform
    119 datatypeLookup_ = new DatatypeLookup(documentCache_, defaultMemoryManager);
    (/tools/fortedev/v6.2/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) threads
    o> t@1 a l@1 ?() signal SIGSEGV in <can't get PC>
    t@2 b l@2 ?() LWP suspended in _signotifywait()
    t@3 ?() sleep on (unknown) in reapwait()
    (/tools/fortedev/v6.2/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) where
    current thread: t@1
    [1] 0x0(0x3e60d8, 0xc, 0x0, 0xff246684, 0x0, 0x0), at 0xffffffffffffffff
    [2] DatatypeLookup::DatatypeLookup(0x3e74c8, 0x3df1f0, 0xff246684, 0x3908, 0x3df1f0, 0x3e60d8), at 0xfe6190ec
    =>[3] DbXml::Globals::initializeXmlPlatform(), line 119 in "Globals.cpp"
    [4] DbXml::Globals::initialize(env = 0x16e920), line 92 in "Globals.cpp"
    [5] DbXml::Manager::initialize(this = 0x3abec0, env = 0x16e920), line 167 in "Manager.cpp"
    [6] DbXml::Manager::Manager(this = 0x3abec0, dbEnv = 0x16e920, flags = 3U), line 98 in "Manager.cpp"
    [7] DbXml::XmlManager::XmlManager(this = 0xffbee8dc, dbEnv = 0x16e920, flags = 3U), line 100 in "XmlManager.cpp"
    [8] main(0x1, 0xffbee9ec, 0xffbee9f4, 0x16a400, 0x0, 0x0), at 0x3bda8
    (/tools/fortedev/v6.2/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx)

  • Segmentation Fault

    Hi-
    I've experienced a segmentation fault from Berkeley DB XML Java bindings running in a web application (Tomcat). I'm not able to reproduce the error myself, but it's particularly troubling becasue it brought down the entire JVM that was running the web site. I'm not at all proficient with JNI, so maybe I'm not able to properly diagnose the problem from the logs. Below is the seg fault error that was logged by the JVM:
    # An unexpected error has been detected by Java Runtime Environment:
    #  SIGSEGV (0xb) at pc=0x063966c3, pid=20961, tid=1839516576
    # Java VM: Java HotSpot(TM) Server VM (11.3-b02 mixed mode linux-x86)
    # Problematic frame:
    # V  [libjvm.so+0x3966c3]
    # If you would like to submit a bug report, please visit:
    #   http://java.sun.com/webapps/bugreport/crash.jsp
    ---------------  T H R E A D  ---------------
    Current thread (0x08822c00):  JavaThread "http-8080-6" daemon [_thread_in_vm, id=21027, stack(0x6da2c000,0x6da4d000)]
    siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000000
    Registers:
    EAX=0x00000000, EBX=0x08b598d8, ECX=0x0006da4b, EDX=0x08822c00
    ESP=0x6da4b6d4, EBP=0x6da4b738, ESI=0x00000ffc, EDI=0x6db77880
    EIP=0x063966c3, CR2=0x00000000, EFLAGS=0x00010216
    Top of Stack: (sp=0x6da4b6d4)
    0x6da4b6d4:   00000000 67c9ecf8 67c9ece3 08b598d8
    0x6da4b6e4:   6db77880 6db77888 6db77c74 08822c00
    0x6da4b6f4:   00000000 00c5a1e3 6da4b718 08822c00
    0x6da4b704:   6e000048 00000011 67d0b11c 08822c00
    0x6da4b714:   0000001d 6da4b738 67c92fa4 08822d14
    0x6da4b724:   08a64cb4 08c4cddc 67d0b11c 00000000
    0x6da4b734:   0000001d 6da4b7f8 67c732db 08822d14
    0x6da4b744:   00000000 00000000 67c9ece3 6da4b7d0
    Instructions: (pc=0x063966c3)
    0x063966b3:   ac 8b 43 08 89 45 b0 8b 43 0c 89 45 b4 8b 45 0c
    0x063966c3:   8b 00 50 e8 35 02 fe ff 83 ec 0c 89 c6 50 e8 72
    Stack: [0x6da2c000,0x6da4d000],  sp=0x6da4b6d4,  free space=125k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    V  [libjvm.so+0x3966c3]
    C  [libdbxml_java-2.4.so+0x2612db]  _Z17createCPPXmlValueP7JNIEnv_P8_jobjectPb+0xd3
    C  [libdbxml_java-2.4.so+0x26bbcd]  _Z24createCPPXmlQueryContextP7JNIEnv_P8_jobjectP7_jclass+0x969
    C  [libdbxml_java-2.4.so+0x27f2ff]  Java_com_sleepycat_dbxml_dbxml_1javaJNI_XmlManager_1prepare_1_1SWIG_10+0xe7
    j  com.sleepycat.dbxml.dbxml_javaJNI.XmlManager_prepare__SWIG_0(JLcom/sleepycat/dbxml/XmlManager;Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)J+0
    j  com.sleepycat.dbxml.XmlManager.prepare(Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)Lcom/sleepycat/dbxml/XmlQueryExpression;+7
    j  com.mycompany.dao.xml.XmlDao.executeQuery(Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)Ljava/util/List;+14
    j  com.mycompany.dao.xml.XMLArticleDAO.getArticleId(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+91
    j  com.mycompany.service.impl.DefaultArticleService.getArticleIdFromUrl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+7
    j  com.mycompany.controller.Level3Controller.handleRequestInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/springframework/web/servlet/ModelAndView;+236
    j  org.springframework.web.servlet.mvc.AbstractController.handleRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/springframework/web/servlet/ModelAndView;+62
    j  org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/Object;)Lorg/springframework/web/servlet/ModelAndView;+6
    j  org.springframework.web.servlet.DispatcherServlet.doDispatch(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+224
    j  org.springframework.web.servlet.DispatcherServlet.doService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+219
    j  org.springframework.web.servlet.FrameworkServlet.processRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+10
    j  org.springframework.web.servlet.FrameworkServlet.doGet(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+3
    j  javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+35
    j  javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+30
    j  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+374
    j  org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+101
    j  org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+804
    j  org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+365
    j  org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+64
    j  org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+6
    j  org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+42
    j  org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V+157
    j  org.apache.coyote.http11.Http11Processor.process(Ljava/net/Socket;)V+432
    j  org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Ljava/net/Socket;)Z+82
    j  org.apache.tomcat.util.net.JIoEndpoint$Worker.run()V+41
    j  java.lang.Thread.run()V+11
    v  ~StubRoutines::call_stub
    V  [libjvm.so+0x375c9d]
    V  [libjvm.so+0x5057f8]
    V  [libjvm.so+0x3755b0]
    V  [libjvm.so+0x37563d]
    V  [libjvm.so+0x3e5ca5]
    V  [libjvm.so+0x5cde5d]
    V  [libjvm.so+0x506929]
    C  [libpthread.so.0+0x53cc]
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j  com.sleepycat.dbxml.dbxml_javaJNI.XmlManager_prepare__SWIG_0(JLcom/sleepycat/dbxml/XmlManager;Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)J+0
    j  com.sleepycat.dbxml.XmlManager.prepare(Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)Lcom/sleepycat/dbxml/XmlQueryExpression;+7
    j  com.mycompany.dao.xml.XmlDao.executeQuery(Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)Ljava/util/List;+14
    j  com.mycompany.dao.xml.XMLArticleDAO.getArticleId(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+91
    j  com.mycompany.service.impl.DefaultArticleService.getArticleIdFromUrl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+7
    j  com.mycompany.controller.Level3Controller.handleRequestInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/springframework/web/servlet/ModelAndView;+236
    j  org.springframework.web.servlet.mvc.AbstractController.handleRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/springframework/web/servlet/ModelAndView;+62
    j  org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/Object;)Lorg/springframework/web/servlet/ModelAndView;+6
    j  org.springframework.web.servlet.DispatcherServlet.doDispatch(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+224
    j  org.springframework.web.servlet.DispatcherServlet.doService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+219
    j  org.springframework.web.servlet.FrameworkServlet.processRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+10
    j  org.springframework.web.servlet.FrameworkServlet.doGet(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+3
    j  javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+35
    j  javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+30
    j  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+374
    j  org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+101
    j  org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+804
    j  org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+365
    j  org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+64
    j  org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+6
    j  org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+42
    j  org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V+157
    j  org.apache.coyote.http11.Http11Processor.process(Ljava/net/Socket;)V+432
    j  org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Ljava/net/Socket;)Z+82
    j  org.apache.tomcat.util.net.JIoEndpoint$Worker.run()V+41
    j  java.lang.Thread.run()V+11
    v  ~StubRoutines::call_stub
    ---------------  P R O C E S S  ---------------
    Java Threads: ( => current thread )
      0x088d4800 JavaThread "http-8080-8" daemon [_thread_blocked, id=21029, stack(0x66e7d000,0x66e9e000)]
      0x08b3d400 JavaThread "http-8080-7" daemon [_thread_blocked, id=21028, stack(0x6da0b000,0x6da2c000)]
    =>0x08822c00 JavaThread "http-8080-6" daemon [_thread_in_vm, id=21027, stack(0x6da2c000,0x6da4d000)]
      0x08823400 JavaThread "http-8080-5" daemon [_thread_blocked, id=21022, stack(0x65cdf000,0x65d00000)]
      0x0881e000 JavaThread "http-8080-4" daemon [_thread_blocked, id=21019, stack(0x6da4d000,0x6da6e000)]
      0x08d75400 JavaThread "pool-2-thread-1" [_thread_blocked, id=21018, stack(0x660df000,0x66100000)]
      0x08976400 JavaThread "http-8080-3" daemon [_thread_blocked, id=21017, stack(0x6da6e000,0x6da8f000)]
      0x08976000 JavaThread "http-8080-2" daemon [_thread_blocked, id=21011, stack(0x6da8f000,0x6dab0000)]
      0x08c4c000 JavaThread "http-8080-1" daemon [_thread_blocked, id=21006, stack(0x6dd9d000,0x6ddbe000)]
      0x08b65000 JavaThread "TP-Monitor" daemon [_thread_blocked, id=21005, stack(0x6ddbe000,0x6dddf000)]
      0x08c5ec00 JavaThread "TP-Processor4" daemon [_thread_in_native, id=21004, stack(0x6dddf000,0x6de00000)]
      0x08c62c00 JavaThread "TP-Processor3" daemon [_thread_blocked, id=21003, stack(0x6df41000,0x6df62000)]
      0x08b66800 JavaThread "TP-Processor2" daemon [_thread_blocked, id=21002, stack(0x6df62000,0x6df83000)]
      0x08eab000 JavaThread "TP-Processor1" daemon [_thread_blocked, id=21001, stack(0x6df83000,0x6dfa4000)]
      0x08c53800 JavaThread "http-8080-Acceptor-0" daemon [_thread_in_native, id=21000, stack(0x6dfa4000,0x6dfc5000)]
      0x08c5d000 JavaThread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon [_thread_blocked, id=20999, stack(0x6df1c000,0x6df3d000)]
      0x08c9e400 JavaThread "pool-1-thread-1" [_thread_blocked, id=20998, stack(0x66ea5000,0x66ec6000)]
      0x08684800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=20996, stack(0x6e1e0000,0x6e201000)]
      0x08683000 JavaThread "CompilerThread1" daemon [_thread_blocked, id=20995, stack(0x6e201000,0x6e282000)]
      0x0867e800 JavaThread "CompilerThread0" daemon [_thread_blocked, id=20994, stack(0x6e282000,0x6e303000)]
      0x0867d000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=20993, stack(0x6e303000,0x6e324000)]
      0x0867b800 JavaThread "Surrogate Locker Thread (CMS)" daemon [_thread_blocked, id=20992, stack(0x6e324000,0x6e345000)]
      0x08668000 JavaThread "Finalizer" daemon [_thread_blocked, id=20991, stack(0x6e545000,0x6e566000)]
      0x08666c00 JavaThread "Reference Handler" daemon [_thread_blocked, id=20990, stack(0x6e566000,0x6e587000)]
      0x08058800 JavaThread "main" [_thread_in_native, id=20962, stack(0xb7fc9000,0xb7fea000)]
    Other Threads:
      0x08663400 VMThread [stack: 0x6e587000,0x6e608000] [id=20989]
      0x08686800 WatcherThread [stack: 0x6e15f000,0x6e1e0000] [id=20997]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    par new generation   total 471872K, used 261897K [0x70490000, 0x90490000, 0x90490000)
      eden space 419456K,  60% used [0x70490000, 0x7fb7eb48, 0x89e30000)
      from space 52416K,  17% used [0x89e30000, 0x8a703c70, 0x8d160000)
      to   space 52416K,   0% used [0x8d160000, 0x8d160000, 0x90490000)
    concurrent mark-sweep generation total 524288K, used 0K [0x90490000, 0xb0490000, 0xb0490000)
    concurrent-mark-sweep perm gen total 22400K, used 22275K [0xb0490000, 0xb1a70000, 0xb4490000)
    ***DYNAMIC LIBRARIES TRUNCATED (POST TOO LONG)***
    VM Arguments:
    jvm_args: -Xmx1024m -Xms1024m -Xmn512m -Xss128k
    -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:SurvivorRatio=8
    -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=31 -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    -Djava.util.logging.config.file=/opt/apps/tomcat-6.0.18/conf/logging.properties -Djava.endorsed.dirs=/opt/apps/tomcat-6.0.18/endorsed
    -Dcatalina.base=/opt/apps/tomcat-6.0.18 -Dcatalina.home=/opt/apps/tomcat-6.0.18 -Djava.io.tmpdir=/opt/apps/tomcat-6.0.18/temp
    java_command: org.apache.catalina.startup.Bootstrap start
    Launcher Type: SUN_STANDARD
    Environment Variables:
    PATH=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/opt/apps/php/bin:/opt/apps/apache2/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
    LD_LIBRARY_PATH=/usr/java/jdk1.6.0_13/jre/lib/i386/server:/usr/java/jdk1.6.0_13/jre/lib/i386:/usr/java/jdk1.6.0_13/jre/../lib/i386:/opt/dbxml/lib
    SHELL=/bin/bash
    Signal Handlers:
    SIGSEGV: [libjvm.so+0x6071f0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGBUS: [libjvm.so+0x6071f0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGFPE: [libjvm.so+0x5048b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGPIPE: [libjvm.so+0x5048b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGXFSZ: [libjvm.so+0x5048b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGILL: [libjvm.so+0x5048b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
    SIGUSR2: [libjvm.so+0x506d80], sa_mask[0]=0x00000000, sa_flags=0x10000004
    SIGHUP: [libjvm.so+0x506b20], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGINT: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000
    SIGTERM: [libjvm.so+0x506b20], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGQUIT: [libjvm.so+0x506b20], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    ---------------  S Y S T E M  ---------------
    OS:Red Hat Enterprise Linux ES release 4 (Nahant Update 8)
    uname:Linux 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:34:33 EDT 2009 i686
    libc:glibc 2.3.4 NPTL 2.3.4
    rlimit: STACK 10240k, CORE 0k, NPROC 32742, NOFILE 1024, AS infinity
    load average:0.00 0.00 0.00
    CPU:total 4 (4 cores per cpu, 1 threads per core) family 6 model 15 stepping 11, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3
    Memory: 4k page, physical 2073300k(27792k free), swap 5197384k(1995648k free)
    vm_info: Java HotSpot(TM) Server VM (11.3-b02) for linux-x86 JRE (1.6.0_13-b03), built on Mar  9 2009 01:16:42 by "java_re" with gcc 3.2.1-7a (J2SE release)
    time: Mon Jul  27 01:51:01 2009
    elapsed time: 11252 secondsI see some "thread blocked" statements, one of them being on the "Low Memory Detector" daemon. Not sure what to make of that.
    This is the method chain (from what I can tell) that caused the error:
    public String getArticleId(String type, String category, String normalizedTitle)
              throws DAOException, DataNotFoundDAOException {
              XmlQueryContext context = null;
              try{
                   context = this.getXmlManager().createQueryContext();
                   context.setEvaluationType(context.Eager);
                   context.setVariableValue("type", new XmlValue(type));
                   context.setVariableValue("category", new XmlValue(category));
                   context.setVariableValue("normalizedTitle", new XmlValue(normalizedTitle));
                   context.setVariableValue("containerName", new XmlValue(this.getContainer().getName()));
                   List<String> results = executeQuery(articleIdQuery, context);
                   if(results.size()>1){
                        logger.warn(String.format("more than one article found for type:%s, category:%s, normalized-title:%s", type, category, normalizedTitle));
                   }else if(results.size()==0){
                        throw new DataNotFoundDAOException(String.format("unable to find an article that matches type:%s, category:%s, normalized-title:%s", type, category, normalizedTitle));
                   /* dbxml returns query values far xml attributes in this format: {}id="this_is_the_id_we_want"
                    * we must extract the id before returning
                   String idString = results.get(0);
                   return idString.substring(idString.indexOf("\"")+1, idString.length()-1);
              }catch (XmlException e) {
                   throw new DAOException("there was a problem querying the database", e);
              } finally{
                   context.delete();
         protected List<String> executeQuery(String query, XmlQueryContext context)
                   throws DAOException {
              // Prepare (compile) the query
              List<String> xmlNodes = new ArrayList<String>();
              XmlQueryExpression qe = null;
              XmlResults results = null;
              try {
                   qe = xmlManager.prepare(query, context);
                   logger.debug("about to perform query: " + qe.getQuery());
                   results = qe.execute(context);
                   while (results.hasNext()) {
                        xmlNodes.add(results.next().asString());
              } catch (XmlException e) {
                   throw new DAOException("Unable to retrieve Page from db", e);
              } finally{
                   if(results != null){
                        results.delete();
                   if(qe != null){
                        qe.delete();
              return xmlNodes;
         }And this is the query that was passed into the method:
    collection($containerName)/article[type=$type and category=$category and normalized-title=$normalizedTitle]/@idSince this happened in a running web application, I unfortunately can't determine exactly which values were set for the query variables in this instance. However, by the nature of this application, those values are NOT taken from user input, so it would be safe to assume that the input comes from a valid, finite set of values.
    Any help would be greatly appreciated.
    Thanks
    Edited by: eric44 on Jul 27, 2009 2:34 PM

    Thanks Lauren.
    I have not yet applied the patch. I will do so shortly. However, I was able to do a bit more tracing, and I think I've gotten to the root of the problem. The seg fault is happening when a null value is used in a query. That is, a Java variable whose value is null is used as the constructor argument to new XmlValue(String s), and then that value is used in the query. I don't know exactly where the error is happening; the log seems a tad ambiguous. Again, I'm not really comfortable at the low-level, but it seems that the stack trace is rooted in the "prepare" java method, but then there seems to be some native trace directly referencing the creation of XmlValue
    Stack: [0x6da2c000,0x6da4d000],  sp=0x6da4b6d4,  free space=125k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    V  [libjvm.so+0x3966c3]
    C  [libdbxml_java-2.4.so+0x2612db]  _Z17createCPPXmlValueP7JNIEnv_P8_jobjectPb+0xd3
    C  [libdbxml_java-2.4.so+0x26bbcd]  _Z24createCPPXmlQueryContextP7JNIEnv_P8_jobjectP7_jclass+0x969
    C  [libdbxml_java-2.4.so+0x27f2ff]  Java_com_sleepycat_dbxml_dbxml_1javaJNI_XmlManager_1prepare_1_1SWIG_10+0xe7
    j  com.sleepycat.dbxml.dbxml_javaJNI.XmlManager_prepare__SWIG_0(JLcom/sleepycat/dbxml/XmlManager;Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)J+0
    j  com.sleepycat.dbxml.XmlManager.prepare(Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)Lcom/sleepycat/dbxml/XmlQueryExpression;+7thanks again

Maybe you are looking for

  • Adobe Reader for iOS and Android & Rights Management

    This week's release of Reader for iOS and Android devices incorporates support for accessing files secured by Adobe LiveCycle Rights Management. As you are probably familiar, LiveCycle Rights Management protects sensitive documents by encrypting them

  • Samsung Stratosphere camera not working

    After a year of taking pictures with this phone I now only get a black screen telling me to insert a memory card.  I do not even see a slot to insert a card.  Why would I suddenly need a card?  Any advice would be appreciated,

  • Problems with addNewPanel

    After trying to use the function addNewPanel I found out it didn't work with Mozilla browsers due to the use of the 'outerHTML' property. Finally I managed to write a workaround in case it might help someone. I'm not a good programmer, so it's more t

  • How to apply delta's in BI 7.0

    hi experts, can anybody give me the procedure to apply delta's in BI 7.0 thanks & regards venkat

  • IPhoto 4 freezing

    I have iPhoto 4.0.3. Today I tried to show a slide show with music. I've done it before, but it's been months. It doesn't seem to make a difference which photos or which music I use, but after a couple of minutes the music stops, then iPhoto freezes.