Community
Participate
Working Groups
(I'm not sure if I should be reporting this on RDT.sync or Remote Tools...) I am running the latest PTP 6 sources from Git in a runtime workspace. When I enable assertions (vmargs -ea), if I try to create a new synchronized project, I get the following error when I click the "Browse" button to select a directory on the remote machine... java.lang.AssertionError at org.eclipse.ptp.remotetools.internal.ssh.RemoteItem.parseAttrs(RemoteItem.java:314) at org.eclipse.ptp.remotetools.internal.ssh.RemoteItem.refreshAttributes(RemoteItem.java:176) at org.eclipse.ptp.remote.remotetools.core.RemoteToolsFileStore.getRemoteItem(RemoteToolsFileStore.java:507) at org.eclipse.ptp.remote.remotetools.core.RemoteToolsFileStore.fetchInfo(RemoteToolsFileStore.java:173) at org.eclipse.core.filesystem.provider.FileStore.fetchInfo(FileStore.java:280) at org.eclipse.ptp.remote.ui.dialogs.RemoteResourceBrowser.findInitialPath(RemoteResourceBrowser.java:332) at org.eclipse.ptp.remote.ui.dialogs.RemoteResourceBrowser.changeInput(RemoteResourceBrowser.java:225) at org.eclipse.ptp.remote.ui.dialogs.RemoteResourceBrowser.createContents(RemoteResourceBrowser.java:444) at org.eclipse.jface.window.Window.create(Window.java:431) at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089) at org.eclipse.jface.window.Window.open(Window.java:790) at org.eclipse.ptp.remote.remotetools.ui.RemoteToolsUIFileManager.browseDirectory(RemoteToolsUIFileManager.java:43) at org.eclipse.ptp.rdt.sync.git.ui.GitParticipant$5.widgetSelected(GitParticipant.java:211) ... ...and the same assertion fails immediately after the New Project wizard completes: An internal error occurred during: "Remote Synchronization". java.lang.AssertionError at org.eclipse.ptp.remotetools.internal.ssh.RemoteItem.parseAttrs(RemoteItem.java:314) at org.eclipse.ptp.remotetools.internal.ssh.RemoteItem.refreshAttributes(RemoteItem.java:176) at org.eclipse.ptp.remote.remotetools.core.RemoteToolsFileStore.getRemoteItem(RemoteToolsFileStore.java:507) at org.eclipse.ptp.remote.remotetools.core.RemoteToolsFileStore.fetchInfo(RemoteToolsFileStore.java:173) at org.eclipse.core.filesystem.provider.FileStore.fetchInfo(FileStore.java:280) at org.eclipse.ptp.rdt.sync.git.core.CommandRunner.createRemoteDirectory(CommandRunner.java:159) at org.eclipse.ptp.rdt.sync.git.core.GitRemoteSyncConnection.buildRepo(GitRemoteSyncConnection.java:188) at org.eclipse.ptp.rdt.sync.git.core.GitRemoteSyncConnection.<init>(GitRemoteSyncConnection.java:105) at org.eclipse.ptp.rdt.sync.git.core.GitServiceProvider.synchronize(GitServiceProvider.java:326) at org.eclipse.ptp.rdt.sync.core.SyncManager$SynchronizeJob.run(SyncManager.java:108) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) The failing assertion in RemoteItem#parseAttrs is: assert (isDirectory == attrs.isDir());
It looks like a bogus assertion to me. When the RemoteItem object is first created, isDirectory will be false. However if the remote item is actually a directory, attr.isDir() will be true, so the first call to parseAttrs() (from the constructor) will fail the assertion.
Fixed in ptp_5_0 and HEAD.
Wow, that was fast. Thanks!
Closing as fixed.