Bug 222040 - gridftp: file transfers do not work across mounted storages, zero size files can not be edite
Summary: gridftp: file transfers do not work across mounted storages, zero size files ...
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Geclipse (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Mateusz Pabis CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-03-10 08:57 EDT by Jie Tao CLA
Modified: 2014-01-09 16:14 EST (History)
1 user (show)

See Also:


Attachments
the screenshot (224.18 KB, image/jpeg)
2008-03-11 04:58 EDT, Jie Tao CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jie Tao CLA 2008-03-10 08:57:00 EDT
This is perhaps caused by recent code modification because all these functions have worked.

1. copy file mathias.txt from the gridftp mounted plethon.grid.ucy.ac.cy to the mounted egeee-ce1.gup.uni....  fails, but it is no problem to copy the same file to a manually connected iwrse. It is also no problem to copy files from the mounted linz to the mounted plethon. This is strange. Error message:

Unable to open output stream for mathias.txt

eu.geclipse.core.reporting.ProblemException: Unspecified IO problem
	at eu.geclipse.efs.gridftp.GridFTPConnection.asyncPut(GridFTPConnection.java:692)
	at eu.geclipse.efs.gridftp.GridFile.openOutputStream(GridFile.java:264)
	at eu.geclipse.core.filesystem.internal.filesystem.GEclipseFileStore.openOutputStream(GEclipseFileStore.java:282)
	at eu.geclipse.ui.internal.transfer.GridElementTransferOperation.copyFile(GridElementTransferOperation.java:355)
	at eu.geclipse.ui.internal.transfer.GridElementTransferOperation.copy(GridElementTransferOperation.java:190)
	at eu.geclipse.ui.internal.transfer.GridElementTransferOperation.transferElement(GridElementTransferOperation.java:570)
	at eu.geclipse.ui.internal.transfer.GridElementTransferOperation.run(GridElementTransferOperation.java:154)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
eu.geclipse.core.reporting.ProblemException[2102551133]: org.globus.ftp.exception.ServerException: Server refused performing the request. Custom message:  (error code 1) [Nested exception message:  Custom message: Unexpected reply: 553 /dpm/gup.uni-linz.ac.at/home/geclipse/temp/mathias.txt: Permission denied.].  Nested exception is org.globus.ftp.exception.UnexpectedReplyCodeException:  Custom message: Unexpected reply: 553 /dpm/gup.uni-linz.ac.at/home/geclipse/temp/mathias.txt: Permission denied.
	at org.globus.ftp.vanilla.TransferMonitor.run(TransferMonitor.java:195)
	at java.lang.Thread.run(Unknown Source)
	
2: can not create new files on any gridftp connection (neither mounted nor manually connected) with I/O problem:

java.lang.NullPointerException
	at java.util.concurrent.ConcurrentHashMap.containsKey(Unknown Source)
	at java.util.concurrent.ConcurrentHashMap$KeySet.contains(Unknown Source)
	at org.eclipse.mylyn.internal.resources.ui.ResourceInteractionMonitor.handleWorkbenchPartSelection(ResourceInteractionMonitor.java:46)
	at org.eclipse.mylyn.monitor.ui.AbstractUserInteractionMonitor.selectionChanged(AbstractUserInteractionMonitor.java:53)
	at org.eclipse.ui.internal.AbstractSelectionService.firePostSelection(AbstractSelectionService.java:179)
	at org.eclipse.ui.internal.AbstractSelectionService.setActivePart(AbstractSelectionService.java:289)
	at org.eclipse.ui.internal.WWinPartService.updateActivePart(WWinPartService.java:125)
	at org.eclipse.ui.internal.WWinPartService.access$0(WWinPartService.java:115)
	at org.eclipse.ui.internal.WWinPartService$1.partDeactivated(WWinPartService.java:48)
	at org.eclipse.ui.internal.PartListenerList2$4.run(PartListenerList2.java:113)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.runtime.Platform.run(Platform.java:857)
	at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:53)
	at org.eclipse.ui.internal.PartListenerList2.firePartDeactivated(PartListenerList2.java:111)
	at org.eclipse.ui.internal.PartService.firePartDeactivated(PartService.java:116)
	at org.eclipse.ui.internal.PartService.setActivePart(PartService.java:165)
	at org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePartChanged(WorkbenchPagePartList.java:56)
	at org.eclipse.ui.internal.PartList.setActivePart(PartList.java:126)
	at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3384)
	at org.eclipse.ui.internal.WorkbenchPage.activate(WorkbenchPage.java:602)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2730)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2633)
	at org.eclipse.ui.internal.WorkbenchPage.access$12(WorkbenchPage.java:2625)
	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2577)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2572)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2556)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2547)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:644)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:603)
	at org.eclipse.ui.wizards.newresource.BasicNewFileResourceWizard.performFinish(BasicNewFileResourceWizard.java:101)
	at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:742)
	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:373)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:616)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
	at org.eclipse.jface.window.Window.open(Window.java:796)
	at org.eclipse.ui.internal.actions.NewWizardShortcutAction.run(NewWizardShortcutAction.java:135)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
	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:504)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1144)
Comment 1 Ariel Garcia CLA 2008-03-10 09:44:51 EDT
Posznan, could you please take a deeper look at this one?

I think that the 1st item is not really a bug but we have to provide better error handling! (read ProblemDialog)
If you look at the stacktrace the cause is really a "permission denied" error at the GUP server. So that folder is readonly for the VO. I could reproduce it from the command line tools, see below the "group::r-x" in the ACL:
--------------
ariel@iwrui:~$ dpns-getacl /dpm/gup.uni-linz.ac.at/home/geclipse/temp
# file: /dpm/gup.uni-linz.ac.at/home/geclipse/temp
# owner: /C=PL/O=GRID/O=PSNC/CN=Mateusz Pabis
# group: geclipse
user::rwx
group::r-x              #effective:r-x
group:geclipse:rwx              #effective:r-x
group:geclipse/Role=production:rwx              #effective:r-x
group:geclipse/Role=lcgadmin:rwx                #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::rwx
default:group:geclipse:rwx
default:group:geclipse/Role=production:rwx
default:group:geclipse/Role=lcgadmin:rwx
default:mask::rwx
default:other::r-x
----------------

When copying to **/temp:
-----------------
ariel@iwrui:~$ globus-url-copy file:/etc/hosts gsiftp://egee-ce1.gup.uni-linz.ac.at/dpm/gup.uni-linz.ac.at/home/geclipse/temp/ariel-test
error: the server sent an error response: 553 553 /dpm/gup.uni-linz.ac.at/home/geclipse/temp/ariel-test: Permission denied.
-----------------

but one level above it succeeds:
-----------------
ariel@iwrui:~$ globus-url-copy file:/etc/hosts gsiftp://egee-ce1.gup.uni-linz.ac.at/dpm/gup.uni-linz.ac.at/home/geclipse/ariel-test
----------------


Regarding the 2nd item:
Jie: the item 2 that you report seems unrelated to geclipse, i only see a NullPointerException at a HashMap being called from Mylyn, but no geclipse class at all in the full stack trace. Can you please recheck you posted the right stacktrace, or describe better how to reproduce it?
Comment 2 Jie Tao CLA 2008-03-11 04:56:36 EDT
the 2nd item: as I created the bug, I could not set up a new file anywhere. But now I can do it if I have the right. Only one problem left: an editor is open for the new file even if I have been told that "you have unsufficient rights to ..."- I think, the editor shall not be given. See the screenshot.
Comment 3 Jie Tao CLA 2008-03-11 04:58:17 EDT
Created attachment 92137 [details]
the screenshot

editor opened for a new file that can not be created due to right limit
Comment 4 Ariel Garcia CLA 2008-05-20 11:53:12 EDT
What is the status here, Mateusz, Szymon?