Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 365077 - Assertion failure in RemoteItem#parseAttrs
Summary: Assertion failure in RemoteItem#parseAttrs
Status: RESOLVED FIXED
Alias: None
Product: PTP
Classification: Tools
Component: Remote Tools (show other bugs)
Version: 6.0   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: 5.0.5   Edit
Assignee: Greg Watson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-29 10:43 EST by Jeffrey Overbey CLA
Modified: 2012-01-10 14:16 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jeffrey Overbey CLA 2011-11-29 10:43:57 EST
(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());
Comment 1 Greg Watson CLA 2011-11-29 12:49:47 EST
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.
Comment 2 Greg Watson CLA 2011-11-29 13:21:46 EST
Fixed in ptp_5_0 and HEAD.
Comment 3 Jeffrey Overbey CLA 2011-11-29 15:30:23 EST
Wow, that was fast.  Thanks!
Comment 4 Greg Watson CLA 2012-01-10 14:16:37 EST
Closing as fixed.