Hi,

Its going to be a little difficult to help without a complete example to look 
at. For instance I would want to see exact how Exception is defined and exactly 
what is in the struct you are effectively casting it to (the cast looks 
suspicious to me, I have to say).

I would suggest you first try and create a small stand-alone example of the 
issue. It will then be much easier to offer help.

Chris

> On 10 Sep 2018, at 5:46 pm, David <[email protected]> wrote:
> 
> The interesting thing is that the same code, compiled with the same
> compiler (gcc-mp-7 7.2) works just fine on 10.10. This doesn't happen on
> every throw, just one in particular.
> 
> While not a bug (necessarily) I'm looking for some guidance on where to
> look to track down the differences in the throw operation between the two
> OS releases. Any assistance would be useful.
> 
> The following code is the specific location where the SIGABRT comes from.
> We have pushed an exception into our stream and when we detect it we
> reformat the payload and throw it for a higher layer to capture and
> report. The contents of the payload matches the class Exception. Exception
> contains only POD members.
> 
>  if ( m_packet->io.cmd_code == CmdAbort )
>    throw *(Exception*)m_packet->io.payload;
> 
> The code throws exceptions in multiple other locations, and those all work
> as expected.
> 
> Again, any hints would be very useful.
> 
>    David
> 

Reply via email to