I can do anything with SetExceptionMask. No combination will fail for me.
That makes me believe the problem is in the specific gtk2 framework or its interaction and combination with parallels. That is the one that generates a SIGFPE. For the gtk2 framework this is suppressed in FPC/Lazarus on intel architecture ( to not show any exception inside the GUI) because FPC/Lazarus can't fix this. So it's just a programmer problem in the GUI.
Seeing the {$if defined(cpui386) or defined(cpux86_64)} in that TGtk2WidgetSet.AppInit... I guess they forgot aarch64
@msintle Does adding this line work? In that case the if defined line can just be expanded to include the arm-platform.
SetExceptionMask(GetExceptionMask + [exOverflow,exZeroDivide,exInvalidOp]);
BUT... I wonder if this is the correct way...
I haven't tested this but doesn't the above line also prevent your own division by zero etc.????
Is that wanted behavior?
Shouldn't the SetExceptionMask not
ONLY be done when calling a certain widget-set call, and
reset it directly after, so errors in your own program get catched by your own exception handling?