[rabbitmq-discuss] AMQP protocol version mismatch problem on linux

776 views
Skip to first unread message

Cory Showers

unread,
Oct 26, 2011, 1:13:40 PM10/26/11
to rabbitmq...@lists.rabbitmq.com
Can someone help me out with this.

I've been using RabbitMQ locally on my windows box successfully for sometime.  But when I try to run on linux with server and client on different linux machines I get this error

AMQP protocol version mismatch; we are version 0-9-1, server sent signature 1,1,0,9

I am using RabbitMQ version 2.5.1 server and client which supports 0-9-1 but I dont know why the server signature says 1,1,0,9.

To narrow down the problem the java client build I'm running I first ran on Windows and pointed the host to the Linux Rabbit server.  And it worked fined when I passed some messages.

But using the same client build deployed on a Linux box I get the above error.  Only when it tries to send a message not on startup.  Here is the exact stacktrace

Exception in thread "pub-sub-pool-2" org.springframework.amqp.AmqpIOException: java.io.IOException
        at org.springframework.amqp.rabbit.connection.RabbitUtils.convertRabbitAccessException(RabbitUtils.java:109)
        at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:118)
        at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:179)
        at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils$1.createConnection(ConnectionFactoryUtils.java:77)
        at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.doGetTransactionalResourceHolder(ConnectionFactoryUtils.java:121)
        at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.getTransactionalResourceHolder(ConnectionFactoryUtils.java:67)
        at org.springframework.amqp.rabbit.connection.RabbitAccessor.getTransactionalResourceHolder(RabbitAccessor.java:100)
        at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:402)
        at org.springframework.amqp.rabbit.core.RabbitTemplate.send(RabbitTemplate.java:225)
        at org.springframework.amqp.rabbit.core.RabbitTemplate.convertAndSend(RabbitTemplate.java:242)
        at org.springframework.amqp.rabbit.core.RabbitTemplate.convertAndSend(RabbitTemplate.java:238)
        at com.comp.transports.fix.handlers.Sender$1.run(Sender.java:115)
        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)
Caused by: java.io.IOException
        at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:107)
        at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:261)
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:403)
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:423)
        at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:116)
        ... 13 more
Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; reason: com.rabbitmq.client.MalformedFrameException: AMQP protocol version mismatch; we are version 0-9-1, server sent signature 1,1,0,9
        at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:67)
        at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:33)
        at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:328)
        at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:246)
        ... 16 more
Caused by: com.rabbitmq.client.MalformedFrameException: AMQP protocol version mismatch; we are version 0-9-1, server sent signature 1,1,0,9
        at com.rabbitmq.client.impl.Frame.protocolVersionMismatch(Frame.java:183)
        at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:120)
        at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:140)
        at com.rabbitmq.client.impl.AMQConnection.readFrame(AMQConnection.java:397)
        at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:425)

Thanks,
Cory


Gavin M. Roy

unread,
Oct 26, 2011, 1:52:22 PM10/26/11
to Cory Showers, rabbitmq...@lists.rabbitmq.com
I would run tcpdump on the conversation on see if it's actually sending that. Unless you're running a modified RabbitMQ server, that's *very* strange to me.

It seems more likely to me that the client is messing up somehow.

Regards,

Gavin

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq...@lists.rabbitmq.com
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss


Matthias Radestock

unread,
Oct 26, 2011, 1:58:43 PM10/26/11
to Gavin M. Roy, rabbitmq...@lists.rabbitmq.com
On 26/10/11 18:52, Gavin M. Roy wrote:
> It seems more likely to me that the client is messing up somehow.

...or that the server is in fact not RabbitMQ.

Matthias.

Cory Showers

unread,
Oct 26, 2011, 4:05:34 PM10/26/11
to rabbitmq...@lists.rabbitmq.com
Ok problem solved.  The reason why this only appeared on the linux machines was because a tunnel was not setup correctly from the client machine to the server machine.



From: g...@myyearbook.com
Date: Wed, 26 Oct 2011 13:52:22 -0400
Subject: Re: [rabbitmq-discuss] AMQP protocol version mismatch problem on linux
To: c_sh...@hotmail.com
CC: rabbitmq...@lists.rabbitmq.com
Reply all
Reply to author
Forward
0 new messages