Hey Fred,
The problem seems to be a bit strange. It occurs only if I use Solaris to
host my broker. The problem is much more frequent if the server machine is
Solaris/x86 rather than Solaris/Sparc. Windows machines are not suffering
from this problem. And the problem disappears if i use JNDI to set my
connection factories & destinations. Pretty weird!

Thanks,
Ramit

Fred D wrote:
> 
> Maybe try to see where the thresold is ... increase 1 or 2 subsribers
> until it happens.
> 
> A workaround might be to try a network of 2 brokers perhaps to see if its
> a scaling issue.
> 
> Fred
> 
> 
> Ramit Arora wrote:
>> 
>> Hi,
>> I am testing ActiveMQ 5.0 using a Perl Publisher (using Net::Stomp) &
>> Java Subscribers (Openwire). It works well when the number of subscribers
>> is low (1 or 2) but when I increase the number of subscribers to around
>> 10, I face the following problem:
>> 
>> A subscriber shows the following stack trace
>> Exception in thread "ActiveMQ Transport:
>> tcp://xx.yy.zz.com/nnn.nn.nnn.nn:61616" java.lang.ClassCastException:
>> org.apache.activemq.command.BrokerId can not be cast to
>> org.apache.activemq.command.ConsumerId
>>         at
>> org.apache.activemq.openwire.v3.MessageMarshaller.tightUnmarshal(MessageMarshaller.java:71)
>>         at
>> org.apache.activemq.openwire.v3.ActiveMQMessageMarshaller.tightUnmarshal(ActiveMQMessageMarshaller.java:67)
>>         at
>> org.apache.activemq.openwire.v3.ActiveMQTextMessageMarshaller.tightUnmarshal(ActiveMQTextMessageMarshaller.java:67)
>>         at
>> org.apache.activemq.openwire.OpenWireFormat.tightUnmarshalNestedObject(OpenWireFormat.java:452)
>>         at
>> org.apache.activemq.openwire.v3.BaseDataStreamMarshaller.tightUnmarsalNestedObject(BaseDataStreamMarshaller.java:127)
>>         at
>> org.apache.activemq.openwire.v3.MessageDispatchMarshaller.tightUnmarshal(MessageDispatchMarshaller.java:72)
>>         at
>> org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(OpenWireFormat.java:361)
>>         at
>> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:275)
>>         at
>> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:192)
>>         at
>> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:184)
>>         at
>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:
>> 172)
>>         at java.lang.Thread.run(Thread.java:619)
>> 
>> The broker shows the following stack trace:
>> Exception in thread "ActiveMQ Connection Dispatcher: /nnn.nn.nn.nn:39997"
>> java.lang.NullPointerException
>>         at java.lang.System.arraycopy(Native Method)
>>         at
>> org.apache.activemq.transport.tcp.TcpBufferedOutputStream.write(TcpBufferedOutputStream.java:89)
>>         at java.io.DataOutputStream.write(DataOutputStream.java:90)
>>         at
>> org.apache.activemq.openwire.v3.BaseDataStreamMarshaller.tightMarshalByteSequence2(BaseDataStreamMarshaller.java:433)
>>         at
>> org.apache.activemq.openwire.v3.MessageMarshaller.tightMarshal2(MessageMarshaller.java:173)
>>         at
>> org.apache.activemq.openwire.v3.ActiveMQMessageMarshaller.tightMarshal2(ActiveMQMessageMarshaller.java:90)
>>         at
>> org.apache.activemq.openwire.v3.ActiveMQTextMessageMarshaller.tightMarshal2(ActiveMQTextMessageMarshaller.java:90)
>>         at
>> org.apache.activemq.openwire.OpenWireFormat.tightMarshalNestedObject2(OpenWireFormat.java:423)
>>         at
>> org.apache.activemq.openwire.v3.BaseDataStreamMarshaller.tightMarshalNestedObject2(BaseDataStreamMarshaller.java:137)
>>         at
>> org.apache.activemq.openwire.v3.MessageDispatchMarshaller.tightMarshal2(MessageDispatchMarshaller.java:106)
>>         at
>> org.apache.activemq.openwire.OpenWireFormat.marshal(OpenWireFormat.java:238)
>>         at
>> org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:153)
>>         at
>> org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:157)
>>         at
>> org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:82)
>>         at
>> org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:91)
>>         at
>> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
>>         at
>> org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1151)
>>         at
>> org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:766)
>>         at
>> org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:801)
>>         at
>> org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
>>         at
>> org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
>> 
>> The broker & the subscriber keep running after this, but the broker does
>> not deliver messages to that subscriber. Other subscribers work fine.
>> This problem is repeatedly occuring. I am using SunOS 5.10 on a machine
>> with 8 processors & 32 GB of RAM.
>> Please help!
>> 
>> TIA,
>> Ramit
>> 
>>  
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Null-Pointer-Exception-on-broker-tp16048936s2354p16717003.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to