Have you been able to try this yet?

   ...ant

On Wed, Aug 3, 2011 at 10:34 AM, Gregor Kiddie
<[email protected]> wrote:
> Thanks Ant,
>
> Will do, and I'll get back to you when we've got more info.
>
> Gk.
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of ant elder
> Sent: 03 August 2011 10:32
> To: [email protected]
> Subject: Re: Exceptions occur over time.
>
> Hi Gregor,
>
> I've created a JIRA for this -
> https://issues.apache.org/jira/browse/TUSCANY-3909
>
> and I've attached two jars of modules modified to log some additional
> debug information. There is a tag of the SVN for the changes so you
> can see whats changed by doing:
>
> svn diff 
> https://svn.apache.org/repos/asf/tuscany/sca-java-1.x/tags/1.6/modules
> https://svn.apache.org/repos/asf/tuscany/sca-java-1.x/tags/1.6-TUSCANY-3909
>
> and that shows:
>
> Index: 
> implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringInvoker.java
> ===================================================================
> --- 
> implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringInvoker.java
>     (.../1.6/modu
> les)    (revision 1153405)
> +++ 
> implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringInvoker.java
>     (.../1.6-TUSC
> ANY-3909)       (revision 1153405)
> @@ -20,6 +20,7 @@
>
>  import java.lang.reflect.InvocationTargetException;
>  import java.lang.reflect.Method;
> +import java.util.logging.Logger;
>
>  import org.apache.tuscany.sca.implementation.spring.SpringBeanElement;
>  import org.apache.tuscany.sca.implementation.spring.SpringImplementation;
> @@ -35,6 +36,7 @@
>  * @version $Rev: 511195 $ $Date: 2007-02-24 02:29:46 +0000 (Sat, 24
> Feb 2007) $
>  */
>  public class SpringInvoker implements Invoker {
> +    private static final Logger logger =
> Logger.getLogger(SpringInvoker.class.getName());
>
>     private Method theMethod = null;
>     private Object bean;
> @@ -99,6 +101,9 @@
>             return ret;
>         } catch (InvocationTargetException e) {
>             throw new SpringInvocationException("Spring invoker
> invoke method '"+ theMethod.getName()+"' error.",e.getCause());
> +        } catch (RuntimeException e) {
> +               logger.severe("TUSCANY-3909: RuntimeException,
> payload: " + payload + " payload type: " + (payload==null? null : payl
> oad.getClass()) + " method: " + theMethod);
> +            throw new SpringInvocationException("Spring invoker
> invoke method '"+ theMethod.getName()+"' error.",e);
>         } catch (Exception e) {
>             throw new SpringInvocationException("Spring invoker
> invoke method '"+ theMethod.getName()+"' error.",e);
>         }
> Index: 
> host-jms-asf/src/main/java/org/apache/tuscany/sca/host/jms/asf/ServiceInvoker.java
> ===================================================================
> --- 
> host-jms-asf/src/main/java/org/apache/tuscany/sca/host/jms/asf/ServiceInvoker.java
>  (.../1.6/modules)       (revision 1153405)
> +++ 
> host-jms-asf/src/main/java/org/apache/tuscany/sca/host/jms/asf/ServiceInvoker.java
>  (.../1.6-TUSCANY-3909)  (revision 1153405)
> @@ -26,6 +26,8 @@
>  import javax.jms.JMSException;
>  import javax.jms.Message;
>  import javax.jms.MessageListener;
> +import javax.jms.ObjectMessage;
> +import javax.jms.TextMessage;
>  import javax.naming.NamingException;
>
>  import org.apache.tuscany.sca.assembly.Binding;
> @@ -69,6 +71,20 @@
>         try {
>             invokeService(requestJMSMsg);
>         } catch (Throwable e) {
> +               try {
> +               Object payload = null;
> +               String type = null;
> +               if (requestJMSMsg instanceof TextMessage) {
> +                               payload =
> ((TextMessage)requestJMSMsg).getText();
> +                       type = "text";
> +               } else if (requestJMSMsg instanceof ObjectMessage) {
> +                       payload = ((ObjectMessage)requestJMSMsg).getObject();
> +                       type = "objcet";
> +               }
> +               logger.severe("TUSCANY-3909: Throwable, requestJMSMsg
> type: " + type + " payload: " + payload);
> +                       } catch (JMSException e1) {
> +               logger.log(Level.SEVERE, "TUSCANY-3909: JMSException
> getting debug info", e1);
> +                       }
>             logger.log(Level.SEVERE, "Exception send fault response
> '" + service.getName(), e);
>         }
>     }
>
> Property changes on: .
> ___________________________________________________________________
> Added: svn:mergeinfo
>   Merged /tuscany/branches/sca-java-1.3/modules:r671193
>
> Can you try running with these and let us know what they show.
>
> Thanks,
>
>   ...ant
>
> On Fri, Jul 29, 2011 at 2:50 PM, Gregor Kiddie
> <[email protected]> wrote:
>> We can replicate the error in QA, so throw us the altered jar and we'll get 
>> something back to work with.
>>
>> Gk.
>>
>> -----Original Message-----
>> From: [email protected] [mailto:[email protected]] On Behalf Of ant elder
>> Sent: 29 July 2011 14:46
>> To: [email protected]
>> Subject: Re: Exceptions occur over time.
>>
>> How easy will it be for you to run with mod and catch the error again?
>> Do we need to think really hard about all the different possibilities
>> and design a comprehensive trap now up front or can we do something
>> quick and simple first and based on the results of that if we need
>> more or different info can we write another trap patch for you to try?
>>
>> From a quick look it seems like if
>> org.apache.tuscany.sca.host.jms.asf.ServiceInvoker.onMessage was
>> changed to dumped out the context of the JMS request message on an
>> exception and  
>> org.apache.tuscany.sca.implementation.spring.invocation.SpringInvoker.doInvoke
>> did  the same with the request it gets then that would give us a
>> better picture of what the request objects looked like and why its
>> getting an argument type mismatch.
>>
>>   ...ant
>>
>> On Fri, Jul 29, 2011 at 10:49 AM, ant elder <[email protected]> wrote:
>>> Ok, can you give me some more detail about what you're doing. Do you
>>> have the complete stacktrace from that exception? It looks like thats
>>> using <implementation.spring> and you've said it uses the JMS binding
>>> so can you you show the composite for that with the binding
>>> configuration. Are you running a Tuscany standalone runtime or in a
>>> webapp or something else?
>>>
>>>  ...ant
>>>
>>> On Fri, Jul 29, 2011 at 10:37 AM, Gregor Kiddie
>>> <[email protected]> wrote:
>>>> I'd be overjoyed with that!
>>>>
>>>> Gk.
>>>>
>>>> -----Original Message-----
>>>> From: ant elder [mailto:[email protected]]
>>>> Sent: 29 July 2011 10:23
>>>> To: [email protected]
>>>> Subject: Re: Exceptions occur over time.
>>>>
>>>> This sounds like it could be quite hard to track down. Would it be
>>>> possible to give you a patched version of the code which you then run
>>>> with and try to recreate? If so we could patch the code so that when
>>>> that particular exception happens we try to dump out more detailed
>>>> diagnostics to see if that could help pin down whats happening.
>>>>
>>>>   ...ant
>>>>
>>>> On Tue, Jul 26, 2011 at 1:43 PM, Gregor Kiddie
>>>> <[email protected]> wrote:
>>>>> Tuscany 1.6 (Getting that up front as I always forget!)
>>>>>
>>>>>
>>>>>
>>>>> We're getting this error occurring over time in our application. It's a
>>>>> distributed Domain spread over 5 machines using JMS as the transport. When
>>>>> the modules start, all communication is fine. After a period of time
>>>>> (random, but never shorter than a couple of hours), some of the 
>>>>> connections
>>>>> start getting this error. Nothing changes code wise between the 
>>>>> application
>>>>> working, and not working.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> remote service exception, see nested exception
>>>>>
>>>>> java.lang.RuntimeException: Message = argument type mismatch
>>>>>
>>>>>         >>       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:597)
>>>>>
>>>>>         >>       at
>>>>> org.apache.tuscany.sca.implementation.spring.invocation.SpringInvoker.doInvoke(SpringInvoker.java:97)
>>>>>
>>>>>         >>       at
>>>>> org.apache.tuscany.sca.implementation.spring.invocation.SpringInvoker.invoke(SpringInvoker.java:113)
>>>>>
>>>>>         >>       at
>>>>> org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:60)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Any suggestions as to why this is happening, as we can't see any good 
>>>>> reason
>>>>> for this happening!
>>>>>
>>>>>
>>>>>
>>>>> Gk.
>>>>
>>>
>>
>

Reply via email to