{"id":732,"date":"2011-12-16T19:43:17","date_gmt":"2011-12-16T18:43:17","guid":{"rendered":"http:\/\/lackovic.wordpress.com\/?p=732"},"modified":"2011-12-16T19:43:17","modified_gmt":"2011-12-16T18:43:17","slug":"globus-toolkit-4-0-x-troubleshooting","status":"publish","type":"post","link":"https:\/\/scalab.dimes.unical.it\/lackovic\/globus-toolkit-4-0-x-troubleshooting\/","title":{"rendered":"Globus Toolkit 4.0.x troubleshooting"},"content":{"rendered":"<p style=\"text-align:center\"><a href=\"http:\/\/www.globus.org\/toolkit\/\"><img loading=\"lazy\" class=\"size-full wp-image-82 alignnone\" title=\"Globus Toolkit\" src=\"http:\/\/scalab.dimes.unical.it\/lackovic\/wp-content\/uploads\/sites\/2\/2010\/02\/gt_logo21.png\" alt=\"\" width=\"300\" height=\"79\" \/><img loading=\"lazy\" class=\"size-full wp-image-737 alignnone\" title=\"troubleshooting\" src=\"http:\/\/scalab.dimes.unical.it\/lackovic\/wp-content\/uploads\/sites\/2\/2011\/12\/tools_icon.jpg\" alt=\"\" width=\"110\" height=\"100\" \/><\/a><\/p>\n<p><strong>Disclosure<\/strong>: this troubleshooting is intended for legacy applications which mandatory need the version 4.0.x of Globus Toolkit. If you don&#8217;t have an impelling reason to install that particular version, it is highly recommended that you install the latest version available of Globus Toolkit from its <a href=\"http:\/\/www.globus.org\/toolkit\/\">official web site<\/a> and follow the <a href=\"http:\/\/www.globus.org\/toolkit\/docs\/latest-stable\/\">installation guide<\/a> of the official documentation.<\/p>\n<p>See also the official <a href=\"http:\/\/www.globus.org\/toolkit\/docs\/4.0\/admin\/docbook\/\">Globus Toolkit admin guide troubleshooting<\/a>.<\/p>\n<p style=\"text-align:center\">~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~<\/p>\n<p><span style=\"color:#800000\">ERROR service.ReliableFileTransferImpl [main,&lt;init&gt;:76] <strong>Unable to setup database driver with pooling.Connection refused.<\/strong> Check that the hostname and port are correct and that the postmaster is accepting TCP\/IP connections<\/span><\/p>\n<ul>\n<li>open \/etc\/postgresql\/X.Y\/main\/<strong>postgresql.conf<\/strong>(where X.Y is current PostgreSQL version) and check that the line beginning with \u201clisten_addresses\u201d is not commented (i.e. the line should not begin with a #) and is set to listen to all addresses, in the following way:\n<pre>listen_addresses = '*'<\/pre>\n<\/li>\n<li>open \/etc\/postgresql\/X.Y\/main\/<strong>pg_hba.conf<\/strong>\u201d and check that the last line looks like:\n<pre>host rftDatabase \"globus\" \"x.x.x.x\" 255.255.255.255 md5<\/pre>\n<p>where \u201cx.x.x.x\u201d is your public IP address. If you are using Globus Toolkit on your local machine for testing purposes then using 127.0.0.1 should be fine, although in this case you won&#8217;t be able to access Globus services outside your machine;<\/li>\n<li>check that PostgreSQL is up and running and on which port:\n<pre>sudo netstat -tulpn | grep postgres<\/pre>\n<\/li>\n<li>PostgreSQL should run on <strong>port 5432<\/strong>. The default port number may be automatically changed (usually to 5433) as result of a version upgrade. To change it back to 5432 edit the \/etc\/postgresql\/X.Y\/main\/postgresql.conf and the stop and start the service (warning: a restart won&#8217;t be enough) with:\n<pre>sudo service postgresql stop\nsudo service postgresql start<\/pre>\n<\/li>\n<li>to check whether PostgreSQL is running properly on the 5432 port run:\n<pre>telnet localhost 5432<\/pre>\n<\/li>\n<li>the message &#8220;<span style=\"color:#ff0000\"><strong>telnet: Unable to connect to remote host: Connection refused<\/strong><\/span>&#8221; would mean either PostgreSQL is not running, or is running on the wrong port. If you get &#8220;<span style=\"color:#008000\"><strong>Connected to localhost.localdomain. Escape character is &#8216;^]&#8217;.<\/strong><\/span>&#8221; then PostgreSQL is fine.<\/li>\n<\/ul>\n<p style=\"text-align:center\">~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~<\/p>\n<p><span style=\"color:#800000\">ERROR service.ReliableFileTransferImpl [main,&lt;init&gt;:76] <strong>Unable to setup database driver with pooling.<\/strong>A connection error has occurred: FATAL: \u00a0<strong>password authentication failed for user &#8220;root&#8221;<\/strong><\/span><\/p>\n<ul>\n<li>open $GLOBUS_LOCATION\/etc\/globus_wsrf_rft\/<strong>jndi-config.xml<\/strong>and look into the \u201cdbConfiguration\u201d section:\n<ul>\n<li>make sure the userName value is not &#8220;root&#8221; but &#8220;globus&#8221;;<\/li>\n<li>make sure the &#8220;password&#8221; value is not &#8220;foo&#8221; but the password for the globus user you have previously set in postgres;<\/li>\n<li>make sure the &#8220;connectionString&#8221; value contains the fully qualified domain name of your host (e.g. \u201cjdbc:postgresql:\/\/your.host.full.domain.com\/rftDatabase\u201d).<\/li>\n<\/ul>\n<\/li>\n<li>make sure you are running globus-start-container as globus user.<\/li>\n<\/ul>\n<p style=\"text-align:center\">~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~<\/p>\n<p><span style=\"color:#800000\">ERROR service.ReliableFileTransferImpl [main,&lt;init&gt;:76]\u00a0<strong>Unable to setup database driver with pooling.<\/strong>A connection error has occurred: FATAL: \u00a0<strong>password authentication failed for user &#8220;globus&#8221;<\/strong><\/span><\/p>\n<ul>\n<li>you may have forgotten to create the globus user in postgres. To fix it follow the steps 22 and 23 on <a href=\"https:\/\/lackovic.wordpress.com\/2010\/10\/10\/globus-on-ubuntu\/\">this tutorial<\/a>.<\/li>\n<\/ul>\n<div style=\"text-align:center\">~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~<\/div>\n<p><span style=\"color:#800000\">\/O=YourCA\/CN=Name Surname&#8221; <strong>is not authorized to use operation<\/strong>: http:\/\/www.globus.org\/08\/2004\/delegationService}requestSecurityToken on this service<\/span><\/p>\n<ul>\n<li>ensure that in your \/etc\/grid-security\/grid-mapfile there is a line containing the <em>Subject<\/em> of your usercert.pem (note that you need to change the &#8216;, &#8216; with &#8216;\/&#8217;), followed by a user on the server machine (you can use <em>globus <\/em>if you don&#8217;t have a user account on that machine). For example:\n<pre>\"O=YourCA\/CN=Name Surname\" globus<\/pre>\n<p>Stop and restart your Globus container for changes to take effect.<\/li>\n<\/ul>\n<p style=\"text-align:center\">~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~<\/p>\n<p><span style=\"color:#800000\">client.<strong>GramJob<\/strong> keeps displaying annoying <strong>INFO<\/strong><\/span><\/p>\n<ul>\n<li>edit\u00a0\/usr\/local\/globus-4.0.8\/container-log4j.properties and set the\u00a0log4j.category.org.globus variable to WARN so that it will look this way:\n<pre>log4j.category.org.globus=WARN<\/pre>\n<\/li>\n<\/ul>\n<p style=\"text-align:center\">~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~<\/p>\n<p><span style=\"color:#800000\">exec.StateMachine\u00a0[RunQueueThread_2,createFaultFromErrorCode:3181]\u00a0<strong>Unhandled fault code 201<\/strong><\/span><\/p>\n<p><span style=\"color:#800000\">Job &#8230; failed. Description: Error code: 201 Cause: org.globus.exec.generated.FaultType: Error code: 201 caused by [0: org.oasis.wsrf.faults.BaseFaultType: Script stderr:<\/span><\/p>\n<p><span style=\"color:#800000\"><strong>Can&#8217;t locate Globus\/GRAM\/JobManager\/fork.pm in @INC<\/strong> (@INC contains: \/etc\/perl \/usr\/local\/lib\/perl\/5.12.4 \/usr\/local\/share\/perl\/5.12.4 \/usr\/lib\/perl5 \/usr\/share\/perl5 \/usr\/lib\/perl\/5.12 \/usr\/share\/perl\/5.12 \/usr\/local\/lib\/site_perl . \/usr\/local\/globus-4.0.8\/lib\/perl) at (eval 1) line 2.]<\/span><\/p>\n<ul>\n<li>you have probably missed one step during the installation of Globus Toolkit. To fix that, run the following command as globus user:\n<pre>$GLOBUS_LOCATION\/sbin\/gpt-postinstall<\/pre>\n<\/li>\n<\/ul>\n<p style=\"text-align:center\">~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~<\/p>\n<p><span style=\"color:#800000\">exec.StateMachine [RunQueueThread_2,createFaultFromErrorCode:3181]\u00a0<strong>Unhandled fault code 201<\/strong><\/span><\/p>\n<p><span style=\"color:#800000\">Job &#8230; failed. Description: Error code: 201 Cause: org.globus.exec.generated.FaultType: Error code: 201 caused by [0: org.oasis.wsrf.faults.BaseFaultType: Script stderr:<\/span><\/p>\n<p><span style=\"color:#800000\"><strong>Using a hash as a reference is deprecated at \/usr\/local\/globus-4.0.8\/lib\/perl\/Globus\/GRAM\/ExtensionsHandler.pm<\/strong> line 161.Using a hash as a reference is deprecated at \/usr\/local\/globus-4.0.8\/lib\/perl\/Globus\/GRAM\/ExtensionsHandler.pm line 174.]<\/span><\/p>\n<ul>\n<li>there seems to be a bug in Perl 5.x, or some kind of incompatibility issue between\u00a0Perl 5.x\u00a0and Globus Toolkit 4.0.x. To fix that, you need to edit the file lib\/perl\/Globus\/GRAM\/ExtensionsHandler.pm and remove the % character in front of $attributes at lines 161 and 174.<\/li>\n<\/ul>\n<p style=\"text-align:center\">~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~<\/p>\n<p><span style=\"color:#800000\">The file $GLOBUS_LOCATION\/etc\/globus_wsrf_rft\/<strong>jndi-config.xml is missing<\/strong><\/span><\/p>\n<ul>\n<li>you have probably missed one step during the installation of Globus Toolkit. To fix that, run the following command as globus user:\n<pre>$GLOBUS_LOCATION\/sbin\/gpt-postinstall<\/pre>\n<\/li>\n<\/ul>\n<p style=\"text-align:center\">~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~<\/p>\n<p><span style=\"color:#800000\"> My client application does <strong>not receive any notification<\/strong> from the server.<\/span><\/p>\n<ul>\n<li>make sure the client and the server nodes resides in the same local area network and that there is no interference by a firewall or NAT router. To avoid NAT router problems try adding in the \/etc\/hosts of each one of your server nodes the following entry:\n<pre>x.x.x.x hostname fully.qualified.hostname<\/pre>\n<p>where x.x.x.x is the server public IP.<\/li>\n<\/ul>\n<p style=\"text-align:center\">~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~<\/p>\n<p><span style=\"color:#800000\"> java.lang.RuntimeException: File map configuration file \/usr\/local\/globus-4.0.8\/etc\/gram-service\/<strong>globus_gram_fs_map_config.xml has no mappings<\/strong>.<br \/>\nat org.globus.exec.service.exec.utils.FileMapping.&lt;init&gt;(FileMapping.java:66).<\/span><\/p>\n<ul>\n<li>your \/usr\/local\/globus\/etc\/gram-service\/globus_gram_fs_map_config.xml is corrupted or\u00a0wasn&#8217;t created during the Globus Toolkit installation as it was supposed to. Download <a href=\"http:\/\/si.deis.unical.it\/lackovic\/globus_gram_fs_map_config.xml\">this file<\/a>\u00a0(right click and choose <em>save as<\/em>), put it in \/usr\/local\/globus\/etc\/gram-service\/\u00a0and\u00a0replace ????? with the hostname of your machine.<\/li>\n<\/ul>\n<p style=\"text-align:center\">~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~<\/p>\n<p><span style=\"color:#800000\"> Authentication failed [Caused by: Operation unauthorized (Mechanism level: Authorization failed.<br \/>\n<strong>Expected &#8220;\/CN=host\/localhost&#8221; target but received<\/strong> &#8220;\/O=&#8230;\/OU=&#8230;\/CN=host\/&#8230;&#8221;)]<\/span><\/p>\n<ul>\n<li>The \/etc\/grid-security\/<strong>grid-mapfile<\/strong> of your server machine may be misconfigured. Make sure the values of O, OU e CN are the same as those of your user&#8217;s usercert.pem certificate file.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Disclosure: this troubleshooting is intended for legacy applications which mandatory need the version 4.0.x of Globus Toolkit. If you don&#8217;t have an impelling reason to install that particular version, it is highly recommended that you install the latest version available of Globus Toolkit from its official web site and follow the installation guide of the &hellip; <a href=\"https:\/\/scalab.dimes.unical.it\/lackovic\/globus-toolkit-4-0-x-troubleshooting\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Globus Toolkit 4.0.x troubleshooting<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3,4],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/scalab.dimes.unical.it\/lackovic\/wp-json\/wp\/v2\/posts\/732"}],"collection":[{"href":"https:\/\/scalab.dimes.unical.it\/lackovic\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scalab.dimes.unical.it\/lackovic\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scalab.dimes.unical.it\/lackovic\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/scalab.dimes.unical.it\/lackovic\/wp-json\/wp\/v2\/comments?post=732"}],"version-history":[{"count":0,"href":"https:\/\/scalab.dimes.unical.it\/lackovic\/wp-json\/wp\/v2\/posts\/732\/revisions"}],"wp:attachment":[{"href":"https:\/\/scalab.dimes.unical.it\/lackovic\/wp-json\/wp\/v2\/media?parent=732"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scalab.dimes.unical.it\/lackovic\/wp-json\/wp\/v2\/categories?post=732"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scalab.dimes.unical.it\/lackovic\/wp-json\/wp\/v2\/tags?post=732"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}