Hello,<br><br>I&#39;ve been working on setting up the torque gssapi branch to allow our users to submit and run jobs which rely on resources which are stored on an AFS server.&nbsp; It&#39;s been built correctly to include the GSSAPI bits from svn (see svn://www.clusterresources.com/torque/branches/gssapi) and as far as I can tell, tokens are being passed to the mom running on our test machine.&nbsp; However, jobs refuse to start - they simply remained queued.
<br><br>First, I get tickets for my afs cell, then do an aklog, then submit my job from afs:<br>Here&#39;s what&#39;s in the mom logs:<br><br>Accepting user creds for 115.&lt;edited&gt;<br>reading token flags: Success<br>
reading token flags: Success<br>reading token flags: Success<br>reading token flags: Success<br>reading token flags: Success<br>reading token flags: Success<br>reading token flags: Success<br>reading token flags: Success<br>
reading token flags: Success<br>reading token flags: Success<br>reading token flags: Success<br>06/13/2007 11:48:50;0080;&nbsp;&nbsp; pbs_mom;Req;dis_request_read;decoding command GSSForwardCreds from PBS_Server<br>06/13/2007 11:48:50;0100;&nbsp;&nbsp; pbs_mom;Req;;Type GSSForwardCreds request received from PBS_Server@&lt;edited&gt;, sock=10
<br>06/13/2007 11:48:50;0008;&nbsp;&nbsp; pbs_mom;Job;process_request;request type GSSForwardCreds from host &lt;edited&gt; received<br>06/13/2007 11:48:50;0008;&nbsp;&nbsp; pbs_mom;Job;process_request;request type GSSForwardCreds from host &lt;edited&gt; allowed
<br>06/13/2007 11:48:50;0008;&nbsp;&nbsp; pbs_mom;Job;dispatch_request;dispatching request GSSForwardCreds on sd=10<br>06/13/2007 11:48:50;0080;&nbsp;&nbsp; pbs_mom;Svr;req_accept_forwarded_creds;server_establish_context failed : -1<br>06/13/2007 11:48:50;0080;&nbsp;&nbsp; pbs_mom;Req;req_reject;Reject reply code=15019(Invalid credential MSG=no forwarded principal!), aux=0, type=GSSForwardCreds, from PBS_Server@&lt;edited&gt;
<br><br>Looking around in the source code,&nbsp; I tracked the server_establish_context error message down to&nbsp; the rpp_read() function found in gssapi/src/lib/Libifl/rpp.c:3166.&nbsp; This function returns&nbsp; -1&nbsp; when either:<br><br>
&nbsp;if ((index &lt; 0) || (index &gt;= stream_num) || (len &lt; 0))<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; errno = EINVAL;<br><br>&nbsp;&nbsp;&nbsp; return(-1);<br>&nbsp;&nbsp;&nbsp; }<br><br>Or if:<br><br>switch (sp-&gt;state)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; case RPP_DEAD:<br>&nbsp;&nbsp;&nbsp; case RPP_FREE:
<br>&nbsp;&nbsp;&nbsp; case RPP_CLOSE_WAIT1:<br>&nbsp;&nbsp;&nbsp; case RPP_CLOSE_WAIT2:<br>&nbsp;&nbsp;&nbsp; case RPP_LAST_ACK:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; errno = ENOTCONN;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(-1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* stream closed */<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*NOTREACHED*/<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br><br>
&nbsp;&nbsp;&nbsp; default:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* NO-OP */<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp; }<br><br>This function returns to: int pbsgss_recv_token(s, flags, tok) found in gssapi/src/lib/Libgss/pbsgss.c:228, pbsgss_recv_token then returns -1 due to rpp_read() returning -1:
<br><br>ret = read_all(s, (char *) &amp;char_flags, 1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //simply a fn ptr (dis_gets) to rpp_read() [dis_gets = (int (*)(int, char *, size_t))rpp_read;]<br>if (ret &lt; 0) {<br>&nbsp;&nbsp;&nbsp; perror(&quot;reading token flags&quot;); //from output
<br>&nbsp;&nbsp;&nbsp; return -1;<br><br>Which in turn returns to: req_accept_forwarded_creds in gssapi/src/resmom/requests.c:3784<br><br>&nbsp; if ((i = pbsgss_server_establish_context(socket, server_creds, &amp;client_creds, &amp;context,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;client_name, &amp;ret_flags)) &lt; 0) {<br>&nbsp;&nbsp;&nbsp; sprintf(log_buffer,&quot;server_establish_context failed : %d&quot;,i);<br>&nbsp;&nbsp;&nbsp; log_event(PBSEVENT_DEBUG,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PBS_EVENTCLASS_SERVER,&quot;req_accept_forwarded_creds&quot;,log_buffer);
<br><br>This is where the error message comes from in the mom logs.&nbsp; Does anyone have an idea as to what it means?<br><br>Thanks,<br><br>Adam - CAC, University of Michigan<br><em><em><span style="font-style: italic;"></span>
<span style="font-style: italic;"></span></em></em>