Bugzilla – Bug 3110
SubscribeHelper gets null return value from getTopiList() with high client concurrency.
Last modified: 2005-04-08 16:23:20
You need to log in before you can comment on or make changes to this bug.
The following stack trace suggests that there is a race condition which causes ReliableFileTransferResource.getTopicList() to return null for a subset of subscriptions at high client concurrencies. ------------------------------------------------------------------------------- 2005-04-08 10:51:07,587 ERROR throughput.ClientThread [Thread-70,stateChanged:499] a job failed with ID uuid:05a7f8b0-a84e-11d9-8e3f-e8e559919ee5: fault type: org.globus.exec.generated.StagingFaultType: attribute: fileStageIn command: StageIn description: Staging error for RSL element fileStageIn. faultReason: faultString: gt2ErrorCode: 0 originator: Address: https://192.168.0.101:8443/wsrf/services/ManagedJobFactoryService Reference property[0]: <ns1:ResourceID xmlns:ns1="http://www.globus.org/namespaces/2004/10/gram/job">05a7f8b0-a84e-11d9-8e3f-e8e559919ee5</ns1:ResourceID> stackTrace: org.globus.exec.generated.StagingFaultType: Staging error for RSL element fileStageIn. Timestamp: Fri Apr 08 10:49:32 MDT 2005 Originator: Address: https://192.168.0.101:8443/wsrf/services/ManagedJobFactoryService Reference property[0]: <ns1:ResourceID xmlns:ns1="http://www.globus.org/namespaces/2004/10/gram/job">05a7f8b0-a84e-11d9-8e3f-e8e559919ee5</ns1:ResourceID> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at java.lang.Class.newInstance0(Class.java:308) at java.lang.Class.newInstance(Class.java:261) at org.globus.exec.utils.FaultUtils.makeFault(FaultUtils.java:479) at org.globus.exec.utils.FaultUtils.createStagingFault(FaultUtils.java:357) at org.globus.exec.service.exec.StateMachine.createStagingFault(StateMachine.java:2634) at org.globus.exec.service.exec.StateMachine.processStageInState(StateMachine.java:687) 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.globus.exec.service.exec.StateMachine.processState(StateMachine.java:357) at org.globus.exec.service.exec.RunQueue.run(RunQueue.java:151) Caused by: org.oasis.wsrf.faults.BaseFaultType Timestamp: Fri Apr 08 10:49:32 MDT 2005 Caused by: org.oasis.wsrf.faults.BaseFaultType: Failed to resolve topic expression to a set of concrete topics Timestamp: Fri Apr 08 10:49:32 MDT 2005 Originator: Address: https://192.168.0.101:8443/wsrf/services/ReliableFileTransferService Reference property[0]: <ns1:TransferKey soapenv:mustUnderstand="0" xmlns:ns1="http://www.globus.org/namespaces/2004/10/rft" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">18302</ns1:TransferKey> at org.globus.wsrf.impl.notification.SubscribeHelper.subscribe(SubscribeHelper.java:257) at org.globus.wsrf.impl.notification.SubscribeProvider.subscribe(SubscribeProvider.java:90) 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:384) at org.globus.axis.providers.RPCProvider.invokeMethodSub(RPCProvider.java:104) at org.globus.axis.providers.PrivilegedInvokeMethodAction.run(PrivilegedInvokeMethodAction.java:39) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:379) at org.globus.gsi.jaas.GlobusSubject.runAs(GlobusSubject.java:49) at org.globus.gsi.jaas.JaasSubject.doAs(JaasSubject.java:84) at org.globus.axis.providers.RPCProvider.invokeMethod(RPCProvider.java:94) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:281) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285) at org.globus.wsrf.container.ServiceThread.doPost(ServiceThread.java:662) at org.globus.wsrf.container.ServiceThread.process(ServiceThread.java:393) at org.globus.wsrf.container.GSIServiceThread.process(GSIServiceThread.java:124) at org.globus.wsrf.container.ServiceThread.run(ServiceThread.java:297) Caused by: org.oasis.wsrf.faults.BaseFaultType Timestamp: Fri Apr 08 10:49:32 MDT 2005 java.lang.NullPointerException at org.globus.wsrf.impl.notification.SubscribeHelper.subscribe(SubscribeHelper.java:243) at org.globus.wsrf.impl.notification.SubscribeProvider.subscribe(SubscribeProvider.java:90) 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:384) at org.globus.axis.providers.RPCProvider.invokeMethodSub(RPCProvider.java:104) at org.globus.axis.providers.PrivilegedInvokeMethodAction.run(PrivilegedInvokeMethodAction.java:39) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:379) at org.globus.gsi.jaas.GlobusSubject.runAs(GlobusSubject.java:49) at org.globus.gsi.jaas.JaasSubject.doAs(JaasSubject.java:84) at org.globus.axis.providers.RPCProvider.invokeMethod(RPCProvider.java:94) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:281) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285) at org.globus.wsrf.container.ServiceThread.doPost(ServiceThread.java:662) at org.globus.wsrf.container.ServiceThread.process(ServiceThread.java:393) at org.globus.wsrf.container.GSIServiceThread.process(GSIServiceThread.java:124) at org.globus.wsrf.container.ServiceThread.run(ServiceThread.java:297) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at java.lang.Class.newInstance0(Class.java:308) at java.lang.Class.newInstance(Class.java:261) at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90) at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:76) at org.oasis.wsn.InvalidTopicExpressionFaultType.getDeserializer(InvalidTopicExpressionFaultType.java:76) 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.encoding.DeserializationContext.getDeserializerForClass(DeserializationContext.java:510) at org.globus.wsrf.encoding.ObjectDeserializationContext.setDeserializer(ObjectDeserializationContext.java:108) at org.globus.wsrf.encoding.ObjectDeserializationContext.init(ObjectDeserializationContext.java:117) at org.globus.wsrf.encoding.ObjectDeserializationContext.<init>(ObjectDeserializationContext.java:78) at org.globus.wsrf.encoding.ObjectDeserializer.toObject(ObjectDeserializer.java:53) at org.globus.exec.utils.FaultUtils.addFaultData(FaultUtils.java:582) at org.globus.exec.utils.FaultUtils.makeFault(FaultUtils.java:522) at org.globus.exec.utils.FaultUtils.createStagingFault(FaultUtils.java:357) at org.globus.exec.service.exec.StateMachine.createStagingFault(StateMachine.java:2634) at org.globus.exec.service.exec.StateMachine.processStageInState(StateMachine.java:687) 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.globus.exec.service.exec.StateMachine.processState(StateMachine.java:357) at org.globus.exec.service.exec.RunQueue.run(RunQueue.java:151) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at java.lang.Class.newInstance0(Class.java:308) at java.lang.Class.newInstance(Class.java:261) at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90) at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:76) at org.globus.exec.generated.StagingFaultType.getDeserializer(StagingFaultType.java:152) 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.encoding.DeserializationContext.getDeserializerForClass(DeserializationContext.java:510) at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:250) at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(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.XML11Configuration.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(SAXParser.java:345) at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) at org.globus.wsrf.encoding.ObjectDeserializer.toObject(ObjectDeserializer.java:56) at org.globus.exec.client.GramJob.deliver(GramJob.java:1547) at org.globus.wsrf.impl.notification.NotificationConsumerProvider.notify(NotificationConsumerProvider.java:106) at sun.reflect.GeneratedMethodAccessor170.invoke(Unknown Source) 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:384) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:281) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285) at org.globus.wsrf.container.ServiceThread.doPost(ServiceThread.java:662) at org.globus.wsrf.container.ServiceThread.process(ServiceThread.java:393) at org.globus.wsrf.container.GSIServiceThread.process(GSIServiceThread.java:124) at org.globus.wsrf.container.ServiceThread.run(ServiceThread.java:297) stateWhenFailureOccurred: StageIn timestamp: java.util.GregorianCalendar[time=1112978972774,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2005,MONTH=3,WEEK_OF_YEAR=15,WEEK_OF_MONTH=2,DAY_OF_MONTH=8,DAY_OF_YEAR=98,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=49,SECOND=32,MILLISECOND=774,ZONE_OFFSET=0,DST_OFFSET=0] Message: org.globus.exec.generated.StagingFaultType: Staging error for RSL element fileStageIn. caused by [0: org.oasis.wsrf.faults.BaseFaultType caused by [0: org.oasis.wsrf.faults.BaseFaultType: Failed to resolve topic expression to a set of concrete topics caused by [0: org.oasis.wsrf.faults.BaseFaultType]]]
Created an attachment (id=571) [details] for peter
The patch looks good.
Fixed in trunk