Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Download from iRODS generates Unknown error #9615

Closed
cyberduck opened this issue Jun 30, 2016 · 11 comments
Closed

Download from iRODS generates Unknown error #9615

cyberduck opened this issue Jun 30, 2016 · 11 comments
Assignees
Labels
bug fixed irods IRODS Protocol Implementation
Milestone

Comments

@cyberduck
Copy link
Collaborator

cyberduck commented Jun 30, 2016

11d6cb2 created the issue

When attempting to download a file from an iRODS server, the Transfers dialog generates an Error dialog with the following:

Unknown

org.irods.jargon.core.exception.JargonRuntimeExcepti...
JargonException caught in constructor, rethrow as
JargonRuntimeException.

Test Environment:

Cyberduck Version 5.0.3 on Microsoft Windows 7 Enterprise Service Pack 1 64-bit
iRODS server Release Version rods4.1.6, API Version = d

@cyberduck
Copy link
Collaborator Author

cyberduck commented Jun 30, 2016

11d6cb2 commented

The C:\Users*username*\AppData\Roaming\Cyberduck\cyberduck.log file contains the following entry from the time of the action:

2016-06-30 15:39:35,475 [transfer-2] ERROR org.irods.jargon.core.pub.io.IRODSFileInputStream - JargonException caught in constructor, rethrow as JargonRuntimeException
org.irods.jargon.core.exception.CatNoAccessException: No access to item in catalog
	at org.irods.jargon.core.connection.IRODSErrorScanner.checkSpecificCodesAndThrowIfExceptionLocated(IRODSErrorScanner.java:178)
	at org.irods.jargon.core.connection.IRODSErrorScanner.inspectAndThrowIfNeeded(IRODSErrorScanner.java:123)
	at org.irods.jargon.core.connection.AbstractIRODSMidLevelProtocol.processMessageInfoLessThanZero(AbstractIRODSMidLevelProtocol.java:1172)
	at org.irods.jargon.core.connection.AbstractIRODSMidLevelProtocol.readMessage(AbstractIRODSMidLevelProtocol.java:663)
	at org.irods.jargon.core.connection.AbstractIRODSMidLevelProtocol.readMessage(AbstractIRODSMidLevelProtocol.java:629)
	at org.irods.jargon.core.connection.IRODSMidLevelProtocol.irodsFunction(IRODSMidLevelProtocol.java:235)
	at org.irods.jargon.core.connection.AbstractIRODSMidLevelProtocol.irodsFunction(AbstractIRODSMidLevelProtocol.java:174)
	at org.irods.jargon.core.pub.IRODSFileSystemAOImpl.openFile(IRODSFileSystemAOImpl.java:907)
	at org.irods.jargon.core.pub.io.IRODSFileImpl.openWithMode(IRODSFileImpl.java:1277)
	at org.irods.jargon.core.pub.io.IRODSFileImpl.open(IRODSFileImpl.java:1329)
	at org.irods.jargon.core.pub.io.IRODSFileInputStream.openIRODSFile(IRODSFileInputStream.java:173)
	at org.irods.jargon.core.pub.io.IRODSFileInputStream.openFile(IRODSFileInputStream.java:110)
	at org.irods.jargon.core.pub.io.IRODSFileInputStream.<init>(IRODSFileInputStream.java:96)
	at org.irods.jargon.core.pub.io.IRODSFileFactoryImpl.instanceIRODSFileInputStream(IRODSFileFactoryImpl.java:488)
	at ch.cyberduck.core.irods.IRODSReadFeature.read(IRODSReadFeature.java:48)
	at ch.cyberduck.core.shared.DefaultDownloadFeature.download(DefaultDownloadFeature.java:51)
	at ch.cyberduck.core.transfer.DownloadTransfer.transfer(DownloadTransfer.java:265)
	at ch.cyberduck.core.worker.AbstractTransferWorker$3.call(AbstractTransferWorker.java:365)
	at ch.cyberduck.core.worker.AbstractTransferWorker$3.call(AbstractTransferWorker.java:353)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:512)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:618)
	at ch.cyberduck.core.threading.NamedThreadFactory$1.run(NamedThreadFactory.java:55)
	at java.lang.Thread.run(Thread.java:955)

@cyberduck
Copy link
Collaborator Author

cyberduck commented Jun 30, 2016

11d6cb2 commented

The server's /var/lib/irods/iRODS/server/log/rodsLog file contains the following entries from the time of the action:

Jun 30 15:39:35 pid:11357 NOTICE: _rsGenQuery: genQuery status = -818000
Jun 30 15:39:35 pid:11357 NOTICE: rsGenQuery: _rsGenQuery failed, status = -818000
Jun 30 15:39:35 pid:11357 NOTICE: getDataObjInfo: rsGenQuery error, status = -818000
Jun 30 15:39:35 pid:11357 NOTICE: _rsGenQuery: genQuery status = -818000
Jun 30 15:39:35 pid:11357 NOTICE: rsGenQuery: _rsGenQuery failed, status = -818000
Jun 30 15:39:35 pid:11357 NOTICE: getDataObjInfo: rsGenQuery error, status = -818000

@cyberduck
Copy link
Collaborator Author

cyberduck commented Jun 30, 2016

11d6cb2 commented

After deleting the iRODS connection bookmark and creating a new connection, the download did work. I suspect the bookmark is somehow getting corrupted during runs of the Cyberduck client. This particular iRODS server is not using the default "demoResc" resource. Perhaps the default resource is being set inconsistently?

Note that the edit bookmark dialog does not expose a setting for the default resource for iRODS connections.

@cyberduck
Copy link
Collaborator Author

cyberduck commented Jun 30, 2016

@dkocher commented

Error handling fixed in a09fd48.

@cyberduck
Copy link
Collaborator Author

cyberduck commented Jun 30, 2016

@dkocher commented

The resource server must be set in the connection profile. Refer to https://trac.cyberduck.io/wiki/help/en/howto/irods#ResourceServer

@cyberduck
Copy link
Collaborator Author

cyberduck commented Jun 30, 2016

@dkocher commented

Relates to #8721.

@cyberduck
Copy link
Collaborator Author

cyberduck commented Jun 30, 2016

@dkocher commented

Please reopen this issue if you can reproduce the error with the newly created bookmark.

@cyberduck
Copy link
Collaborator Author

cyberduck commented Jun 30, 2016

11d6cb2 commented

I set the resource server in the connection profile. When opening a new connection based on the profile, upload and download work as expected. However, if the connection is bookmarked then the error can be consistently reproduced in connections opened from the bookmark. Note that the bookmark must have the path set to '/' as per a separate bug #9612.

Therefore, this error seems to only apply to connections opened from iRODS bookmarks created from a profile having a resource server setting other than demoResc. Perhaps the setting from the profile is not carrying in to bookmarks?

@cyberduck
Copy link
Collaborator Author

cyberduck commented Jul 1, 2016

@dkocher commented

Can you please attach the connection profile you are using. If you have multiple profiles installed, make sure the Vendor is different for each.

@cyberduck
Copy link
Collaborator Author

cyberduck commented Jul 6, 2016

11d6cb2 commented

I created a connection profile from the example at http://irods.org/2015/09/howtocyberduck/. I had created separate profiles for test and production instances of iRODS. The two profiles used different zone and resource names. However, both of them had the same string for the Vendor key in the .cyberduckprofile files. I had not modified Vendor from the example.

With the suggestion in comment #11, I deleted %APPDATA%\Cyberduck and started over with a new connection profile. This time I modified the string for the Vendor key to be the same as the zone name, ensuring uniqueness for each instance. Connections based on this new profile, opened via either the Open Connection dialog or from a Bookmark with Path = "/" both work. Uploads and Downloads now complete as expected. This appears to have resolved the problem.

The role of the Vendor key in the profile, and the relationship between a bookmark and a profile are still a bit unclear to me. Perhaps an update to the documentation describing these relationships is all that is needed? In addition, the Cyberduck run-time might report the existence of multiple profiles having the same Vendor value as an error state. This would help me detect such a problem in other installs in the future.

Thanks for the assistance with this issue @dkocher!

@cyberduck
Copy link
Collaborator Author

cyberduck commented Jul 15, 2016

@dkocher commented

We have added a remark in the documentation about the unique requirement of the Vendor key.

@iterate-ch iterate-ch locked as resolved and limited conversation to collaborators Nov 26, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug fixed irods IRODS Protocol Implementation
Projects
None yet
Development

No branches or pull requests

2 participants