mopac icon indicating copy to clipboard operation
mopac copied to clipboard

Spin degeneracy splitting error in INDO test

Open yurivict opened this issue 3 months ago • 1 comments

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

yurivict avatar Oct 31 '25 09:10 yurivict

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.

godotalgorithm avatar Oct 31 '25 15:10 godotalgorithm