Mysterious runtime error

Mysterious runtime error

I am getting an unknown runtime error M17704 in Compaq Visual Fortran 6.6. This error only occurs in the Release version--the debug version will not fail! The error is not mentioned anywhere that I can find in the documentation. It is reproduced below. What does it mean?

INFO: Run 16 trial 32: sim = 100.8 s, ratio = 10.79
INFO: Run 16 trial 33: sim = 98.3 s, ratio = 10.79
INFO: Run 16 trial 34: sim = 97.5 s, ratio = 10.82
INFO: Run 16 trial 35: sim = 96.6 s, ratio = 10.75
INFO: Run 16 trial 36: sim = 97.4 s, ratio = 10.79

run-time error M17704: MATH
- mod: error
Image PC Routine Line Source
sadm.exe 0052E869 Unknown Unknown Unknown
sadm.exe 0052E6C7 Unknown Unknown Unknown
sadm.exe 0052E821 Unknown Unknown Unknown
sadm.exe 00536368 Unknown Unknown Unknown
sadm.exe 00559A9C Unknown Unknown Unknown
sadm.exe 005543E8 Unknown Unknown Unknown
sadm.exe 0051C248 Unknown Unknown Unknown
sadm.exe 00504AC0 THREAT_SIGNAL_LIB 1514 threat_signal_lib_ol
sadm.exe 00503873 THREAT_SIGNAL_LIB 1087 threat_signal_lib_ol
sadm.exe 004F4024 THREAT_SIGNAL_LIB 268 threat_signal_lib.f9
sadm.exe 00445675 SADM 1390 sadm.f90
sadm.exe 0055B669 Unknown Unknown Unknown
sadm.exe 0054DBD3 Unknown Unknown Unknown
KERNEL32.dll 77E8D326 Unknown Unknown Unknown


6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

One additional point about this mysterious runtime error is that the line of code where it fails is "cospp = COSD(jammer_az)". There is not mod function here, and the runtime error is not in the documentation, so I don't know what is happening.


The CVF Language Reference Manual, Section 9.3.27, states that the argument to the COSD function, "must be of type real. It must be in degrees and is treated as modulo 360." That might be where the part of the error message mentioning "mod" comes from.

What is the value of jammer_az when your code passes it to COSD?


I don't know! The error only happens in the release version, not in the debug, so I can't trap it. I also can't print it out each time because the error happens after a million or so calls to this line of code. Until I get more guidance, I don't know how to reduce the data printed. If it turns out that the error is only triggered by a NaN, an Inf, or something else testable, then maybe I will be able to set up a test and catch it in the release version. If I can, I can print out all related variables and have some chance of figuring out what is going on. Mostly, I need to know what runtime error M17704 is, and what triggers it. That may be the clue needed to figure this thing out.


Sometimes it may be the difference in the Compiler Optimization under settings used in Debug and different in Release.

I see you've sent this to us at vf-support. That's best - I've assigned it to our math library expert.

I admit to being rather puzzled at this, since I have never seen a five-digit M error code before! Can you write out the hex values of the argument to COSD just before the COSD (and does the error still occur?) It would be very useful to know what the argument value is. I have a vague suspicion it's a NaN or something like that. If you get that info, please reply to the vf-support acknowledgement and include the details.


Retired 12/31/2016

Leave a Comment

Please sign in to add a comment. Not a member? Join today