qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rafael Schloming <rafa...@redhat.com>
Subject Re: [Proton] ERROR amqp:connection:framing-error connection aborted
Date Tue, 03 Jul 2012 21:13:17 GMT
Can you post the ruby code you're using? I took a look at the original
python example you're transcoding and based on the trace it's likely
something is messed up around this part:

    # we're done, close and wait for the remote to close also
    pn_connection_close(sender.conn)
    while not (pn_connection_state(sender.conn) & PN_REMOTE_CLOSED):
        sender.wait()

--Rafael

On Tue, 2012-07-03 at 08:51 -0400, Darryl L. Pierce wrote:
> On Mon, Jul 02, 2012 at 04:07:53PM -0400, Rafael Schloming wrote:
> > That most likely means the TCP connection is being terminated without
> > waiting for the proper protocol close handshake to occur. To debug this
> > try setting the environment variable PN_TRACE_FRM to 1 when you run the
> > client and/or server. That will let you see exactly what frames are
> > being exchanged. If you post the output here I can give you a better
> > idea of what is going on.
> 
> Grabbed the output from both sides. Again, this is the Python server app
> and the Ruby post.rb app for the mailbox example.
> 
> Here is the client side:
> 
> mcpierce@mcpierce-laptop:cmake (Ruby-bindings) $ PN_TRACE_FRM=1 ruby -I bindings/ruby/
../examples/ruby/post.rb -m foo test0 test1 test2 test3 test4
> Connected to 0.0.0.0:5672
>     -> AMQP SASL 1.0
> [0] -> SASL-INIT @65 [:ANONYMOUS, null]
>     <- AMQP SASL 1.0
> [0] <- SASL-MECHANISMS @64 [@PN_SYMBOL[:ANONYMOUS]]
> [0] <- SASL-OUTCOME @68 [0]
>     <- AMQP 1.0
>     -> AMQP 1.0
> [0] -> OPEN @16 [null, null]
> [1] -> BEGIN @17 [null, 0, 1024, 1024]
> [1] -> ATTACH @18 ["sender", 1, false, null, null, null, @41 ["foo"], null, null,
0]
> [0] <- OPEN @16 [null, null]
> [1] <- BEGIN @17 [1, 0, 1024, 1024]
> [1] <- ATTACH @18 ["sender", 1, true, null, null, null, @41 ["foo"], null, null, 0]
> [1] <- FLOW @19 [0, 1024, 0, 1024, 1, 0, 1, null, false]
> [1] -> TRANSFER @20 [1, 0, b"post-deliver-4", 0, true, false] (5) "test0"
> [1] -> DISPOSITION @21 [false, 0, 0, true, null]
> [1] <- FLOW @19 [1, 1023, 0, 1024, 1, 1, 1, null, false]
> [1] -> TRANSFER @20 [1, 1, b"post-deliver-3", 0, true, false] (5) "test1"
> [1] -> DISPOSITION @21 [false, 1, 1, true, null]
> [1] <- FLOW @19 [2, 1023, 0, 1024, 1, 2, 1, null, false]
> [1] -> TRANSFER @20 [1, 2, b"post-deliver-2", 0, true, false] (5) "test2"
> [1] -> DISPOSITION @21 [false, 2, 2, true, null]
> [1] <- FLOW @19 [3, 1023, 0, 1024, 1, 3, 1, null, false]
> [1] -> TRANSFER @20 [1, 3, b"post-deliver-1", 0, true, false] (5) "test3"
> [1] -> DISPOSITION @21 [false, 3, 3, true, null]
> [1] <- FLOW @19 [4, 1023, 0, 1024, 1, 4, 1, null, false]
> Cproton::pn_unsettled returns 0
> Closing the connection.
> 
> And here is the server side:
> 
> mcpierce@mcpierce-laptop:cmake (Ruby-bindings) $ PN_TRACE_FRM=1 PYTHONPATH=bindings/python/
../examples/mailbox/server 
> Server started, listening on 0.0.0.0:5672
> Listening on 0.0.0.0:5672
> Driver sleep...
> ...Driver wakeup.
> Accepting Connection.
> accepted from mcpierce-laptop:60728
> Driver sleep...
> ...Driver wakeup.
> Process Connector
>     <- AMQP SASL 1.0
> [0] <- SASL-INIT @65 [:ANONYMOUS, null]
>     -> AMQP SASL 1.0
> Authenticating...
> Authenticating-CONF...
> Authenticating-STEP...
> Authentication-PASSED
> [0] -> SASL-MECHANISMS @64 [@PN_SYMBOL[:ANONYMOUS]]
> [0] -> SASL-OUTCOME @68 [0]
>     -> AMQP 1.0
> Driver sleep...
> ...Driver wakeup.
> Process Connector
> I/O processing start.
> Connection Opened.
> [0] -> OPEN @16 [null, null]
> Driver sleep...
> ...Driver wakeup.
> Process Connector
> I/O processing start.
> Driver sleep...
> ...Driver wakeup.
> Process Connector
>     <- AMQP 1.0
> [0] <- OPEN @16 [null, null]
> [1] <- BEGIN @17 [null, 0, 1024, 1024]
> [1] <- ATTACH @18 ["sender", 1, false, null, null, null, @41 ["foo"], null, null,
0]
> I/O processing start.
> Session Opened.
> Opening Link to write to mailbox: foo
> [1] -> BEGIN @17 [1, 0, 1024, 1024]
> [1] -> ATTACH @18 ["sender", 1, true, null, null, null, @41 ["foo"], null, null, 0]
> [1] -> FLOW @19 [0, 1024, 0, 1024, 1, 0, 1, null, false]
> Driver sleep...
> ...Driver wakeup.
> Process Connector
> I/O processing start.
> Driver sleep...
> ...Driver wakeup.
> Process Connector
> [1] <- TRANSFER @20 [1, 0, b"post-deliver-4", 0, true, false] (5) "test0"
> [1] <- DISPOSITION @21 [false, 0, 0, true, null]
> I/O processing start.
> Process delivery post-deliver-4.
> Msg Received 5
> Mailbox foo contains: ['test0']
> Msg Accepted.
> remote disposition for post-deliver-4: 0 
> [1] -> FLOW @19 [1, 1023, 0, 1024, 1, 1, 1, null, false]
> Driver sleep...
> ...Driver wakeup.
> Process Connector
> I/O processing start.
> Driver sleep...
> ...Driver wakeup.
> Process Connector
> [1] <- TRANSFER @20 [1, 1, b"post-deliver-3", 0, true, false] (5) "test1"
> [1] <- DISPOSITION @21 [false, 1, 1, true, null]
> I/O processing start.
> Process delivery post-deliver-3.
> Msg Received 5
> Mailbox foo contains: ['test0', 'test1']
> Msg Accepted.
> remote disposition for post-deliver-3: 0 
> [1] -> FLOW @19 [2, 1023, 0, 1024, 1, 2, 1, null, false]
> Driver sleep...
> ...Driver wakeup.
> Process Connector
> I/O processing start.
> Driver sleep...
> ...Driver wakeup.
> Process Connector
> [1] <- TRANSFER @20 [1, 2, b"post-deliver-2", 0, true, false] (5) "test2"
> [1] <- DISPOSITION @21 [false, 2, 2, true, null]
> I/O processing start.
> Process delivery post-deliver-2.
> Msg Received 5
> Mailbox foo contains: ['test0', 'test1', 'test2']
> Msg Accepted.
> remote disposition for post-deliver-2: 0 
> [1] -> FLOW @19 [3, 1023, 0, 1024, 1, 3, 1, null, false]
> Driver sleep...
> ...Driver wakeup.
> Process Connector
> I/O processing start.
> Driver sleep...
> ...Driver wakeup.
> Process Connector
> [1] <- TRANSFER @20 [1, 3, b"post-deliver-1", 0, true, false] (5) "test3"
> [1] <- DISPOSITION @21 [false, 3, 3, true, null]
> I/O processing start.
> Process delivery post-deliver-1.
> Msg Received 5
> Mailbox foo contains: ['test0', 'test1', 'test2', 'test3']
> Msg Accepted.
> remote disposition for post-deliver-1: 0 
> [1] -> FLOW @19 [4, 1023, 0, 1024, 1, 4, 1, null, false]
> Driver sleep...
> ...Driver wakeup.
> Process Connector
> I/O processing start.
> Driver sleep...
> ...Driver wakeup.
> Process Connector
> [0] -> CLOSE @24 [@29 [:"amqp:connection:framing-error"]]
> ERROR amqp:connection:framing-error connection aborted
>     <- EOS
> error in process_input: PN_ERR
>     -> EOS
> I/O processing start.
> Driver sleep...
> ...Driver wakeup.
> Process Connector
> closed
> I/O processing start.
> Closing connector
> Driver sleep...
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message