Hi there,

I’m a newbie to this list and tried my dearest to search the archives (with the 
scrollbar) to find an answer.

I’m having a problem running a well known ham radio application called WSJT-X 
for the Apple M1 running Monterey with gfortran 11.2.0.  Tthe code compiles 
fine.  The issue is at runtime with one of the submodules which is written in 
fortran (specifically ft8 using jt9 executable).

I’ve tried to distill the problem down to a very small sample by removing all 
the code and just getting it down to two files, but alas, it doesn’t reproduce 
the bug.  The code works fine in this case.

The bug that I’m running into is that the address of a subroutine that is used 
as a callback is not correct.  The exact same code works on Intel but not on 
Apple M1 using the same compiler version.  The subroutine is part of a derived 
class.  The only thing I’ve noticed from looking at the parse tree is that the 
vtable _size parameter is 8 bytes vs 4.  I doubt this matters but figured I’d 
mention it.

What I’ve seen from the disassembly is that the M1 version of gfortran 
correctly stores the address of the callback into a data structure.  The bug is 
that it uses the address of a data structure (that contains the function 
pointer address) instead of the actual function pointer address.  This causes a 
bus error.  What I’ve also noticed is that the data structure address is wrong 
by 8 bytes (aside from the fact that the address isn’t being dereferenced- but 
maybe that’s hidden data)… Is it possible that it’s not deferencing a pointer?  
I’ve tried replacing the address of the data structure with the function 
address and the code successfully makes it into the callback but then crashes 
later inside fortran formatting routines.   Is it likely that the stack is 
corrupt?

I’m looking for any help solving this issue.  If anyone can give me some advice 
or clues on how to submit a bug for this or further debug it, I will do what it 
takes to provide the needed details.   

Thanks for your help!
alex

Reply via email to