====== Troubleshooting ====== This page contains an overview of various problems you might run into when working with the Grid, and solutions to these problems, if available. Subjects are more or less categorized, but feel free to reorganize this page. ===== SRM ===== == srmcp == If you receive the following incomprehensible error message when trying to ''srmcp'' a file org.globus.ftp.exception.ServerException: Server refused performing the request. Custom message: Server reported transfer failure (error code 1) [Nested exception message: Custom message: Unexpected reply: 426 Transfer aborted (Transfer failed: No route to host)]. Nested exception is org.globus.ftp.exception.UnexpectedReplyCodeException: Custom message: Unexpected reply: 426 Transfer aborted (Transfer failed: No route to host) at org.globus.ftp.vanilla.TransferMonitor.run(TransferMonitor.java:182) at org.globus.ftp.vanilla.TransferMonitor.start(TransferMonitor.java:109) at org.globus.ftp.FTPClient.transferRunSingleThread(FTPClient.java:1489) at org.globus.ftp.FTPClient.get2(FTPClient.java:1752) at org.dcache.srm.util.GridftpClient$TransferThread.run(GridftpClient.java:978) at java.lang.Thread.run(Thread.java:636) GridftpClient: transfer exception org.globus.ftp.exception.ServerException: Server refused performing the request. Custom message: Server reported transfer failure (error code 1) [Nested exception message: Custom message: Unexpected reply: 426 Transfer aborted (Transfer failed: No route to host)]. Nested exception is org.globus.ftp.exception.UnexpectedReplyCodeException: Custom message: Unexpected reply: 426 Transfer aborted (Transfer failed: No route to host) at org.globus.ftp.vanilla.TransferMonitor.run(TransferMonitor.java:182) at org.globus.ftp.vanilla.TransferMonitor.start(TransferMonitor.java:109) at org.globus.ftp.FTPClient.transferRunSingleThread(FTPClient.java:1489) at org.globus.ftp.FTPClient.get2(FTPClient.java:1752) at org.dcache.srm.util.GridftpClient$TransferThread.run(GridftpClient.java:978) at java.lang.Thread.run(Thread.java:636) copy failed with the error org.globus.ftp.exception.ServerException: Server refused performing the request. Custom message: Server reported transfer failure (error code 1) [Nested exception message: Custom message: Unexpected reply: 426 Transfer aborted (Transfer failed: No route to host)]. Nested exception is org.globus.ftp.exception.UnexpectedReplyCodeException: Custom message: Unexpected reply: 426 Transfer aborted (Transfer failed: No route to host) at org.globus.ftp.vanilla.TransferMonitor.run(TransferMonitor.java:182) at org.globus.ftp.vanilla.TransferMonitor.start(TransferMonitor.java:109) at org.globus.ftp.FTPClient.transferRunSingleThread(FTPClient.java:1489) at org.globus.ftp.FTPClient.get2(FTPClient.java:1752) at org.dcache.srm.util.GridftpClient$TransferThread.run(GridftpClient.java:978) at java.lang.Thread.run(Thread.java:636) try again sleeping for 10000 before retrying then use the ''-streams_num=1'' options to reduce the number of transfer streams to 1. This error seems only to occur when copying relatively small files. It's a mystery to me why the end-user should be bothered with these gory (under-the-hood) details. == srmmkdir == The ''srmmkdir'' command is not symmetric. It is not possible to use it to create a directory on a local disk. $ srmmkdir file:///`pwd`/foo/ Wed Nov 24 09:24:56 CET 2010: illegal source url for multiple sources modefile:////home/lfrsgm01/foo/ srm client error: java.lang.IllegalArgumentException: illegal source url for multiple sources modefile:////home/lfrsgm01/foo/ This is unfortunate, because it makes testing of scripts on a local system more difficult. Simply changing the URI from ''%%srm://%%'' to ''%%file:///%%'' doesn't work. == srmls == The ''srmls'' command does not support wildcards. This is quite irritating, because you have to do the filtering on the client side using ''grep''. For example, to get a list of all the ''L2009_*.tar'' files in the directory ''/data/lofar/lotest/disk/'', you would have to use: $ srmls srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/lofar/lotest/disk/ | grep '/L2009_[^/]*\.tar' This, however, will not always give you a complete list, because storage systems like dCache limit the number of listed files to 1000. So, if you have more than 1000 files in a directory, you'll have to use ''srmls'' multiple times in conjunction with the options ''-offset='' and ''-count=''. Very inconvenient!