Skip to content

Compiler flags identifying floating divide by zero runtime error #55

@davidcraigpenner

Description

@davidcraigpenner

The version number of the MASA library (versioning information can be obtained by running the masa_version binary located in the bin/ directory of a local MASA installation)
the hardware and operating system

-------------------------------------------------------------------------------
MASA Library: Version = 0.51.0 (5100)

Development Build

Build Date   = 2019-10-09 14:05
Build Host   = nia-login05.scinet.local
Build User   = dcp
Build Arch   = x86_64-pc-linux-gnu
Build Rev    = 7351ff92

C++ Config   = mpicxx -O0
F90 Config   = mpifc-O0

Optional Features:
   Python support enabled = no
-------------------------------------------------------------------------------

A description of the bug behavior
I am using MASA via the Fortran90 interface and compiling my source code with the following Intel Fortran compiler:

mpif90 for the Intel(R) MPI Library 2018 Update 3 for Linux*
Copyright(C) 2003-2018, Intel Corporation.  All rights reserved.
__INTEL_PRE_FFLAGS options:  -gcc-name=core-gcc -gxx-name=core-g++
ifort version 18.0.3

When I use the following flags (among others) to compile my source code, specifically

-check all,noarg_temp_created -init=snan -init=zero -init=arrays

I obtain the following runtime error when running my executable:

forrtl: error (73): floating divide by zero
Image              PC                Routine            Line        Source
jetstream_x86_64   000000000043E8CE  Unknown               Unknown  Unknown
libpthread-2.17.s  00002B34AD110630  Unknown               Unknown  Unknown
jetstream_x86_64   00000000004FEEA1  Unknown               Unknown  Unknown
libfmasa-0.51.so   00002B34AB54832D  _ZN4MASA27fans_sa     Unknown  Unknown
libfmasa-0.51.so   00002B34AB547F7B  _ZN4MASA27fans_sa     Unknown  Unknown
libfmasa-0.51.so   00002B34AB546D84  _ZN4MASA27fans_sa     Unknown  Unknown
libfmasa-0.51.so   00002B34AB482130  Unknown               Unknown  Unknown
libfmasa-0.51.so   00002B34AB480A9A  Unknown               Unknown  Unknown
libfmasa-0.51.so   00002B34AB48C254  _ZN4MASA9masa_ini     Unknown  Unknown
libfmasa-0.51.so   00002B34AB5147C0  masa_init             Unknown  Unknown
libfmasa-0.51.so   00002B34AB4804DB  masa_mp_masa_init     Unknown  Unknown
libdiablo.so       00002B34A05933CE  verify_mod_mp_gen       10911  Verify_Mod.f90

For reference, Line 10911 in my Fortran90 source code is a call to masa_init:

!-- initialize the problem
call masa_init('test',trim(adjustl(desired_mms_function)))

where desired_mms_function = 'euler_2d'. Note that when I compile without the aforementioned flags (i.e., without -check all,noarg_temp_created -init=snan -init=zero -init=arrays), MASA runs correctly. For reference, the functions of the flags of interest are as follows (more info here):

  • -init=arrays specifies that we initialize all unitialized arrays and variables by the following;
  • -init=nan initializes all unitialized REAL and COMPLEX variables/arrays to nans to get caught by the nantrapping
  • -init=zero initializes all unitialized REAL, COMPLEX, INTEGER, and LOGICAL variables/arrays to zero

My guess is that there are some unintialized variables in MASA, potentially in fans_sa.cpp (based on the above error message that I am getting), that are being caught by these flags, however I have been unable to identify specifically what part of the code is leading to the runtime error. Does anyone know how to address this issue?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions