You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Rajika Kumarasiri <ra...@wso2.com> on 2011/02/06 09:21:34 UTC

Re: Enabling debug information in qpid client libraries

Sorry for the late reply. We need to add "vars" to the debug level in javac
task of the module.xml. I'd suggest we add that to the build file by
default.
https://issues.apache.org/jira/browse/QPID-3039

Thanks for your reply.

Rajika

On Fri, Jan 28, 2011 at 9:18 PM, Robbie Gemmell <ro...@gmail.com>wrote:

> Hi Rajika,
>
> I have never had a problem remote debugging the standard build output.
> Have you tried using a different version of your IDE, or even a
> different IDE?
>
> Robbie
>
> On 28 January 2011 08:41, Rajika Kumarasiri <ra...@wso2.com> wrote:
> > I still cloud not figure out why this happens. I checked the libraries
> but I
> > can see that the debug info is available in the libs. I guess this is
> > something to do with my IDE.
> >
> > Rajika
> >
> > On Wed, Jan 26, 2011 at 5:20 PM, Rajika Kumarasiri <ra...@wso2.com>
> wrote:
> >
> >> When I sue qpid client libraries in my application following NPE is
> thrown.
> >> And I want to run a debug session but when I tried debug, the IDE
> complains
> >> about missing debug info. I tried passing -g to common.xml  in java
> >> directory ( set the property javac.compiler.args to -g) but still says
> >> missing debug info. Do I have set any other place ? Thanks.
> >>
> >> Rajika
> >>
> >> [2011-01-26 17:17:04,639] ERROR - Axis2Sender Unexpected error during
> >> sending message out
> >> java.lang.NullPointerException
> >>     at
> >>
> org.apache.qpid.client.AMQSession_0_10.isQueueBound(AMQSession_0_10.java:528)
> >>     at
> >>
> org.apache.qpid.client.AMQSession_0_10.isQueueBound(AMQSession_0_10.java:519)
> >>     at
> >>
> org.apache.qpid.client.BasicMessageProducer_0_10.isBound(BasicMessageProducer_0_10.java:240)
> >>     at
> >>
> org.apache.qpid.client.QueueSenderAdapter.checkPreConditions(QueueSenderAdapter.java:211)
> >>     at
> >>
> org.apache.qpid.client.QueueSenderAdapter.checkPreConditions(QueueSenderAdapter.java:173)
> >>     at
> >>
> org.apache.qpid.client.QueueSenderAdapter.send(QueueSenderAdapter.java:53)
> >>     at
> >>
> org.apache.axis2.transport.jms.JMSMessageSender.send(JMSMessageSender.java:145)
> >>     at
> >> org.apache.axis2.transport.jms.JMSSender.sendOverJMS(JMSSender.java:203)
> >>     at
> >> org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:150)
> >>     at
> >>
> org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
> >>     at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
> >>     at
> >>
> org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:278)
> >>     at
> >>
> org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
> >>     at
> >>
> org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:410)
> >>     at
> >> org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:57)
> >>     at
> >>
> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:232)
> >>     at
> >>
> org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:256)
> >>     at
> >>
> org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59)
> >>     at
> >>
> org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:173)
> >>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
> >>     at
> >>
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
> >>     at
> >>
> org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:413)
> >>     at
> >>
> org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:264)
> >>     at
> >>
> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173)
> >>     at
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> >>     at
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> >>     at java.lang.Thread.run(Thread.java:619)
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.apache.org
>
>

Re: Enabling debug information in qpid client libraries

Posted by Rajika Kumarasiri <ra...@wso2.com>.
On Sun, Feb 6, 2011 at 7:28 PM, Robbie Gemmell <ro...@gmail.com>wrote:

> Hi Rajika,
>
> I have just tested the patch and found it resulted in no difference in
> the compiled class files, they were 100% binary identical. If I change
> the new 'debuglevel' definition to be only "lines,source" then my
> compiled files do differ from normal and become smaller. This would
> explain why I have never had an issue remote debugging the default
> output and you have; your compiler obviously has different defaults
> than mine. Can I ask what JVM/JDK etc you are using?
>

I am using Sun JDK version 1.6.0_17. Actually my IDE shows the line number
together with the source file, what was missing was the variables values.


>
> The man page for javac (Sun JDK) and the manual page for the Ant javac
> task suggest that our existing javac usage should indeed result in
> inclusion of all debug information if using the Sun JDK, and always
> has in my case. However there is one area of ambiguity where it is
> mentioned that using javac -g without arguments will include all debug
> information, but then goes to says that it only generates lines and
> source debug info by default. My test clearly shows I am seeing the
> former behaviour, whereas you would seem to have seen the latter
> behaviour.
>
> I have applied the patch, but will rename the JIRA to better indicate
> what is actually being changed.
>

+1. Thanks for applying the patch.

Rajika



>
> Regards,
> Robbie
>
> On 6 February 2011 08:21, Rajika Kumarasiri <ra...@wso2.com> wrote:
> > Sorry for the late reply. We need to add "vars" to the debug level in
> javac
> > task of the module.xml. I'd suggest we add that to the build file by
> > default.
> > https://issues.apache.org/jira/browse/QPID-3039
> >
> > Thanks for your reply.
> >
> > Rajika
> >
> > On Fri, Jan 28, 2011 at 9:18 PM, Robbie Gemmell <
> robbie.gemmell@gmail.com>wrote:
> >
> >> Hi Rajika,
> >>
> >> I have never had a problem remote debugging the standard build output.
> >> Have you tried using a different version of your IDE, or even a
> >> different IDE?
> >>
> >> Robbie
> >>
> >> On 28 January 2011 08:41, Rajika Kumarasiri <ra...@wso2.com> wrote:
> >> > I still cloud not figure out why this happens. I checked the libraries
> >> but I
> >> > can see that the debug info is available in the libs. I guess this is
> >> > something to do with my IDE.
> >> >
> >> > Rajika
> >> >
> >> > On Wed, Jan 26, 2011 at 5:20 PM, Rajika Kumarasiri <ra...@wso2.com>
> >> wrote:
> >> >
> >> >> When I sue qpid client libraries in my application following NPE is
> >> thrown.
> >> >> And I want to run a debug session but when I tried debug, the IDE
> >> complains
> >> >> about missing debug info. I tried passing -g to common.xml  in java
> >> >> directory ( set the property javac.compiler.args to -g) but still
> says
> >> >> missing debug info. Do I have set any other place ? Thanks.
> >> >>
> >> >> Rajika
> >> >>
> >> >> [2011-01-26 17:17:04,639] ERROR - Axis2Sender Unexpected error during
> >> >> sending message out
> >> >> java.lang.NullPointerException
> >> >>     at
> >> >>
> >>
> org.apache.qpid.client.AMQSession_0_10.isQueueBound(AMQSession_0_10.java:528)
> >> >>     at
> >> >>
> >>
> org.apache.qpid.client.AMQSession_0_10.isQueueBound(AMQSession_0_10.java:519)
> >> >>     at
> >> >>
> >>
> org.apache.qpid.client.BasicMessageProducer_0_10.isBound(BasicMessageProducer_0_10.java:240)
> >> >>     at
> >> >>
> >>
> org.apache.qpid.client.QueueSenderAdapter.checkPreConditions(QueueSenderAdapter.java:211)
> >> >>     at
> >> >>
> >>
> org.apache.qpid.client.QueueSenderAdapter.checkPreConditions(QueueSenderAdapter.java:173)
> >> >>     at
> >> >>
> >>
> org.apache.qpid.client.QueueSenderAdapter.send(QueueSenderAdapter.java:53)
> >> >>     at
> >> >>
> >>
> org.apache.axis2.transport.jms.JMSMessageSender.send(JMSMessageSender.java:145)
> >> >>     at
> >> >>
> org.apache.axis2.transport.jms.JMSSender.sendOverJMS(JMSSender.java:203)
> >> >>     at
> >> >>
> org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:150)
> >> >>     at
> >> >>
> >>
> org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
> >> >>     at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
> >> >>     at
> >> >>
> >>
> org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:278)
> >> >>     at
> >> >>
> >>
> org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
> >> >>     at
> >> >>
> >>
> org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:410)
> >> >>     at
> >> >> org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:57)
> >> >>     at
> >> >>
> >>
> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:232)
> >> >>     at
> >> >>
> >>
> org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:256)
> >> >>     at
> >> >>
> >>
> org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59)
> >> >>     at
> >> >>
> >>
> org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:173)
> >> >>     at
> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
> >> >>     at
> >> >>
> >>
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
> >> >>     at
> >> >>
> >>
> org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:413)
> >> >>     at
> >> >>
> >>
> org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:264)
> >> >>     at
> >> >>
> >>
> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173)
> >> >>     at
> >> >>
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> >> >>     at
> >> >>
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> >> >>     at java.lang.Thread.run(Thread.java:619)
> >> >>
> >> >>
> >> >
> >>
> >> ---------------------------------------------------------------------
> >> Apache Qpid - AMQP Messaging Implementation
> >> Project:      http://qpid.apache.org
> >> Use/Interact: mailto:users-subscribe@qpid.apache.org
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.apache.org
>
>

Re: Enabling debug information in qpid client libraries

Posted by Robbie Gemmell <ro...@gmail.com>.
Hi Rajika,

I have just tested the patch and found it resulted in no difference in
the compiled class files, they were 100% binary identical. If I change
the new 'debuglevel' definition to be only "lines,source" then my
compiled files do differ from normal and become smaller. This would
explain why I have never had an issue remote debugging the default
output and you have; your compiler obviously has different defaults
than mine. Can I ask what JVM/JDK etc you are using?

The man page for javac (Sun JDK) and the manual page for the Ant javac
task suggest that our existing javac usage should indeed result in
inclusion of all debug information if using the Sun JDK, and always
has in my case. However there is one area of ambiguity where it is
mentioned that using javac -g without arguments will include all debug
information, but then goes to says that it only generates lines and
source debug info by default. My test clearly shows I am seeing the
former behaviour, whereas you would seem to have seen the latter
behaviour.

I have applied the patch, but will rename the JIRA to better indicate
what is actually being changed.

Regards,
Robbie

On 6 February 2011 08:21, Rajika Kumarasiri <ra...@wso2.com> wrote:
> Sorry for the late reply. We need to add "vars" to the debug level in javac
> task of the module.xml. I'd suggest we add that to the build file by
> default.
> https://issues.apache.org/jira/browse/QPID-3039
>
> Thanks for your reply.
>
> Rajika
>
> On Fri, Jan 28, 2011 at 9:18 PM, Robbie Gemmell <ro...@gmail.com>wrote:
>
>> Hi Rajika,
>>
>> I have never had a problem remote debugging the standard build output.
>> Have you tried using a different version of your IDE, or even a
>> different IDE?
>>
>> Robbie
>>
>> On 28 January 2011 08:41, Rajika Kumarasiri <ra...@wso2.com> wrote:
>> > I still cloud not figure out why this happens. I checked the libraries
>> but I
>> > can see that the debug info is available in the libs. I guess this is
>> > something to do with my IDE.
>> >
>> > Rajika
>> >
>> > On Wed, Jan 26, 2011 at 5:20 PM, Rajika Kumarasiri <ra...@wso2.com>
>> wrote:
>> >
>> >> When I sue qpid client libraries in my application following NPE is
>> thrown.
>> >> And I want to run a debug session but when I tried debug, the IDE
>> complains
>> >> about missing debug info. I tried passing -g to common.xml  in java
>> >> directory ( set the property javac.compiler.args to -g) but still says
>> >> missing debug info. Do I have set any other place ? Thanks.
>> >>
>> >> Rajika
>> >>
>> >> [2011-01-26 17:17:04,639] ERROR - Axis2Sender Unexpected error during
>> >> sending message out
>> >> java.lang.NullPointerException
>> >>     at
>> >>
>> org.apache.qpid.client.AMQSession_0_10.isQueueBound(AMQSession_0_10.java:528)
>> >>     at
>> >>
>> org.apache.qpid.client.AMQSession_0_10.isQueueBound(AMQSession_0_10.java:519)
>> >>     at
>> >>
>> org.apache.qpid.client.BasicMessageProducer_0_10.isBound(BasicMessageProducer_0_10.java:240)
>> >>     at
>> >>
>> org.apache.qpid.client.QueueSenderAdapter.checkPreConditions(QueueSenderAdapter.java:211)
>> >>     at
>> >>
>> org.apache.qpid.client.QueueSenderAdapter.checkPreConditions(QueueSenderAdapter.java:173)
>> >>     at
>> >>
>> org.apache.qpid.client.QueueSenderAdapter.send(QueueSenderAdapter.java:53)
>> >>     at
>> >>
>> org.apache.axis2.transport.jms.JMSMessageSender.send(JMSMessageSender.java:145)
>> >>     at
>> >> org.apache.axis2.transport.jms.JMSSender.sendOverJMS(JMSSender.java:203)
>> >>     at
>> >> org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:150)
>> >>     at
>> >>
>> org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
>> >>     at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
>> >>     at
>> >>
>> org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:278)
>> >>     at
>> >>
>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
>> >>     at
>> >>
>> org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:410)
>> >>     at
>> >> org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:57)
>> >>     at
>> >>
>> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:232)
>> >>     at
>> >>
>> org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:256)
>> >>     at
>> >>
>> org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59)
>> >>     at
>> >>
>> org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:173)
>> >>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
>> >>     at
>> >>
>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
>> >>     at
>> >>
>> org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:413)
>> >>     at
>> >>
>> org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:264)
>> >>     at
>> >>
>> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173)
>> >>     at
>> >>
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>> >>     at
>> >>
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>> >>     at java.lang.Thread.run(Thread.java:619)
>> >>
>> >>
>> >
>>
>> ---------------------------------------------------------------------
>> Apache Qpid - AMQP Messaging Implementation
>> Project:      http://qpid.apache.org
>> Use/Interact: mailto:users-subscribe@qpid.apache.org
>>
>>
>

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org