Bug 1874 - NullPointerException, attempting to stop container
: NullPointerException, attempting to stop container
Status: RESOLVED FIXED
: CoG jglobus
security
: 1.1
: PC NetBSD
: P3 normal
: ---
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2004-08-09 21:53 by
Modified: 2005-12-05 17:10 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2004-08-09 21:53:15
Having had a container runing for over 24hours, I then tried to stop the
container using the renewed proxy certificate and got a null pointer exception
from the globus-stop-container command
There were absolutely NO errors on the container side .. only in the window
where I ran the globus-stop-container command. (whether I used the soft option
or not make no difference)
 
I wonder if this is associated to bug 1621 .
(linux binary download running on NetBSD).
This did NOT happen on my Sun system, which also had a container running for 24+
hours.
 
cafe-bastille globus% X509_USER_PROXY=/tmp/x509cp_globus_grim
globus-stop-container -debug
[org.globus.ogsa.utils.JAXRPCAxisFault] AxisFault
 faultCode: {http://schemas.xmlsoap.org/ws/2002/04/secext}General
 faultSubcode:
 faultString: java.lang.NullPointerException
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}stackTrace: AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: java.lang.NullPointerException
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}stackTrace: java.lang.NullPointerException
        at
org.globus.gsi.ptls.PureTLSUtil.certificateChainToVector(PureTLSUtil.java:209)
        at
org.globus.gsi.ptls.PureTLSTrustedCertificates.getX509CertList(PureTLSTrustedCertificates.java:57)
        at
org.globus.gsi.gssapi.GlobusGSSContextImpl.setTrustedCertificates(GlobusGSSContextImpl.java:738)
        at
org.globus.gsi.gssapi.GlobusGSSContextImpl.init(GlobusGSSContextImpl.java:621)
        at
org.globus.gsi.gssapi.GlobusGSSContextImpl.acceptSecContext(GlobusGSSContextImpl.java:265)
        at
org.globus.ogsa.impl.security.authentication.service.AuthenticationServiceImpl.continueTokenExchange(AuthenticationServiceImpl.java:256)
        at
org.globus.ogsa.impl.security.authentication.service.AuthenticationServiceImpl.initTokenExchange(AuthenticationServiceImpl.java:205)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:402)
        at
org.globus.ogsa.handlers.RPCURIProvider.invokeMethodSub(RPCURIProvider.java:363)
        at
org.globus.ogsa.handlers.RPCURIProvider.invokeMethod(RPCURIProvider.java:308)
        at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:309)
        at
org.globus.ogsa.handlers.RPCURIProvider.processMessage(RPCURIProvider.java:281)
        at
org.globus.ogsa.router.RedirectProvider.processMessage(RedirectProvider.java:243)
        at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:333)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
        at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:481)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323)
        at org.globus.ogsa.server.ServiceThread.doPost(ServiceThread.java:438)
        at org.globus.ogsa.server.ServiceThread.process(ServiceThread.java:287)
        at org.globus.ogsa.server.ServiceThread.run(ServiceThread.java:185)


java.lang.NullPointerException
        at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:260)
        at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:169)
        at
org.apache.axis.encoding.DeserializationContextImpl.endElement(DeserializationContextImpl.java:1083)
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
        at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
        at
org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:252)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
        at
org.globus.ogsa.handlers.RoutingHandler.getRouterHeader(RoutingHandler.java:31)
        at
org.globus.ogsa.handlers.RoutingResponseHandler.invoke(RoutingResponseHandler.java:26)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:193)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
        at org.apache.axis.client.Call.invoke(Call.java:2553)
        at org.apache.axis.client.Call.invoke(Call.java:2248)
        at org.apache.axis.client.Call.invoke(Call.java:2171)
        at org.apache.axis.client.Call.invoke(Call.java:1691)
        at
org.globus.ogsa.security.authentication.SecureContextEstablishmentSOAPBindingStub.initTokenExchange(SecureContextEstablishmentSOAPBindingStub.java:205)
        at
org.globus.ogsa.impl.security.authentication.Authenticator.authenticate(Authenticator.java:55)
        at
org.globus.ogsa.impl.security.authentication.SecContextHandler.handleRequest(SecContextHandler.java:242)
        at
org.apache.axis.handlers.HandlerChainImpl.handleRequest(HandlerChainImpl.java:136)
        at org.apache.axis.handlers.JAXRPCHandler.invoke(JAXRPCHandler.java:82)
        at org.globus.ogsa.utils.JAXRPCHandler.invoke(JAXRPCHandler.java:16)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:167)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
        at org.apache.axis.client.Call.invoke(Call.java:2553)
        at org.apache.axis.client.Call.invoke(Call.java:2248)
        at org.apache.axis.client.Call.invoke(Call.java:2171)
        at org.apache.axis.client.Call.invoke(Call.java:1691)
        at
org.globus.ogsa.core.management.bindings.OgsiManagementSOAPBindingStub.shutdown(OgsiManagementSOAPBindingStub.java:1059)
        at org.globus.ogsa.client.Shutdown.main(Shutdown.java:180)


java.lang.NullPointerException
        at org.globus.ogsa.utils.JAXRPCHandler.invoke(JAXRPCHandler.java:18)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:167)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
        at org.apache.axis.client.Call.invoke(Call.java:2553)
        at org.apache.axis.client.Call.invoke(Call.java:2248)
        at org.apache.axis.client.Call.invoke(Call.java:2171)
        at org.apache.axis.client.Call.invoke(Call.java:1691)
        at
org.globus.ogsa.core.management.bindings.OgsiManagementSOAPBindingStub.shutdown(OgsiManagementSOAPBindingStub.java:1059)
        at org.globus.ogsa.client.Shutdown.main(Shutdown.java:180)
------- Comment #1 From 2004-08-09 22:33:46 -------
Looks like i'm getting confused over what I'm running where.
I get the null pointer exception regardless of whether the container is
recent or 24 hrs old.

How do I change the subject for this bug >
------- Comment #2 From 2004-08-10 08:53:52 -------
I asssume your container is running on the same machine and port 8080? Can you 
do grid-proxy-init -debug -verify as the user that is running the container? 

------- Comment #3 From 2004-08-10 17:44:12 -------
Yes, I am running the container and globus-stop-container on the same machine
with the same userid 'globus'.
Here is the log of, grid-proxy-init -debug -verify, I also did this on my
'working' Sun installation and got the same output.

cafe-bastille globus% grid-cert-info -subject
/O=vuw/OU=mcs.user/CN=Globus Grid Software
cafe-bastille globus% grid-proxy-init -debug -verify

User Cert File: /vol/projects/grid/home/globus/.globus/usercert.pem
User Key File: /vol/projects/grid/home/globus/.globus/userkey.pem

Trusted CA Cert Dir: /etc/grid-security/certificates

Output File: /tmp/x509up_u82
Your identity: /O=vuw/OU=mcs.user/CN=Globus Grid Software
Enter GRID pass phrase for this identity:
Creating proxy .....++++++++++++
............++++++++++++
 Done


ERROR: Couldn't verify the authenticity of the user's credential to generate a
proxy from.

grid_proxy_init.c:948:globus_credential: Error verifying credential: Failed to
verify credential
globus_gsi_callback_module: Could not verify credential
globus_gsi_callback_module: Could not verify credential
globus_gsi_callback_module: Error with signing policy
globus_gsi_callback_module: Error in OLD GAA code: CA policy violation: <no
reason given>
------- Comment #4 From 2004-08-11 18:41:23 -------
I've fixed the signing policy file .. and sure enough there was no change
to the error.
...

cafe-bastille globus% grid-proxy-init -debug -verify

User Cert File: /vol/projects/grid/home/globus/.globus/usercert.pem
User Key File: /vol/projects/grid/home/globus/.globus/userkey.pem

Trusted CA Cert Dir: /etc/grid-security/certificates

Output File: /tmp/x509up_u82
Your identity: /O=vuw/OU=mcs.user/CN=Globus Grid Software
Enter GRID pass phrase for this identity:
Creating proxy ..++++++++++++
......++++++++++++
 Done
Proxy Verify OK
Your proxy is valid until: Thu Aug 12 23:37:38 2004
------- Comment #5 From 2004-08-11 21:20:09 -------
solved it ..  (solves 1882 too)
  
In,  org.globus.util.ConfigUtil.getOS()
it checks a list of predfined UNIX-type OSes .. NetBSD is not one of them.
This results, in other methods such as discoverCertDirLocation() to simply
return null rather than a pathname to a directory.

I put this line:
            (osname.indexOf("netbsd") != -1) ||
into org.globus.util.ConfigUtil.getOS() at the right place, and the
NullPointerExceptions have gone away.
 


------- Comment #6 From 2004-08-11 22:57:53 -------
A fix was committed to jglobus cvs. Thanks for catching this.