Hi Andrew,

It looks like your crash is in pni_process_tpwork which processes a linked
list of deliveries that have been modified and require wire (AMQP protocol)
frames sent to the peer to keep both sides of the connection in sync.

The actual call is made via a function pointer, which I don't expect to be
problematic between 32 and 64 builds.  Similarly walking the linked list is
unlikely to be the source of the problem.  Perhaps the frame generation
code is tripping up parsing or generating AMQP types with some false
assumption about relative sizes of short/int/long in the case of a 32 bit
architecture.

Sadly, it looks like the bug trashes the stack and obscures what is going
on.

You could try setting break points or print statements in
pni_process_tpwork_sender to see if it fails on the first or later
message.  From here you may be able to further narrow where things go off
the rails.

The frame generation code has changed significantly recently, but we have
no reason to expect it introduced a 32 bit specific bug.  You could try the
older code from Proton 0.37 and see if that works.  That might tell us
something, or just that the bug has been around for a long time.

I can't offer any explanation on why one of your build options succeeds.
Sorry.

Cliff

On Fri, Jul 14, 2023 at 2:09 AM Andrew North <andrew.no...@campbellsci.co.uk>
wrote:

> Just to update in this thread with the latest from original - qpid-proton
> - Exception in send sample, in Win32-Apache Mail Archives
> <https://lists.apache.org/thread/m41jtto9z52rhpcmkb4cyytb73yrjg3q>
>
>
>
> We have experimented with other build options in Win32,
>
>
>
> We tried Release, RelWithDebInfo and RelMinSize – the exception persists
> in ALL but RelMinSize, where it seems to work as expected, we see the
> messages in the broker (I am using RabbitMQ on localhost:amqp),
>
>

Reply via email to