Spin degeneracy splitting error in INDO test
Describe the bug
57/125 Testing: no_mrci
57/125 Test: no_mrci
Command: "/usr/local/bin/python3.11" "/usr/ports/science/mopac/work/mopac-23.2.2/tests/run_test.py" "/usr/ports/science/mopac/work/mopac-23.2.2/tests/INDO-dev" "/usr/ports/science/mopac/work/.build/mopac" "0.01" "no_mrci.mop"
Directory: /usr/ports/science/mopac/work/.build/tests/INDO-dev
"no_mrci" start time: Oct 31 01:52 PDT
Output:
----------------------------------------------------------
Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG IEEE_OVERFLOW_FLAG IEEE_UNDERFLOW_FLAG IEEE_DENORMAL
STOP spin in SPCLAS
Traceback (most recent call last):
File "/usr/ports/science/mopac/work/mopac-23.2.2/tests/run_test.py", line 33, in <module>
compare_mopac_out_file(out_line, out_list, ref_line, ref_list, float(argv[3]))
File "/usr/ports/science/mopac/work/mopac-23.2.2/tests/compare_output.py", line 224, in compare_mopac_out_file
assert len(ref_list) == len(out_list), f'ERROR: output file size mismatch, {len(ref_list)} vs. {len(out_list)}'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: ERROR: output file size mismatch, 316 vs. 125
<end of output>
Test time = 0.14 sec
----------------------------------------------------------
Test Failed.
"no_mrci" end time: Oct 31 01:52 PDT
"no_mrci" time elapsed: 00:00:00
----------------------------------------------------------
To Reproduce build+test
Expected behavior n/a
Operating system FreeBSD 15 STABLE
Additional context n/a
This test failure is safe to ignore for now, and in the next release I'll try to improve the numerical stability of the feature being tested so that this doesn't trigger again in the future.
This appears to be a rare numerical edge case likely being caused by very small changes in the compiled program (e.g. order of operations, floating-point rounding). In the current implementation, numerical problems in that feature are unlikely (this is the first reported problem and that feature and test have been unchanged in MOPAC for about 4 years without incident), and I'll try to make adjustments so that they are even more unlikely and hopefully impossible.