[Topic] [1.1.4] Login error

I am trying AgileTrack 1.1.4 on Windows Vista SP1 using SQL Server 2005 SP2.

I get the following error :
—-
Login cannot be performed. Trouble connecting to the AgileTrack server:
java.io.IOException: Lock obtain timed out: PhantomReadLock[write.lock/lucene_index]—-

What's wring ?

—Posted by Matty on Apr 2, 2008

I've sometimes seen the lucene_index table start to have this sort of problem. The solution is to connect to your database with query tool and drop the table—"DROP TABLE lucene_index".

Then, when AgileTrack is restarted, it should automatically recreate the index. Let me know if that doesn't work.

—Posted by Adam Lane on Apr 2, 2008 at 10:57:56 AM

Thank you for your quick answer !

The table lucene_index doesn't exist in the database.

I tried to remove all tables to force AgileTrack to regenerate them, but no lucene_index appears.

—Posted by Matty on Apr 2, 2008 at 5:10:39 PM

Thank you for your quick answer !

The table lucene_index doesn't exist in the database.

I tried to remove all tables to force AgileTrack to regenerate them, but no lucene_index appears.

—Posted by Matty on Apr 2, 2008 at 5:15:17 PM

Thank you for your quick answer !

The table lucene_index doesn't exist in the database.

I tried to remove all tables to force AgileTrack to regenerate them, but no lucene_index appears.

—Posted by Matty on Apr 2, 2008 at 5:19:26 PM

I'm not sure what to make of the error if the table hasn't even been created. Are there any other logs that you might have? Look for agiletrack.log or agiletrack-info.log. Hopefully there is a stack trace when the error occurs that might shed more light on the problem.

—Posted by Adam Lane on Apr 2, 2008 at 8:29:54 PM

Adam,

I deleted all the table to start over. The app launches and creates the tables. Then the error message appears again.

Here is the agiletrack-client log :

******
MySQL JDBC driver found.
Registered persistence provider: agiletrack.persistence.mysql.TrackerMySQLDatabaseFactory
HSQLDB JDBC driver found.
Registered persistence provider: agiletrack.persistence.hsqldb.TrackerHSQLDatabaseFactory
SQLServer JDBC driver found.
Registered persistence provider: agiletrack.persistence.sqlserver.TrackerSQLServerDatabaseFactory
Registered data access provider: agiletrack.persistence.mysql.TrackerMySQLDatabaseFactory
Registered data access provider: agiletrack.persistence.sqlserver.TrackerSQLServerDatabaseFactory
Registered data access provider: agiletrack.persistence.hsqldb.TrackerHSQLDatabaseFactory
Registered data access provider: agiletrack.access.xmlrpc.http.TrackerXMLRPCDataAccessFactory
Registered data access provider: agiletrack.access.jsonrpc.http.TrackerJSONRPCHttpDataAccessFactory
Registered data access provider: agiletrack.access.jsonrpc.direct.TrackerJSONRPCStreamDataAccessFactory
0 [AWT-EventQueue-0] INFO : controller.LocalSettings – Check profile 'default'.
0 [AWT-EventQueue-0] INFO : controller.LocalSettings – Check profile 'demo'.
5678 [Thread-2] INFO : persistence.GenericFullTextIndexer – Beginning full text indexer thread…
Create new persistence cache
6848 [AWT-EventQueue-1] ERROR: sqlserver.TrackerSQLServerDatabase – {userLicenseStatus=MISSING,userEnabled=true,userUsername=admin,revision=28,modifiedDate=Fri Apr 04 03:28:45 CEST 2008,deleted=false,name=Administrator,id=152,type=User,userRoles=[147]}
java.io.IOException: Lock obtain timed out: PhantomReadLock[write.lock/lucene_index]

at org.apache.lucene.store.Lock.obtain(Lock.java:56) at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:254) at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:244) at agiletrack.server.persistence.GenericFullTextIndexer.getWriter(GenericFullTextIndexer.java:117) at agiletrack.server.persistence.GenericFullTextIndexer.updateIndex(GenericFullTextIndexer.java:379) at agiletrack.server.persistence.GenericSQLDatabase.saveRecord(GenericSQLDatabase.java:398) at agiletrack.server.persistence.TrackerCachedPersistence.saveRecord(TrackerCachedPersistence.java:93) at agiletrack.server.license.LicenseModel.assignLicenses(LicenseModel.java:224) at agiletrack.server.TrackerModel.assignLicenses(TrackerModel.java:150) at agiletrack.server.TrackerModel.<init>(TrackerModel.java:128) at agiletrack.server.TrackerModel.<init>(TrackerModel.java:132) at agiletrack.server.controller.TrackerLocalAccess.<init>(TrackerLocalAccess.java:27) at agiletrack.data.access.TrackerDirectDataAccessFactory.getTrackerDataAccessInstance(TrackerDirectDataAccessFactory.java:35) at agiletrack.data.access.TrackerDataAccessParameters.instantiateAccess(TrackerDataAccessParameters.java:33) at agiletrack.client.controller.TrackerSession.createInstance(TrackerSession.java:107) at agiletrack.client.view.LoginPanel.login(LoginPanel.java:213) at agiletrack.client.view.LoginPanel$2.actionPerformed(LoginPanel.java:150) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6038) at javax.swing.JComponent.processMouseEvent(JComponent.java:3260) at java.awt.Component.processEvent(Component.java:5803) at java.awt.Container.processEvent(Container.java:2058) at java.awt.Component.dispatchEventImpl(Component.java:4410) at java.awt.Container.dispatchEventImpl(Container.java:2116) at java.awt.Component.dispatchEvent(Component.java:4240) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) at java.awt.Container.dispatchEventImpl(Container.java:2102) at java.awt.Window.dispatchEventImpl(Window.java:2429) at java.awt.Component.dispatchEvent(Component.java:4240) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at agiletrack.awt.WaitCursorEventQueue.dispatchEvent(WaitCursorEventQueue.java:54) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
******

And here is the AgileTrack-info log :

******
0 [AWT-EventQueue-0] INFO : controller.LocalSettings – Check profile 'default'.
0 [AWT-EventQueue-0] INFO : controller.LocalSettings – Check profile 'demo'.
5678 [Thread-2] INFO : persistence.GenericFullTextIndexer – Beginning full text indexer thread…
6848 [AWT-EventQueue-1] ERROR: sqlserver.TrackerSQLServerDatabase – {userLicenseStatus=MISSING,userEnabled=true,userUsername=admin,revision=28,modifiedDate=Fri Apr 04 03:28:45 CEST 2008,deleted=false,name=Administrator,id=152,type=User,userRoles=[147]}
java.io.IOException: Lock obtain timed out: PhantomReadLock[write.lock/lucene_index]

at org.apache.lucene.store.Lock.obtain(Lock.java:56) at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:254) at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:244) at agiletrack.server.persistence.GenericFullTextIndexer.getWriter(GenericFullTextIndexer.java:117) at agiletrack.server.persistence.GenericFullTextIndexer.updateIndex(GenericFullTextIndexer.java:379) at agiletrack.server.persistence.GenericSQLDatabase.saveRecord(GenericSQLDatabase.java:398) at agiletrack.server.persistence.TrackerCachedPersistence.saveRecord(TrackerCachedPersistence.java:93) at agiletrack.server.license.LicenseModel.assignLicenses(LicenseModel.java:224) at agiletrack.server.TrackerModel.assignLicenses(TrackerModel.java:150) at agiletrack.server.TrackerModel.<init>(TrackerModel.java:128) at agiletrack.server.TrackerModel.<init>(TrackerModel.java:132) at agiletrack.server.controller.TrackerLocalAccess.<init>(TrackerLocalAccess.java:27) at agiletrack.data.access.TrackerDirectDataAccessFactory.getTrackerDataAccessInstance(TrackerDirectDataAccessFactory.java:35) at agiletrack.data.access.TrackerDataAccessParameters.instantiateAccess(TrackerDataAccessParameters.java:33) at agiletrack.client.controller.TrackerSession.createInstance(TrackerSession.java:107) at agiletrack.client.view.LoginPanel.login(LoginPanel.java:213) at agiletrack.client.view.LoginPanel$2.actionPerformed(LoginPanel.java:150) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6038) at javax.swing.JComponent.processMouseEvent(JComponent.java:3260) at java.awt.Component.processEvent(Component.java:5803) at java.awt.Container.processEvent(Container.java:2058) at java.awt.Component.dispatchEventImpl(Component.java:4410) at java.awt.Container.dispatchEventImpl(Container.java:2116) at java.awt.Component.dispatchEvent(Component.java:4240) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) at java.awt.Container.dispatchEventImpl(Container.java:2102) at java.awt.Window.dispatchEventImpl(Window.java:2429) at java.awt.Component.dispatchEvent(Component.java:4240) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at agiletrack.awt.WaitCursorEventQueue.dispatchEvent(WaitCursorEventQueue.java:54) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
******

I hope this helps.

—Posted by Matty on Apr 3, 2008 at 7:34:04 PM

Thanks for the stack trace. It does help. I have managed to create a test case that causes the same error (though not in the same context). I'm going to put together a patch for you so you can try it out. I'll post here with a link to a patched agiletrack.jar when its ready. It'll probably be later today.

—Posted by Adam Lane on Apr 6, 2008 at 12:02:15 PM

I've build a new agiletrack-model.jar that I hope will solve your problem. Save it into you agiletrack/lib directory and try it out. Let me know if it helps. Thanks.

—Posted by Adam Lane on Apr 6, 2008 at 2:58:18 PM

Thank you for your reply !

I deleted the database, replaced the agiletrack-model.jar with the one you supplied but unfortunately it still doesn't work.

Here is the client log :

MySQL JDBC driver found.
Registered persistence provider: agiletrack.persistence.mysql.TrackerMySQLDatabaseFactory
HSQLDB JDBC driver found.
Registered persistence provider: agiletrack.persistence.hsqldb.TrackerHSQLDatabaseFactory
SQLServer JDBC driver found.
Registered persistence provider: agiletrack.persistence.sqlserver.TrackerSQLServerDatabaseFactory
Registered data access provider: agiletrack.persistence.mysql.TrackerMySQLDatabaseFactory
Registered data access provider: agiletrack.persistence.sqlserver.TrackerSQLServerDatabaseFactory
Registered data access provider: agiletrack.persistence.hsqldb.TrackerHSQLDatabaseFactory
Registered data access provider: agiletrack.access.xmlrpc.http.TrackerXMLRPCDataAccessFactory
Registered data access provider: agiletrack.access.jsonrpc.http.TrackerJSONRPCHttpDataAccessFactory
Registered data access provider: agiletrack.access.jsonrpc.direct.TrackerJSONRPCStreamDataAccessFactory
0 [AWT-EventQueue-0] INFO : controller.LocalSettings – Check profile 'default'.
0 [AWT-EventQueue-0] INFO : controller.LocalSettings – Check profile 'demo'.
10796 [Thread-2] INFO : persistence.GenericFullTextIndexer – Beginning full text indexer thread…
Create new persistence cache
11872 [AWT-EventQueue-1] ERROR: sqlserver.TrackerSQLServerDatabase – {userLicenseStatus=MISSING,userEnabled=true,userUsername=admin,revision=30,modifiedDate=Tue Apr 08 17:17:30 CEST 2008,deleted=false,name=Administrator,id=152,type=User,userRoles=[147]}
java.io.IOException: Lock obtain timed out: PhantomReadLock[write.lock/lucene_index]

at org.apache.lucene.store.Lock.obtain(Lock.java:56) at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:254) at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:244) at agiletrack.server.persistence.GenericFullTextIndexer.getWriter(GenericFullTextIndexer.java:119) at agiletrack.server.persistence.GenericFullTextIndexer.updateIndex(GenericFullTextIndexer.java:391) at agiletrack.server.persistence.GenericSQLDatabase.saveRecord(GenericSQLDatabase.java:398) at agiletrack.server.persistence.TrackerCachedPersistence.saveRecord(TrackerCachedPersistence.java:93) at agiletrack.server.license.LicenseModel.assignLicenses(LicenseModel.java:224) at agiletrack.server.TrackerModel.assignLicenses(TrackerModel.java:150) at agiletrack.server.TrackerModel.<init>(TrackerModel.java:128) at agiletrack.server.TrackerModel.<init>(TrackerModel.java:132) at agiletrack.server.controller.TrackerLocalAccess.<init>(TrackerLocalAccess.java:27) at agiletrack.data.access.TrackerDirectDataAccessFactory.getTrackerDataAccessInstance(TrackerDirectDataAccessFactory.java:35) at agiletrack.data.access.TrackerDataAccessParameters.instantiateAccess(TrackerDataAccessParameters.java:33) at agiletrack.client.controller.TrackerSession.createInstance(TrackerSession.java:107) at agiletrack.client.view.LoginPanel.login(LoginPanel.java:213) at agiletrack.client.view.LoginPanel$2.actionPerformed(LoginPanel.java:150) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6038) at javax.swing.JComponent.processMouseEvent(JComponent.java:3260) at java.awt.Component.processEvent(Component.java:5803) at java.awt.Container.processEvent(Container.java:2058) at java.awt.Component.dispatchEventImpl(Component.java:4410) at java.awt.Container.dispatchEventImpl(Container.java:2116) at java.awt.Component.dispatchEvent(Component.java:4240) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) at java.awt.Container.dispatchEventImpl(Container.java:2102) at java.awt.Window.dispatchEventImpl(Window.java:2429) at java.awt.Component.dispatchEvent(Component.java:4240) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at agiletrack.awt.WaitCursorEventQueue.dispatchEvent(WaitCursorEventQueue.java:54) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

And here is the info log :

0 [AWT-EventQueue-0] INFO : controller.LocalSettings – Check profile 'default'.
0 [AWT-EventQueue-0] INFO : controller.LocalSettings – Check profile 'demo'.
10796 [Thread-2] INFO : persistence.GenericFullTextIndexer – Beginning full text indexer thread…
11872 [AWT-EventQueue-1] ERROR: sqlserver.TrackerSQLServerDatabase – {userLicenseStatus=MISSING,userEnabled=true,userUsername=admin,revision=30,modifiedDate=Tue Apr 08 17:17:30 CEST 2008,deleted=false,name=Administrator,id=152,type=User,userRoles=[147]}
java.io.IOException: Lock obtain timed out: PhantomReadLock[write.lock/lucene_index]

at org.apache.lucene.store.Lock.obtain(Lock.java:56) at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:254) at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:244) at agiletrack.server.persistence.GenericFullTextIndexer.getWriter(GenericFullTextIndexer.java:119) at agiletrack.server.persistence.GenericFullTextIndexer.updateIndex(GenericFullTextIndexer.java:391) at agiletrack.server.persistence.GenericSQLDatabase.saveRecord(GenericSQLDatabase.java:398) at agiletrack.server.persistence.TrackerCachedPersistence.saveRecord(TrackerCachedPersistence.java:93) at agiletrack.server.license.LicenseModel.assignLicenses(LicenseModel.java:224) at agiletrack.server.TrackerModel.assignLicenses(TrackerModel.java:150) at agiletrack.server.TrackerModel.<init>(TrackerModel.java:128) at agiletrack.server.TrackerModel.<init>(TrackerModel.java:132) at agiletrack.server.controller.TrackerLocalAccess.<init>(TrackerLocalAccess.java:27) at agiletrack.data.access.TrackerDirectDataAccessFactory.getTrackerDataAccessInstance(TrackerDirectDataAccessFactory.java:35) at agiletrack.data.access.TrackerDataAccessParameters.instantiateAccess(TrackerDataAccessParameters.java:33) at agiletrack.client.controller.TrackerSession.createInstance(TrackerSession.java:107) at agiletrack.client.view.LoginPanel.login(LoginPanel.java:213) at agiletrack.client.view.LoginPanel$2.actionPerformed(LoginPanel.java:150) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6038) at javax.swing.JComponent.processMouseEvent(JComponent.java:3260) at java.awt.Component.processEvent(Component.java:5803) at java.awt.Container.processEvent(Container.java:2058) at java.awt.Component.dispatchEventImpl(Component.java:4410) at java.awt.Container.dispatchEventImpl(Container.java:2116) at java.awt.Component.dispatchEvent(Component.java:4240) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) at java.awt.Container.dispatchEventImpl(Container.java:2102) at java.awt.Window.dispatchEventImpl(Window.java:2429) at java.awt.Component.dispatchEvent(Component.java:4240) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at agiletrack.awt.WaitCursorEventQueue.dispatchEvent(WaitCursorEventQueue.java:54) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
—Posted by Matty on Apr 8, 2008 at 9:18:49 AM

I'm sorry that change didn't solve the problem. Since I can't reproduce the error exactly, I'm not sure how to really solve it.

So, instead I'm going to just have to catch and ignore the error. That will the allow the application to run. It will probably mean the full text searching won't work, but everything else should work fine. I'll let you know when a new patched jar is available. Thanks for the patience and working through this error.

—Posted by Adam Lane on Apr 8, 2008 at 9:33:06 AM

I just put out an updated agiletrack-model.jar that should bypass the problem.

Sorry it took a while to get to it. I hope it works for you.

—Posted by Adam Lane on Apr 12, 2008 at 1:36:52 PM


You may post a reply to this topic, but you must be logged in. If you already have an account, you may login now. If you need to create an account, you may also register now.