Return-Path: X-Original-To: apmail-jackrabbit-users-archive@minotaur.apache.org Delivered-To: apmail-jackrabbit-users-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id CB104C2E for ; Wed, 4 May 2011 13:13:34 +0000 (UTC) Received: (qmail 8600 invoked by uid 500); 4 May 2011 13:13:34 -0000 Delivered-To: apmail-jackrabbit-users-archive@jackrabbit.apache.org Received: (qmail 8573 invoked by uid 500); 4 May 2011 13:13:34 -0000 Mailing-List: contact users-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@jackrabbit.apache.org Delivered-To: mailing list users@jackrabbit.apache.org Received: (qmail 8565 invoked by uid 99); 4 May 2011 13:13:34 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 May 2011 13:13:34 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of stefan.guggisberg@gmail.com designates 209.85.210.42 as permitted sender) Received: from [209.85.210.42] (HELO mail-pz0-f42.google.com) (209.85.210.42) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 May 2011 13:13:26 +0000 Received: by pzk37 with SMTP id 37so892797pzk.1 for ; Wed, 04 May 2011 06:13:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type:content-transfer-encoding; bh=mprWSUuqjEbxQhTp8G2Gk6CqaEcKEA5lZ41y1adzQt4=; b=VrOawlewRGQ4jVFzsRthBrbqgRrvEzmNsuAzs0PsjhF1KWs5nXyfxi9S2ke2kZ6s69 yZiwQ2X1U6M9ceaNyubApKN3I+ssnsGgPz9leQnfPQ34iBkC+uWiIcvWvrsOTTd3zs8f 98djh3Htjzvl1KDw0cON2OvRrpumyJICOYu44= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=fDZS4Qunne5ZPG0MOQJwbsF7LDPS1AC6emqZ9E56/UWsKodtXiqYMVAOo9mNiM5uTn 4wi9Ya6Zts1rURfm2XAgX/2PPe0x4el1HlsE1gneT4cPt4jfSrOFCSNeracQFFJWdpky DyvfDLRglE7Mtg4wx3eAiLw6CEj1cqUsP2Dmg= MIME-Version: 1.0 Received: by 10.68.48.100 with SMTP id k4mr1542514pbn.160.1304514785098; Wed, 04 May 2011 06:13:05 -0700 (PDT) Received: by 10.68.47.37 with HTTP; Wed, 4 May 2011 06:13:05 -0700 (PDT) In-Reply-To: References: Date: Wed, 4 May 2011 15:13:05 +0200 Message-ID: Subject: Re: Jackrabbit doesn`t startup anymore From: Stefan Guggisberg To: users@jackrabbit.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org On Tue, May 3, 2011 at 9:16 AM, wrote: > Hi all, > > I have now a detailed log output of the raised NumnberFormatException: > > 2011-05-03 08:55:25,329 [main] ERROR BundleDbPersistenceManager - failed = to read bundle: cafebabe-cafe-babe-cafe-babecafebabe: java.lang.NumberForma= tException: For input string: "" > java.lang.NumberFormatException: For input string: "" > =A0 =A0 =A0 =A0at java.lang.NumberFormatException.forInputString(NumberFo= rmatException.java:48) > =A0 =A0 =A0 =A0at java.lang.Integer.parseInt(Integer.java:468) > =A0 =A0 =A0 =A0at java.lang.Integer.parseInt(Integer.java:497) > =A0 =A0 =A0 =A0at org.apache.jackrabbit.core.nodetype.NodeDefId.valueOf(N= odeDefId.java:106) > =A0 =A0 =A0 =A0at org.apache.jackrabbit.core.persistence.bundle.util.Bund= leBinding.readBundle(BundleBinding.java:105) here's the problem: // definitionId bundle.setNodeDefId(NodeDefId.valueOf(in.readUTF())); jackrabbit 1.5.6 assumes that the node definition id is part of the serialized node bundle data. as of jackrabbit 1.6/2.0, definition id's are not persisted anymore, see [0] for details. it seems like you're using jackrabbit 1.5.6 to access data stored with jackrabbit 1.6.* or 2.*. cheers stefan [0] https://issues.apache.org/jira/browse/JCR-2170 > =A0 =A0 =A0 =A0at org.apache.jackrabbit.core.persistence.bundle.BundleDbP= ersistenceManager.loadBundle(BundleDbPersistenceManager.java:1161) > =A0 =A0 =A0 =A0at org.apache.jackrabbit.core.persistence.bundle.BundleDbP= ersistenceManager.loadBundle(BundleDbPersistenceManager.java:1094) > =A0 =A0 =A0 =A0at org.apache.jackrabbit.core.persistence.bundle.AbstractB= undlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:701= ) > =A0 =A0 =A0 =A0at org.apache.jackrabbit.core.persistence.bundle.AbstractB= undlePersistenceManager.exists(AbstractBundlePersistenceManager.java:506) > =A0 =A0 =A0 =A0at org.apache.jackrabbit.core.state.SharedItemStateManager= .hasNonVirtualItemState(SharedItemStateManager.java:1343) > =A0 =A0 =A0 =A0at org.apache.jackrabbit.core.state.SharedItemStateManager= .(SharedItemStateManager.java:203) > =A0 =A0 =A0 =A0at org.apache.jackrabbit.core.RepositoryImpl.createItemSta= teManager(RepositoryImpl.java:1317) > =A0 =A0 =A0 =A0at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo= .doInitialize(RepositoryImpl.java:1863) > =A0 =A0 =A0 =A0at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo= .initialize(RepositoryImpl.java:1834) > =A0 =A0 =A0 =A0at org.apache.jackrabbit.core.RepositoryImpl.initStartupWo= rkspaces(RepositoryImpl.java:483) > =A0 =A0 =A0 =A0at org.apache.jackrabbit.core.RepositoryImpl.(Reposi= toryImpl.java:324) > =A0 =A0 =A0 =A0at org.apache.jackrabbit.core.RepositoryImpl.create(Reposi= toryImpl.java:621) > =A0 =A0 =A0 =A0at [SKIPPED] > > Please note that the line numbers in BundleDbPersistenceManager have chan= ged regarding to the 1.5.6 version of Jackrabbit because I have patched the= class. But I think that doesn`t matter. Any ideas what causes the problem = now? Or how to fix the problem? > > Thanks in advance, > > Sascha > > -----Urspr=FCngliche Nachricht----- > Von: Sascha.Theves@bosch-si.com [mailto:Sascha.Theves@bosch-si.com] > Gesendet: Montag, 2. Mai 2011 13:24 > An: users@jackrabbit.apache.org > Betreff: AW: Jackrabbit doesn`t startup anymore > > Hi, > >> did you copy the complete repository home directory, i.e. including >> the "ns_*.properties" files? > > Yes I copied the complete repository home directory. But I also tried to = remove the complete repository home directory to force a rebuild of the ind= ex files without success. Still same error. Very strange. Debugging is curr= ently not possible because the machine is hosted by our customer. But I wil= l try to patch Jackrabbit`s BundleDbPersistenceManager to get a complete st= ack trace. If I have any news I will post it here. > > But anyway, thank you very much for your help so far. > > Cheers, > > Sascha > > -----Urspr=FCngliche Nachricht----- > Von: Stefan Guggisberg [mailto:stefan.guggisberg@gmail.com] > Gesendet: Montag, 2. Mai 2011 11:19 > An: users@jackrabbit.apache.org > Betreff: Re: Jackrabbit doesn`t startup anymore > > On Mon, May 2, 2011 at 9:18 AM, =A0 wrote: >> Hi, >> >>> i would need a full stacktrace of the following error: >> >>> 2011-04-29 07:41:14,278 [main] ERROR BundleDbPersistenceManager - faile= d >>> to read bundle: cafebabe-cafe-babe-cafe-babecafebabe: >>> java.lang.NumberFormatException: For input string: "" >> >> Attached you will find a debug output log of Jackrabbit. Unfortunately, = I do not see a full stack trace of the NumberFormatException. I think the e= xception must be catched somewhere in Jackrabbit? Any ideas how to get the = full stack? > > either debug jackrabbit and set a breakpoint on the line in > BundleDbPersistenceManager.java > which logs the error, or change that line to print the full stacktrace > and rebuild jackrabbit from > the soruces. > > all i can say is that for some reason the deserialization of the root > node data fails. > >> >>> what exact steps did you perform to setup the test on the other machine= ? >> >> I copied the whole application, including the workspace and the lucene i= ndex data and the database configuration, to the other machine and started = up the application. > > did you copy the complete repository home directory, i.e. including > the "ns_*.properties" files? > >> >>> has anything changed on the original machine? environment settings, loc= ales etc? >> >> I do not see any differences. What should I exactly look for? > > e.g. environment settings (default encoding, charset, locale), jvm > runtime version, etc. > >> >>> what os? deployment details? >> >> OS is a Unix operating system. Jackrabbit is embedded in our application= which runs in an OSGi container. Jackrabbit is connected to a Oracle datab= ase which is hosted on another machine. Java 5 is installed on the machine.= More details are printed in the attached log file. >> >> Any ideas how to get rid of the problem are appreciated because I really= need to get it working again on the orig. machine. > > you'll probably have to debug jackrabbit in order to see why the > deserialization of the root node bundle fails. > > cheers > stefan > >> >> Thanks in advance, >> >> Sascha >> >> -----Urspr=FCngliche Nachricht----- >> Von: Stefan Guggisberg [mailto:stefan.guggisberg@gmail.com] >> Gesendet: Freitag, 29. April 2011 15:22 >> An: users@jackrabbit.apache.org >> Betreff: Re: Jackrabbit doesn`t startup anymore >> >> On Fri, Apr 29, 2011 at 11:54 AM, =A0 wrote: >>> Hi, >>> >>> thanks for your fast reply. We didn`t try a db backup yet but what we h= ave tried is to install Jackrabbit on another machine with exactly the same= configuration (also same db in use). That Jackrabbit instance works withou= t problems. We can start and stop it and we can browse the nodes. >> >> that's good news :) >> >>> So it seems that it doesn`t depend on the database... >> >> agreed >> >>> Any other ideas? >> >> what exact steps did you perform to setup the test on the other machine? >> has anything changed on the original machine? environment settings, loca= les etc? >> what os? deployment details? >> >> obviously there's a problem reading the root node (cafebabe...) on the >> original machine. >> >> i would need a full stacktrace of the following error: >> >> 2011-04-29 07:41:14,278 [main] ERROR BundleDbPersistenceManager - failed >> to read bundle: cafebabe-cafe-babe-cafe-babecafebabe: >> java.lang.NumberFormatException: For input string: "" >> >> it might be that the internal namespace index files (ns_*.properties) >> got corrupted. >> >> cheers >> stefan >> >>> >>> Thanks, >>> >>> Sascha >>> >>> >>> >>> -----Urspr=FCngliche Nachricht----- >>> Von: Stefan Guggisberg [mailto:stefan.guggisberg@gmail.com] >>> Gesendet: Freitag, 29. April 2011 10:53 >>> An: users@jackrabbit.apache.org >>> Betreff: Re: Jackrabbit doesn`t startup anymore >>> >>> On Fri, Apr 29, 2011 at 9:58 AM, =A0 wrote: >>>> Hi all, >>>> >>>> >>>> >>>> we have running a Jackrabbit 1.5.6 instance for months now without any >>>> problems. But since yesterday we were not able anymore to list nodes >>>> anymore and so on. We just got back empty results so that it seems tha= t >>>> no data was ever persisted. After that we shutdown the Jackrabbit >>>> instance and now we are not able to start it again. The following >>>> exception occurs when starting up: >>>> >>>> >>>> >>>> 2011-04-29 07:41:14,278 [main] ERROR BundleDbPersistenceManager - fail= ed >>>> to read bundle: cafebabe-cafe-babe-cafe-babecafebabe: >>>> java.lang.NumberFormatException: For input string: "" >>>> >>>> 2011-04-29 07:41:14,278 [main] ERROR BundleDbPersistenceManager - fail= ed >>>> to read bundle: cafebabe-cafe-babe-cafe-babecafebabe: >>>> java.lang.NumberFormatException: For input string: "" >>>> >>>> 2011-04-29 07:41:14,409 [main] ERROR ConnectionRecoveryManager - could >>>> not execute statement, reason: ORA-00001: unique constraint >>>> (UJXMTSRADMIN.DEFAULT_BUNDLE_IDX) violated >>> >>> seems like your oracle db got corrupted somehow. did you perform sanity >>> checks on your oracle instance? did you try with a db backup? >>> >>> cheers >>> stefan >>> >>>> >>>> , state/code: 23000/1 >>>> >>>> 2011-04-29 07:41:14,409 [main] ERROR ConnectionRecoveryManager - could >>>> not execute statement, reason: ORA-00001: unique constraint >>>> (UJXMTSRADMIN.DEFAULT_BUNDLE_IDX) violated >>>> >>>> , state/code: 23000/1 >>>> >>>> 2011-04-29 07:41:14,417 [main] ERROR BundleDbPersistenceManager - fail= ed >>>> to write bundle: deadbeef-cafe-babe-cafe-babecafebabe >>>> >>>> java.sql.SQLException: ORA-00001: unique constraint >>>> (UJXMTSRADMIN.DEFAULT_BUNDLE_IDX) violated >>>> >>>> >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:= 12 >>>> 5) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.j= av >>>> a:182) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedSt= at >>>> ement.java:630) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatemen= t. >>>> java:1081) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePrepa= re >>>> dStatement.java:2905) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedState= me >>>> nt.java:2996) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryM= an >>>> ager.executeStmtInternal(ConnectionRecoveryManager.java:371) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryM= an >>>> ager.executeStmtInternal(ConnectionRecoveryManager.java:298) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryM= an >>>> ager.executeStmt(ConnectionRecoveryManager.java:261) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryM= an >>>> ager.executeStmt(ConnectionRecoveryManager.java:239) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManag= er >>>> .storeBundle(BundleDbPersistenceManager.java:1198) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenc= eM >>>> anager.putBundle(AbstractBundlePersistenceManager.java:732) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenc= eM >>>> anager.storeInternal(AbstractBundlePersistenceManager.java:672) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenc= eM >>>> anager.store(AbstractBundlePersistenceManager.java:536) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManag= er >>>> .store(BundleDbPersistenceManager.java:524) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.state.SharedItemStateManager.createRootNode= St >>>> ate(SharedItemStateManager.java:1303) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.state.SharedItemStateManager.(SharedI= te >>>> mStateManager.java:204) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.RepositoryImpl.createItemStateManager(Repos= it >>>> oryImpl.java:1317) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doInitialize(R= ep >>>> ositoryImpl.java:1863) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(Rep= os >>>> itoryImpl.java:1834) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(Reposi= to >>>> ryImpl.java:483) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.RepositoryImpl.(RepositoryImpl.java:3= 24 >>>> ) >>>> >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >>>> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:6= 21 >>>> ) >>>> >>>> >>>> >>>> I think the SQL exception is only raised because Jackrabbit is not abl= e >>>> to read the bundle "cafebabe-cafe-babe-cafe-babecafebabe". Do you have >>>> any ideas how to fix the problem or what could have caused the problem= ? >>>> >>>> Any suggestions would be helpful. >>>> >>>> >>>> >>>> Thanks in advance. >>>> >>>> >>>> >>>> Sascha >>>> >>>> >>>> >>>> >>> >> >