This isn't necessarily a proton bug. Nothing in the referenced checkin
actually touches the logic around allocating/freeing error strings, it
merely causes pn_send/pn_recv to make use of pn_io_t's pn_error_t where
previously it threw away the error information. This would suggest that
there is perhaps a pre-existing bug in dispatch where it is calling
pn_send/pn_recv with a pn_io_t that has been freed, and it is only now
triggering due to the additional asserts that are encountered due to not
ignoring the error information.

I could be mistaken, but I would try reproducing this under valgrind. That
will tell you where the first free occurred and that should hopefully make
it obvious whether this is indeed a proton bug or whether dispatch is
somehow freeing the pn_io_t sooner than it should.

(FWIW, if it is indeed a proton bug, then I would agree it is a blocker.)

--Rafael

On Wed, Feb 25, 2015 at 7:54 AM, Michael Goulish <mgoul...@redhat.com>
wrote:

> ...but if not, somebody please feel free to correct me.
>
> The Jira that I just created -- PROTON-826 -- is for a
> bug I found with my topology testing of the Dispatch Router,
> in which I repeatedly kill and restart a router and make
> sure that the router network comes back to the same topology
> that it had before.
>
> As of checkin 01cb00c -- which had no Jira -- it is pretty
> easy for my test to blow core.  It looks like an error
> string is being double-freed (maybe) in the proton library.
>
> ( full info in the Jira.  https://issues.apache.org/jira/browse/PROTON-826
> )
>
>
>

Reply via email to