Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 342380

Summary: Several bugs with JBoss Modeshape Connector
Product: z_Archived Reporter: Joerg Reichert <joerg83reichert>
Component: RemusAssignee: Tom Seidel <tom.seidel>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
final configRepository.xml for mysql connection
none
MySQL DB table after initialisation
none
several errors thrown in Eclipse workspace .log and JBoss modeshade log when trying to connect to JCR with MySQL in background (using several different configurations)
none
the configRepository file causing the file not found exception none

Description Joerg Reichert CLA 2011-04-10 15:43:48 EDT
Build Identifier: Eclipse SDK, Version: 3.6.2, Build id: M20110210-1200, Remus 1.0.0.201104061020

These are actually several bugs, maybe they should be tracked in several issues:

I followed the instructions as written http://remus-software.org/server-components/

The default use case with the remus-online HSQL source and the bob workspace works. I could connect and check-out, check-in as well as synchronize.


1. Bug

Then I tried the connection data for sandra. I could refresh but when I tried to check out, I got this error message:

Reason: Error Building Pool Strategy
Details: Bad Request

and this message in the .log

!ENTRY org.eclipse.ui 4 0 2011-04-10 16:57:12.359
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
 at org.remus.infomngmnt.connector.modeshape.ui.NewModeshapeRepositoryWizard.performFinish(NewModeshapeRepositoryWizard.java:42)
 at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:811)
 at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:430)
 at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
 at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
 at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
 at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
 at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
 at org.eclipse.jface.window.Window.open(Window.java:801)
 at org.eclipse.remus.ui.remote.handler.NewRepositoryHandler.execute(NewRepositoryHandler.java:41)
 at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
 at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
 at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:178)
 at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:247)
 at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:247)
 at org.eclipse.remus.ui.remote.view.action.AddRemoteRepositoryAction.run(AddRemoteRepositoryAction.java:60)
 at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
 at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
 at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
 at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:452)
 at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
 at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
 at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
 at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
 at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
 at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
 at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
 at org.eclipse.equinox.launcher.Main.run(Main.java:1408)


Then I tried to define a source using a MySQL connection. After some misconfigurations (leading to non working refresh in Remus and some strange NPEs) I got at least the database to be initialized when refreshing the connector node in Remus but still could not check out. My attempts are documented in mysql_exceptions.txt. My (final) configRepository.xml can also be seen in the appendix of this bug report as well as mode_simple_node.jpg, that shows the db table mode_simple_node, after the initialisation, that seems to be incorrect and thus causing the checkout to fail. 

I also did not get the other sources (Cars, Airplane) accessible (added it for testing to Bobs privileges in realm.properties).

Reproducible: Always
Comment 1 Joerg Reichert CLA 2011-04-10 15:45:31 EDT
Created attachment 192905 [details]
final configRepository.xml for mysql connection
Comment 2 Joerg Reichert CLA 2011-04-10 15:46:26 EDT
Created attachment 192906 [details]
MySQL DB table after initialisation
Comment 3 Joerg Reichert CLA 2011-04-10 15:48:30 EDT
Created attachment 192907 [details]
several errors thrown in Eclipse workspace .log and JBoss modeshade log when trying to connect to JCR with MySQL in background (using several different configurations)
Comment 4 Tom Seidel CLA 2011-04-11 10:37:35 EDT
Regarding the checkout of sandras workspace: There is a typo in the etc/realm.properties, the role must be "readonly", not "read".

bob: bob,jcr-user,readwrite.remus-online.bob,readonly.remus-online.sandra
sandra: sandra,jcr-user,readwrite.remus-online.sandra,readonly.remus-online.bob

I've updated the website and will build a new package. There is an additional bug if bob wants to access sandras workspace in the connector. This bug is already fixed but I'm currently externalising all Strings of all bundles, so I cannot checkin this fix atm. This fix will be find its way into the SVN in the next 2 or 3 days.
Comment 5 Tom Seidel CLA 2011-04-11 11:00:25 EDT
Regarding the MySQL-Issues:
Have you tried the MySQL5Dialect?-Dependent to your MySQL configuration you cannot use the InnoDB-Dialect.

See below for my configuration which works so far:

<mode:source jcr:name="remus-online" mode:classname="org.modeshape.connector.store.jpa.JpaSource"
        	mode:model="Simple"
        	mode:username="root"
        	mode:password="root"
        	mode:maximumConnectionsInPool="3"
        	mode:dialect="org.hibernate.dialect.MySQL5Dialect"
        	mode:url="jdbc:mysql://localhost:3306/remus_online_store?autoReconnect=true"
        	mode:driverClassName="com.mysql.jdbc.Driver"
        	mode:referentialIntegrityEnforced="true"
        	mode:largeValueSizeInBytes="1000"
        	mode:retryLimit="3"
        	mode:compressData="false"
        	mode:defaultWorkspaceName="tomcat"
        	mode:showSql="false"
            mode:autoGenerateSchema="create"
            mode:creatingWorkspacesAllowed="true" 
        	 />
Comment 6 Joerg Reichert CLA 2011-04-12 05:08:41 EDT
ok, I set up my database according to your connection properties. I found out that I have forgotten to set up the connection in the realm.properties and wrongly tried to use the DB username and password inside Remus. 

But now I get this exception when I try to checkout:


!ENTRY org.eclipse.ui 4 0 2011-04-12 08:45:39.936
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
	at org.eclipse.remus.common.core.util.ModelUtil.containsParent(ModelUtil.java:104)
	at org.eclipse.remus.core.remote.sync.SyncSchedulingRule.isConflicting(SyncSchedulingRule.java:58)
	at org.eclipse.core.internal.jobs.JobManager.validateRule(JobManager.java:1536)
	at org.eclipse.core.internal.jobs.JobManager.setRule(JobManager.java:1215)
	at org.eclipse.core.internal.jobs.InternalJob.setRule(InternalJob.java:544)
	at org.eclipse.core.runtime.jobs.Job.setRule(Job.java:544)
	at org.eclipse.remus.core.remote.sync.AbstractSynchronizationJob.<init>(AbstractSynchronizationJob.java:41)
	at org.eclipse.remus.ui.remote.view.action.CheckoutAction$2.<init>(CheckoutAction.java:90)
	at org.eclipse.remus.ui.remote.view.action.CheckoutAction.run(CheckoutAction.java:90)
	at org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEvent(BaseSelectionListenerAction.java:168)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.remus.application.Application.start(Application.java:133)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)

(In reply to comment #5)
> Regarding the MySQL-Issues:
> Have you tried the MySQL5Dialect?-Dependent to your MySQL configuration you
> cannot use the InnoDB-Dialect.
> 
> See below for my configuration which works so far:
> 
> <mode:source jcr:name="remus-online"
> mode:classname="org.modeshape.connector.store.jpa.JpaSource"
>             mode:model="Simple"
>             mode:username="root"
>             mode:password="root"
>             mode:maximumConnectionsInPool="3"
>             mode:dialect="org.hibernate.dialect.MySQL5Dialect"
>            
> mode:url="jdbc:mysql://localhost:3306/remus_online_store?autoReconnect=true"
>             mode:driverClassName="com.mysql.jdbc.Driver"
>             mode:referentialIntegrityEnforced="true"
>             mode:largeValueSizeInBytes="1000"
>             mode:retryLimit="3"
>             mode:compressData="false"
>             mode:defaultWorkspaceName="tomcat"
>             mode:showSql="false"
>             mode:autoGenerateSchema="create"
>             mode:creatingWorkspacesAllowed="true" 
>              />
Comment 7 Tom Seidel CLA 2011-04-12 05:20:56 EDT
Is this error reproducable if you set the Parent-Category in the checkout-wizard for example to your Inbox-Project? - Stacktrace indicates that the chosen Target-Category (to where the elements are checked out) doesn't exists (also strange because this would disable the finish-button at the wizard)
Comment 8 Joerg Reichert CLA 2011-04-12 05:25:31 EDT
When I choose Checkout, no checkout wizard appears. So no possibility to choose the checkout folder.

(In reply to comment #7)
> Is this error reproducable if you set the Parent-Category in the
> checkout-wizard for example to your Inbox-Project? - Stacktrace indicates that
> the chosen Target-Category (to where the elements are checked out) doesn't
> exists (also strange because this would disable the finish-button at the
> wizard)
Comment 9 Tom Seidel CLA 2011-04-12 05:41:22 EDT
Could be that you're running in the bug, which is already fixed, but not committed yet. Could you please try to double-click the repository, change the url, undo the change and press finish, afterwards click "Refresh" on the context-menu and afterwards try "Checkout"
Comment 10 Joerg Reichert CLA 2011-04-12 06:07:10 EDT
No, does not help. JBoss Moonshade logs this out:

2011-04-12 12:00:58,458 INFO  [ResteasyDeployment:245] Deploying javax.ws.rs.core.Application: class org.modeshape.web.jcr.rest.JcrApplication
2011-04-12 12:01:26,463 DEBUG [SynchronousDispatcher:123] PathInfo: /remus-online
2011-04-12 12:01:26,826 TRACE [Connection:305] MapRepositoryConnection.execute(...) took 00:00:00.093,738
2011-04-12 12:01:26,901 DEBUG [JcrRepositoryFactory:214] Could not start the JcrEngine
java.io.FileNotFoundException: \configRepository.xml (Das System kann die angegebene Datei nicht finden)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(Unknown Source)
	at java.io.FileInputStream.<init>(Unknown Source)
	at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
	at java.net.URL.openStream(Unknown Source)
	at org.modeshape.repository.ModeShapeConfiguration.loadFrom(ModeShapeConfiguration.java:241)
	at org.modeshape.jcr.JcrConfiguration.loadFrom(JcrConfiguration.java:324)
	at org.modeshape.jcr.JcrConfiguration.loadFrom(JcrConfiguration.java:76)
	at org.modeshape.repository.ModeShapeConfiguration.loadFrom(ModeShapeConfiguration.java:224)
	at org.modeshape.jcr.JcrConfiguration.loadFrom(JcrConfiguration.java:312)
	at org.modeshape.jcr.JcrRepositoryFactory.getEngineFromConfigFile(JcrRepositoryFactory.java:198)
	at org.modeshape.jcr.JcrRepositoryFactory.repositoriesFor(JcrRepositoryFactory.java:401)
	at org.modeshape.jcr.JcrRepositoryFactory.getRepositories(JcrRepositoryFactory.java:481)
	at org.modeshape.web.jcr.spi.FactoryRepositoryProvider.getRepository(FactoryRepositoryProvider.java:71)
	at org.modeshape.web.jcr.spi.FactoryRepositoryProvider.getSession(FactoryRepositoryProvider.java:108)
	at org.modeshape.web.jcr.RepositoryFactory.getSession(RepositoryFactory.java:90)
	at org.modeshape.web.jcr.rest.AbstractHandler.getSession(AbstractHandler.java:40)
	at org.modeshape.web.jcr.rest.RepositoryHandler.getWorkspaces(RepositoryHandler.java:36)
	at org.modeshape.web.jcr.rest.JcrResources.getWorkspaces(JcrResources.java:188)
	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.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:124)
	at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:247)
	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:212)
	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:202)
	at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:441)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:418)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:111)
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:217)
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:159)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:534)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:476)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:468)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:935)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:404)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:870)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247)
	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.eclipse.jetty.server.Server.handle(Server.java:346)
	at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596)
	at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1051)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:592)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:214)
	at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:520)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:528)


(In reply to comment #9)
> Could be that you're running in the bug, which is already fixed, but not
> committed yet. Could you please try to double-click the repository, change the
> url, undo the change and press finish, afterwards click "Refresh" on the
> context-menu and afterwards try "Checkout"
Comment 11 Tom Seidel CLA 2011-04-12 06:15:48 EDT
hmm, ok could be the reason for possible sideeffects. Check in your WEB-INF/web.xml for the presence of the following lines:

 <context-param>
		<param-name>org.modeshape.web.jcr.JCR_URL</param-name>
		<param-value>file:/configRepository.xml</param-value>
	</context-param> 

And could you check if your configRepository.xml is valid?
Comment 12 Joerg Reichert CLA 2011-04-12 06:28:24 EDT
ok, my configRepository.xml seems to be wrong. I replaced it with its original replacing only the part with the source. Now I get this error message when refreshing:

An internal error occurred during: "Fetching children of remus_online_store".
java.lang.NullPointerException

!ENTRY org.eclipse.core.jobs 4 2 2011-04-12 12:18:03.225
!MESSAGE An internal error occurred during: "Fetching children of remus_online_store".
!STACK 0
java.lang.NullPointerException
	at org.remus.infomngmnt.connector.modeshape.ModeshapeConnector.buildPoolItem(ModeshapeConnector.java:237)
	at org.remus.infomngmnt.connector.modeshape.ModeshapeConnector.getChildren(ModeshapeConnector.java:148)
	at org.eclipse.remus.ui.remote.deferred.RemoteRepositoryDeferredAdapter.fetchDeferredChildren(RemoteRepositoryDeferredAdapter.java:77)
	at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:235)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

When checking out I get the classcastexception. These both exception has been already reported in the appended exception_mysql.txt. Changing the url and revert the change, has no effect.


(In reply to comment #11)
> hmm, ok could be the reason for possible sideeffects. Check in your
> WEB-INF/web.xml for the presence of the following lines:
> 
>  <context-param>
>         <param-name>org.modeshape.web.jcr.JCR_URL</param-name>
>         <param-value>file:/configRepository.xml</param-value>
>     </context-param> 
> 
> And could you check if your configRepository.xml is valid?
Comment 13 Joerg Reichert CLA 2011-04-12 06:30:43 EDT
Created attachment 193023 [details]
the configRepository file causing the file not found exception
Comment 14 Tom Seidel CLA 2011-04-12 06:41:50 EDT
Yes, this not well-formed, you're missing the start-tag of mode:sources 

<mode:sources jcr:primaryType="nt:unstructured">
Comment 15 Tom Seidel CLA 2011-04-14 08:46:54 EDT
I've committed now a fixed version of the connector. The scenario with bob and sandra should work now.
Comment 16 Joerg Reichert CLA 2011-04-14 09:30:42 EDT
Yes, it works fine, at least under Windows. readwrite and readonly access works as expected, only the error message, when e.g. Sandra tries to commit a change to bob's repository, could be more explanatory - currently only "Bad request".

Under MacOS I get this error message in the .log when trying to complete the JBoss moonshade repository creation for bob:

!ENTRY org.eclipse.ui 4 0 2011-04-14 14:09:28.104
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
	at org.remus.infomngmnt.connector.modeshape.ui.NewModeshapeRepositoryWizard.performFinish(NewModeshapeRepositoryWizard.java:43)
	at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:811)
	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:430)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1187)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3622)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3277)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.remus.ui.remote.handler.NewRepositoryHandler.execute(NewRepositoryHandler.java:41)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
	at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:178)
	at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:247)
	at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:247)
	at org.eclipse.remus.ui.remote.view.action.AddRemoteRepositoryAction.run(AddRemoteRepositoryAction.java:61)
	at org.eclipse.remus.ui.remote.view.RemoteRepositoryViewer$2.handleEvent(RemoteRepositoryViewer.java:136)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390)
	at org.eclipse.swt.widgets.Widget.sendSelectionEvent(Widget.java:1440)
	at org.eclipse.swt.widgets.Link.textView_clickOnLink_atIndex(Link.java:116)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5216)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)
	at org.eclipse.swt.widgets.Widget.mouseDownSuper(Widget.java:1025)
	at org.eclipse.swt.widgets.Widget.mouseDown(Widget.java:1021)
	at org.eclipse.swt.widgets.Control.mouseDown(Control.java:2258)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4976)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)
	at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:1943)
	at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2025)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5040)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4582)
	at org.eclipse.swt.widgets.Display.applicationProc(Display.java:4659)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
	at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:115)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3274)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.remus.application.Application.start(Application.java:133)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)

I used 
BuildId: RCP-TRUNK-135
Date: 2011-04-14_03_17
for MacOS Cocoa

(In reply to comment #15)
> I've committed now a fixed version of the connector. The scenario with bob and
> sandra should work now.
Comment 17 Tom Seidel CLA 2011-04-14 09:59:54 EDT
hmm...weird... Not reproducable here on Mac. Have you tried removing all Modeshape-Repositories from your Repository-View and afterwards creating a new one?
Comment 18 Joerg Reichert CLA 2011-04-14 10:05:32 EDT
I started with a completely new Remus, the latest STANDARD from Bamboo. Maybe a rights problem (had those problems in some other applications, after I migrated the content of the old Mac to my current).

(In reply to comment #17)
> hmm...weird... Not reproducable here on Mac. Have you tried removing all
> Modeshape-Repositories from your Repository-View and afterwards creating a new
> one?
Comment 19 Joerg Reichert CLA 2011-04-14 10:33:43 EDT
I forgotten, there was another exception before this NPE:

!ENTRY org.eclipse.equinox.security 4 0 2011-04-14 16:30:52.466
!MESSAGE Secure storage was unable to retrieve the master password from the OS keyring. Make sure that this application has access to the OS keyring. If the error persists, the password recovery feature could be used, or secure storage can be deleted and re-created.
!STACK 0
java.lang.SecurityException: Could not obtain password.  Result: -67061
	at org.eclipse.equinox.internal.security.osx.OSXProvider.getPassword(Native Method)
	at org.eclipse.equinox.internal.security.osx.OSXProvider.getPassword(OSXProvider.java:45)
	at org.eclipse.equinox.internal.security.storage.PasswordProviderModuleExt.getPassword(PasswordProviderModuleExt.java:35)
	at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getModulePassword(SecurePreferencesRoot.java:259)
	at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getPassword(SecurePreferencesRoot.java:224)
	at org.eclipse.equinox.internal.security.storage.SecurePreferences.put(SecurePreferences.java:224)
	at org.eclipse.equinox.internal.security.storage.SecurePreferencesWrapper.put(SecurePreferencesWrapper.java:110)
	at org.eclipse.remus.core.remote.security.CredentialProvider.setPassword(CredentialProvider.java:102)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.core.internal.databinding.beans.BeanPropertyHelper.writeProperty(BeanPropertyHelper.java:54)
	at org.eclipse.core.internal.databinding.beans.BeanValueProperty.doSetValue(BeanValueProperty.java:51)
	at org.eclipse.core.databinding.property.value.ValueProperty.setValue(ValueProperty.java:67)
	at org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue.doSetValue(SimplePropertyObservableValue.java:104)
	at org.eclipse.core.databinding.observable.value.AbstractObservableValue.setValue(AbstractObservableValue.java:55)
	at org.eclipse.core.databinding.observable.value.DecoratingObservableValue.setValue(DecoratingObservableValue.java:103)
	at org.eclipse.core.databinding.UpdateValueStrategy.doSet(UpdateValueStrategy.java:486)
	at org.eclipse.core.databinding.ValueBinding$4.run(ValueBinding.java:197)
	at org.eclipse.core.databinding.observable.Realm$1.run(Realm.java:148)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.databinding.observable.Realm.safeRun(Realm.java:152)
	at org.eclipse.core.databinding.observable.Realm.exec(Realm.java:170)
	at org.eclipse.core.databinding.ValueBinding$3.run(ValueBinding.java:188)
	at org.eclipse.core.databinding.observable.Realm$1.run(Realm.java:148)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.databinding.observable.Realm.safeRun(Realm.java:152)
	at org.eclipse.core.databinding.observable.Realm.exec(Realm.java:170)
	at org.eclipse.core.databinding.ValueBinding.doUpdate(ValueBinding.java:151)
	at org.eclipse.core.databinding.ValueBinding.access$4(ValueBinding.java:140)
	at org.eclipse.core.databinding.ValueBinding$1.handleValueChange(ValueBinding.java:45)
	at org.eclipse.core.databinding.observable.value.ValueChangeEvent.dispatch(ValueChangeEvent.java:62)
	at org.eclipse.core.databinding.observable.ChangeManager.fireEvent(ChangeManager.java:119)
	at org.eclipse.core.databinding.observable.value.DecoratingObservableValue.fireValueChange(DecoratingObservableValue.java:55)
	at org.eclipse.core.databinding.observable.value.DecoratingObservableValue.handleValueChange(DecoratingObservableValue.java:93)
	at org.eclipse.core.databinding.observable.value.DecoratingObservableValue$1.handleValueChange(DecoratingObservableValue.java:67)
	at org.eclipse.core.databinding.observable.value.ValueChangeEvent.dispatch(ValueChangeEvent.java:62)
	at org.eclipse.core.databinding.observable.ChangeManager.fireEvent(ChangeManager.java:119)
	at org.eclipse.core.databinding.observable.value.AbstractObservableValue.fireValueChange(AbstractObservableValue.java:71)
	at org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue.notifyIfChanged(SimplePropertyObservableValue.java:120)
	at org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue.access$1(SimplePropertyObservableValue.java:112)
	at org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue$2.run(SimplePropertyObservableValue.java:66)
	at org.eclipse.core.databinding.observable.Realm$1.run(Realm.java:148)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.databinding.observable.Realm.safeRun(Realm.java:152)
	at org.eclipse.core.databinding.observable.Realm.exec(Realm.java:170)
	at org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue$1.handleEvent(SimplePropertyObservableValue.java:63)
	at org.eclipse.core.databinding.property.NativePropertyListener.fireChange(NativePropertyListener.java:63)
	at org.eclipse.jface.internal.databinding.swt.WidgetListener.handleEvent(WidgetListener.java:55)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1187)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3622)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3277)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.remus.ui.remote.handler.NewRepositoryHandler.execute(NewRepositoryHandler.java:41)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
	at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:178)
	at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:247)
	at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:247)
	at org.eclipse.remus.ui.remote.view.action.AddRemoteRepositoryAction.run(AddRemoteRepositoryAction.java:61)
	at org.eclipse.remus.ui.remote.view.RemoteRepositoryViewer$2.handleEvent(RemoteRepositoryViewer.java:136)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390)
	at org.eclipse.swt.widgets.Widget.sendSelectionEvent(Widget.java:1440)
	at org.eclipse.swt.widgets.Link.textView_clickOnLink_atIndex(Link.java:116)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5216)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)
	at org.eclipse.swt.widgets.Widget.mouseDownSuper(Widget.java:1025)
	at org.eclipse.swt.widgets.Widget.mouseDown(Widget.java:1021)
	at org.eclipse.swt.widgets.Control.mouseDown(Control.java:2258)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4976)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)
	at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:1943)
	at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2025)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5040)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4582)
	at org.eclipse.swt.widgets.Display.applicationProc(Display.java:4659)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
	at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:115)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3274)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.remus.application.Application.start(Application.java:133)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)

!ENTRY org.eclipse.ui 4 0 2011-04-14 16:30:53.506
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
	at org.remus.infomngmnt.connector.modeshape.ui.NewModeshapeRepositoryWizard.performFinish(NewModeshapeRepositoryWizard.java:43)


This security exception is thrown several times.

(In reply to comment #18)
> I started with a completely new Remus, the latest STANDARD from Bamboo. Maybe a
> rights problem (had those problems in some other applications, after I migrated
> the content of the old Mac to my current).
> 
> (In reply to comment #17)
> > hmm...weird... Not reproducable here on Mac. Have you tried removing all
> > Modeshape-Repositories from your Repository-View and afterwards creating a new
> > one?