I'm playing with the head (rev 757523 synced as of today) and I'm having issues 
w/ clustering turned on.

Currently I only have one system in the cluster, and the broker will segfault 
when trying to connect from a Java client (also synced from head).

When it sends ProtocolHeader(1,0,10) the broker looks like:

2009-mar-23 13:06:42 debug ManagementBroker added package 
org.apache.qpid.cluster
2009-mar-23 13:06:42 debug ManagementBroker added class 
org.apache.qpid.cluster:cluster
2009-mar-23 13:06:42 debug 10.59.174.186:26480(INIT) config change: 
10.59.174.186:26480
2009-mar-23 13:06:42 info No message store configured, persistence is disabled.
2009-mar-23 13:06:42 notice SASL disabled: No Authentication Performed
2009-mar-23 13:06:42 notice Listening on TCP port 5672
2009-mar-23 13:06:42 info Registered replication exchange
2009-mar-23 13:06:42 notice 10.59.174.186:26480(INIT) joining cluster renga 
with url=amqp:tcp:10.59.174.186:5672
2009-mar-23 13:06:42 info Policy file not specified. ACL Disabled, no ACL 
checking being done!
2009-mar-23 13:06:42 info SSL plugin not enabled, you must set 
--qpid-ssl-cert-db to enable it.
2009-mar-23 13:06:42 notice Broker running
[New Thread 0xb616cb90 (LWP 26486)]
2009-mar-23 13:06:42 trace 10.59.174.186:26480(INIT) DLVR: 
Event[10.59.174.186:26480-0 control 28 bytes]
[New Thread 0xb576bb90 (LWP 26487)]
2009-mar-23 13:06:42 trace 10.59.174.186:26480(INIT) DLVR: Frame[BEbe; 
channel=0; {ClusterConfigChangeBody: current=\xBA\xAE;
\x00\x00gp; }] control 10.59.174.186:26480-0
2009-mar-23 13:06:42 debug 10.59.174.186:26480(INIT) cluster-id = 
82e10fab-06d6-4f3a-956f-356f2af313e4
2009-mar-23 13:06:42 debug Queue events enabled
2009-mar-23 13:06:42 info 10.59.174.186:26480(READY) member update: 
10.59.174.186:26480(member)
2009-mar-23 13:06:42 notice 10.59.174.186:26480(READY) first in cluster
2009-mar-23 13:06:51 debug RECV [153.32.224.133:3035] INIT(0-10)
2009-mar-23 13:06:51 debug SASL: No Authentication Performed
2009-mar-23 13:06:51 debug 10.59.174.186:26480(READY) new connection: 
10.59.174.186:26480-1(local)
2009-mar-23 13:06:51 trace SENT 153.32.224.133:3035 INIT(0-10)
2009-mar-23 13:06:51 trace SENT [153.32.224.133:3035]: Frame[BEbe; channel=0; 
{ConnectionStartBody: 
server-properties={qpid.federation_tag:V2:36:str16(b045d881-63e1-49e4-bdb7-07cece6c1e2f)};
 mechanisms=str16{V2:9:str16(ANONYMOUS), V2:5:str16(PLAIN)}; 
locales=str16{V2:5:str16(en_US)}; }]
2009-mar-23 13:06:52 trace MCAST Event[10.59.174.186:26480-1 data 3 bytes]
2009-mar-23 13:06:52 trace 10.59.174.186:26480(READY) DLVR: 
Event[10.59.174.186:26480-1 data 3 bytes]

Program received signal SIGSEGV, Segmentation fault.
0x00ca6941 in qpid::framing::AMQFrame::getMethod (this=0xbfe082ac) at 
./qpid/framing/AMQFrame.h:51
51          const AMQMethodBody* getMethod() const { return 
getBody()->getMethod(); }

Note in this scenario getBody() is null and thus exceptions.

The top level of the stack trace looks like:

0  0x00ca6941 in qpid::framing::AMQFrame::getMethod (this=0xbfe082ac) at 
./qpid/framing/AMQFrame.h:51
#1  0x00efbc86 in qpid::cluster::Decoder::process (this=0x92b9d50, 
e...@0xbfe0829c) at qpid/cluster/Decoder.cpp:55
#2  0x00efbfe7 in qpid::cluster::Decoder::decode (this=0x92b9d50, 
e...@0x92bb088, data=0x92bc1f1 "\017") at qpid/cluster/Decoder.cpp:50
#3  0x00ed50e2 in qpid::cluster::Cluster::deliveredEvent (this=0x92b9858, 
e...@0x92bb088) at qpid/cluster/Cluster.cpp:251

I feel like I'm doing something wrong on the most basic level somewhere.  But I 
assume it is simply sending out the connection start event of which I assume 
has no body, etc?  I can easily debug around here, but I'm not sure what I'm 
supposed to see.  Is there supposed to be a body at this point, or is this 
simply a case of needing to return a null on the getMethod() function if 
getBody() is null?

Thanks,
Jason

Reply via email to