Hi Michael,

I just committed the change Ken suggested to at least fix the abort. Is
there any way you could retest with trunk?

If the problem still occurs (I expect it will, just not quite so fatally)
it would be good to get the protocol trace for both the client and the
server and see if that will shed some light on what is going on.

--Rafael


On Fri, Oct 24, 2014 at 2:00 PM, Michael Ivanov <iv...@logit-ag.de> wrote:

> I just rebuilt all client processes to use proton 0.8 (it was still 0.7
> before)
> Error is still the same.
>
> Best regards,
>
> 24.10.2014 18:16, Ken Giusti пишет:
> >>From the trace, it seems like the broker is receiving a transfer whose
> delivery id is out of order.
> >
> > This shouldn't cause an abort - likely the result is an untested failure
> path, in transport.c:781:
> >
> >     if (id_present && id != state->id) {
> >       int err = pn_do_error(transport, "amqp:session:invalid-field",
> >                             "sequencing error, expected delivery-id %u,
> got %u",
> >                             state->id, id);
> > ====> // XXX: this will probably leave delivery buffer state messed up
> >       pn_full_settle(incoming, delivery);
> >       return err;
> >     }
> >
> > It doesn't explain why a transfer is sent out of order by the client,
> but at least we probably should remove the attempt to pn_full_settle(), and
> just return the error to fail the connection (assumed - totally untested).
> >
> > -K
> >
> > ----- Original Message -----
> >> From: "Michael Ivanov" <iv...@logit-ag.de>
> >> To: proton@qpid.apache.org
> >> Sent: Friday, October 24, 2014 9:38:54 AM
> >> Subject: Re: VOTE: Release Proton 0.8 RC4 as 0.8 final
> >>
> >> Hallo,
> >>
> >> I used proton 0.7 and later when I had an error, proton 0.8 RC4 to build
> >> qpid-cpp-0.30. In both cases at some time qpidd aborts in proton library
> >> in the following location:
> >>
> >>
> >> #0  0x0000003999432635 in raise () from /lib64/libc.so.6
> >> #1  0x0000003999433e15 in abort () from /lib64/libc.so.6
> >> #2  0x000000399942b75e in __assert_fail_base () from /lib64/libc.so.6
> >> #3  0x000000399942b820 in __assert_fail () from /lib64/libc.so.6
> >> #4  0x00007f130a5af37d in pn_full_settle (db=<value optimized out>,
> >> delivery=0x7f13001545f0)
> >>     at
> /home/ksmgr/mq/qpid-proton-0.8/proton-c/src/transport/transport.c:742
> >> #5  0x00007f130a5b0cbe in pn_do_transfer (disp=0x1b6dcf0) at
> >> /home/ksmgr/mq/qpid-proton-0.8/proton-c/src/transport/transport.c:786
> >> #6  0x00007f130a5a94d5 in pni_dispatch_action (disp=0x1b6dcf0,
> frame=...)
> >>     at
> /home/ksmgr/mq/qpid-proton-0.8/proton-c/src/dispatcher/dispatcher.c:65
> >> #7  pn_dispatch_frame (disp=0x1b6dcf0, frame=...) at
> >> /home/ksmgr/mq/qpid-proton-0.8/proton-c/src/dispatcher/dispatcher.c:172
> >> #8  0x00007f130a5a9718 in pn_dispatcher_input (disp=0x1b6dcf0,
> >> bytes=0x1b75e10 "", available=0)
> >>     at
> >>
>  /home/ksmgr/mq/qpid-proton-0.8/proton-c/src/dispatcher/dispatcher.c:194
> >> #9  0x00007f130a5b2606 in pn_input_read_amqp (io_layer=<value optimized
> out>,
> >> bytes=<value optimized out>, available=<value
> >> optimized out>)
> >>     at
> /home/ksmgr/mq/qpid-proton-0.8/proton-c/src/transport/transport.c:1145
> >> #10 0x00007f130a5ae029 in transport_consume (transport=0x1b6dab0) at
> >> /home/ksmgr/mq/qpid-proton-0.8/proton-c/src/transport/transport.c:1064
> >> #11 0x00007f130a5ae198 in pn_transport_process (transport=0x1b6dab0,
> >> size=<value optimized out>)
> >>     at
> /home/ksmgr/mq/qpid-proton-0.8/proton-c/src/transport/transport.c:2120
> >> #12 0x00007f130a5ae8e0 in pn_transport_input (transport=0x1b6dab0,
> >> bytes=0x1b2a9b6 "eeded\n", available=0)
> >>     at
> /home/ksmgr/mq/qpid-proton-0.8/proton-c/src/transport/transport.c:1039
> >> #13 0x00007f130a81c192 in qpid::broker::amqp::Connection::decode
> >> (this=0x1b6c4c8, buffer=0x1b2a880 "", size=310)
> >>     at
> /home/ksmgr/mq/qpid-cpp-0.30/src/qpid/broker/amqp/Connection.cpp:119
> >> #14 0x00007f130a858c99 in qpid::broker::amqp::Sasl::decode
> (this=0x1b6c470,
> >> buffer=<value optimized out>, size=310)
> >>     at /home/ksmgr/mq/qpid-cpp-0.30/src/qpid/broker/amqp/Sasl.cpp:49
> >> #15 0x00007f130b0e9100 in qpid::sys::AsynchIOHandler::readbuff
> >> (this=0x1b29a90, buff=0x1b6a890)
> >>     at /home/ksmgr/mq/qpid-cpp-0.30/src/qpid/sys/AsynchIOHandler.cpp:135
> >> #16 0x00007f130b0689e7 in operator() (this=0x1b29ad0, h=...) at
> >> /usr/include/boost/function/function_template.hpp:1013
> >> #17 qpid::sys::posix::AsynchIO::readable (this=0x1b29ad0, h=...) at
> >> /home/ksmgr/mq/qpid-cpp-0.30/src/qpid/sys/posix/AsynchIO.cpp:452
> >> #18 0x00007f130b0ed853 in boost::function1<void,
> >> qpid::sys::DispatchHandle&>::operator() (this=<value optimized out>,
> >>     a0=<value optimized out>) at
> >>     /usr/include/boost/function/function_template.hpp:1013
> >> #19 0x00007f130b0ec991 in qpid::sys::DispatchHandle::processEvent
> >> (this=0x1b29ad8, type=qpid::sys::Poller::READABLE)
> >>     at /home/ksmgr/mq/qpid-cpp-0.30/src/qpid/sys/DispatchHandle.cpp:280
> >> #20 0x00007f130b08d4f2 in process (this=0x176cc90) at
> >> /home/ksmgr/mq/qpid-cpp-0.30/src/qpid/sys/Poller.h:131
> >> #21 qpid::sys::Poller::run (this=0x176cc90) at
> >> /home/ksmgr/mq/qpid-cpp-0.30/src/qpid/sys/epoll/EpollPoller.cpp:522
> >> #22 0x00007f130b08240a in qpid::sys::(anonymous namespace)::runRunnable
> >> (p=<value optimized out>)
> >>     at /home/ksmgr/mq/qpid-cpp-0.30/src/qpid/sys/posix/Thread.cpp:35
> >> #23 0x0000003999c079d1 in start_thread () from /lib64/libpthread.so.0
> >> #24 0x00000039994e886d in clone () from /lib64/libc.so.6
> >>
> >> I have core file and probably I can try to recreate the situation.
> >>
> >> Best regards,
> >>
> >> 24.10.2014 17:05, Timothy Bish пишет:
> >>>  [ X ] Yes, release Proton 0.8 RC4 as 0.8 final.
> >>>
> >>> Tested Proton-J with ActiveMQ and the new JMS client and found no
> issues,
> >>>
> >>> On 10/23/2014 12:21 PM, Rafael Schloming wrote:
> >>>> Hi Everyone,
> >>>>
> >>>> I've put together RC4. This is pretty much the same as RC3 with a
> number
> >>>> of
> >>>> fixes to disable those SSL versions that are vulnerable to attack.
> >>>>
> >>>> The sources are available here:
> >>>>
> >>>>    - http://people.apache.org/~rhs/qpid-proton-0.8rc4/
> >>>>
> >>>> Java binaries are here:
> >>>>
> >>>>    -
> >>>>
> https://repository.apache.org/content/repositories/orgapacheqpid-1020/
> >>>>
> >>>> Changes since RC3:
> >>>>
> >>>>    - PROTON-724: make sure to pop any pending output in
> >>>> pn_transport_close_head()
> >>>>    - PROTON-720: [Windows IO] fix format specifier to print string
> >>>>    - added dispatch utility
> >>>>    - fixed error message
> >>>>    - fixed Collector.put
> >>>>    - PROTON-719 : prevent ssl3 connections in Windows with schannel
> >>>>    - PROTON-717: disable SSLv3
> >>>>    - PROTON-717: mitigate the CRIME SSL vulnerability
> >>>>    - PROTON-716: reject connections using SSLv3 - it is insecure
> >>>>
> >>>> Please check the sources out and register your vote:
> >>>>
> >>>>    [   ] Yes, release Proton 0.8 RC4 as 0.8 final.
> >>>>    [   ] No, because...
> >>>>
> >>>> --Rafael
> >>>>
> >>>
> >>>
> >>
> >>
> >> --
> >>  \   / |                                |
> >>  (OvO) |  Mikhail Iwanow                   |
> >>  (^^^) |      Voice:   +7 (911) 223-1300   |
> >>   \^/  |      E-mail:  iv...@logit-ag.de   |
> >>   ^ ^  |                                   |
> >>
> >
>
>
> --
>  \   / |                                   |
>  (OvO) |  Mikhail Iwanow                   |
>  (^^^) |      Voice:   +7 (911) 223-1300   |
>   \^/  |      E-mail:  iv...@logit-ag.de   |
>   ^ ^  |                                   |
>

Reply via email to