jacobwilliams/dop853

Some Run-Time Check Failures

Closed this issue · 2 comments

Hey,

I found some small "bugs" using your code. I using

compiler: /opt/intel/oneapi/compiler/2022.0.2/linux/bin/intel64/ifort
version : ifort (IFORT) 2021.5.0 20211109
Copyright (C) 1985-2021 Intel Corporation. All rights reserved.
compiler option : -pg -g -O0 -check -warn nounused -flto -free -mcmodel=medium

and got

forrtl: severe (194): Run-Time Check Failure. The variable 'dop853_module_mp_dp86co_$NONSTI' is being used in '/user/winter/ctmc/irland_2022-04-27_17-15-20_290831976/../code/ode/dop853_module.f90(644,29)' without being defined
Image              PC                Routine            Line        Source             
SC2_HeH_135_tipis  00000000004D617B  Unknown               Unknown  Unknown
SC2_HeH_135_tipis  00000000004CA915  Unknown               Unknown  Unknown
SC2_HeH_135_tipis  00000000004F3200  Unknown               Unknown  Unknown
SC2_HeH_135_tipis  0000000000401BF2  Unknown               Unknown  Unknown
libc-2.31.so       00007FB1954212BD  __libc_start_main     Unknown  Unknown
SC2_HeH_135_tipis  0000000000401AAA  Unknown               Unknown  Unknown

with

 call prop%integrate( t, y, tf, ode_rtol, ode_atol, iout=0, idid=idid )

I got the error for the following variables:
irtrn at line 551
nonsti at line 643
xout at line 648

(at least in my version, I hope the lines are near the official ones)

I could fix it with:

irtrn=0
nonsti=0
xout=ieee_value(xout,ieee_quiet_nan)

in the first line of dp86co() using the

use ieee_arithmetic, only: ieee_quiet_nan, ieee_value

module.

Please check if I correctly understand the logic of the variables and check the "solution". I know some compiler options can fix this as well, but this should not be the goal.

I thank you for the code and hope this report helps to improve it.

Thanks! I'll look into it.

Yep, looks like a bug in the original code.