bugGNU Octave - Bugs: bug #59334, [octave forge] (interval) Failing...

 
 

bug #59334: [octave forge] (interval) Failing BISTs with Octave 6.0.92

Submitter:  Markus Mützel <mmuetzel>
Submitted:  Sat 24 Oct 2020 05:19:14 PM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  None
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * other Operating System:  * Microsoft Windows
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Sun 23 Jan 2022 04:01:30 PM UTC, comment #8: 

Thanks. Closing as fixed.

Markus Mützel <mmuetzel>
Group administrator
Sat 22 Jan 2022 09:50:05 PM UTC, comment #7: 

Markus, thank you very much for this hint. I have made the operators hug their variables and fixed other incompatibilities with Octave 7.

It remains an error in the interpreter, which has been filed under bug #61898.

I plan to do a bugfix release of the interval package within the next week.

This bug report may be closed.

Oliver Heimlich <oheim>
Fri 14 Jan 2022 06:43:05 AM UTC, comment #6: 

Some improvements have been made for compatibility with Matlab's command syntax. As a side effect `a --;` will be interpreted as a command now (corresponding to a function call `a ('--');`). `a--;` will still work as a decrement operator.
See also this note in the NEWS file:

> - The increment and decrement operators `++` and `--` must "hug" their
> corresponding variables.  In previous versions of Octave, whitespaces
> between these operators and the variable they affect were allowed.  That
> is no longer the case.

Markus Mützel <mmuetzel>
Group administrator
Thu 13 Jan 2022 10:30:12 PM UTC, comment #5: 

You are right. I have looked it up in the source code: The function name lookup for @class folders has been changed in Octave 5.

Thank you very much for the updated test log.

There are some syntax errors. Is the increment and decrement operator no longer supported?

parse error near line 91 of file C:\Program Files\GNU Octave\Octave-7.0.90\mingw64\share\octave\packages\interval-3.2.0\@infsup\mpower.m

  y: invalid use of symbol as both variable and command

>>>         y --;



Also I can see a lot of failures where the functions produce wrong results. I will try to reproduce and analyze these on my own computer...

Oliver Heimlich <oheim>
Tue 11 Jan 2022 11:41:06 AM UTC, comment #4: 

I tested with a few versions of Octave on Windows. It looks like the behavior of `nargin` changed for Octave 5.
In Octave 4.4.1 and prior versions I checked:

>> pkg load interval

>> nargin('@infsup/inf')

error: nargin: invalid function name: @infsup/inf
>> nargin('@infsup\inf')

ans =  1


In Octave 5.2.0 and later versions I checked:

>> pkg load interval

>> nargin('@infsup/inf')

ans =  1
>> nargin('@infsup\inf')

error: nargin: invalid function name: @infsup\inf


It looks like the issue in `@infsup/fzero.m` has been fixed in the meantime(?). In Octave 6.4.0 on Windows, I see:

>> pkg load interval

>> test @infsup/fzero.m
PASSES 1 out of 1 test


With Octave 7.0.90 (RC 1), I see many failing tests. (Haven't looked in detail). The log is attached.


(file #52641)

Markus Mützel <mmuetzel>
Group administrator
Mon 10 Jan 2022 11:44:24 PM UTC, comment #3: 

The patch from MXE Octave has been applied in the repository upstream.  I believe that it will break the package in old versions of Octave on Windows.  I know that `nargin` had to be called with the backslash in Octave 4.0, otherwise it didn't work.
 However, I don't have the possibility to test on Windows and to find out since exactly when `nargin` supports the forward slash syntax.

Regarding `argn` the call to the function is no longer required in newer versions of Octave and has been disabled. It will be fixed with the next bugfix release as well.

The test log also shows a regression with `optimget`:

````

>>>>> processing C:\Program Files\GNU Octave\Octave-6.0.92\mingw64\share\octave\packages\interval-3.2.0\@infsup\fzero.m

*** test "from the documentation string";
 f = @(x) cos (x);
 df = @(x) -sin (x);
 zeros = fzero (f, infsup ("[-10, 10]"), df);
 assert (all (subset (pi * (-2.5:1:2.5)', zeros)));
 assert (max (rad (zeros)) < 8 * eps);
 sqr = @(x) x .^ 2;
 zeros = fzero (sqr, infsup ("[Entire]"));
 assert (all (subset (0, zeros)));
 assert (max (rad (zeros)) < eps);
!!!!! test failed
Invalid call to optimget.  Correct usage is:

 -- optimget (OPTIONS, PARNAME)
 -- optimget (OPTIONS, PARNAME, DEFAULT)
````

Do you know if this has already been fixed elsewhere?

Oliver Heimlich <oheim>
Sun 14 Mar 2021 09:05:29 AM UTC, comment #2: 

Since this mostly affects users on Windows, I added the patch to MXE Octave here:
https://hg.octave.org/mxe-octave/rev/cb0e76203335

That patch can be removed when this is fixed upstream in the interval package and a new release is made.

Markus Mützel <mmuetzel>
Group administrator
Mon 21 Dec 2020 08:06:42 AM UTC, comment #1: 

I re-ran `pkg test interval` with a recent build from the stable branch (hg id 370b5ded5e6a) on Windows 10.
The number of failing tests is now down to 34:

>> pkg test interval
...
Summary:

  PASS                             2356
  FAIL                               34


I'm attaching the log file from that run.

Most of these seem to fail with an error similar to this one:

nargin: invalid function name: @infsup\inf


It looks like the input argument of `nargin` might contain a forward slash. But it doesn't work with back slashes:

>> pkg load interval
>> nargin('@infsup/inf')
ans =  1
>> nargin('@infsup\inf')
error: nargin: invalid function name: @infsup\inf


The error is the same in previous versions of Octave. So it doesn't look like a regression.

This looks like it might be easy to fix. Please, see the attached changeset.


The last test that is failing after that change is this one:

>> test @infsup\display.m
***** test
 if (compare_versions (OCTAVE_VERSION, "4.2", ">="))
   assert (evalc ("display (infsup ())"), "[Empty]\n\n");
   assert (evalc ("display (infsupdec ())"), "[Empty]_trv\n\n");
 endif
!!!!! test failed
'argn' undefined near line 80, column 80


The automatic variable `argn` was removed in Octave 6. See e.g. bug #59342 for possible alternatives.


(file #50536)

Markus Mützel <mmuetzel>
Group administrator
Sat 24 Oct 2020 05:19:14 PM UTC, original submission:  

When running the BISTs of interval 3.2.0 with Octave 6.0.92 on Windows 10, some tests fail:

>> pkg test interval
...
Summary:

  PASS                             2350
  FAIL                               40


I'm attaching the log file of the tests.

CC'ing Oliver Heimlich as the package maintainer.

I haven't looked at the test results in detail. So it might be something that should be adapted in the package for the new version of Octave. Or it might be a regression in Octave. Or it might be both...

Markus Mützel <mmuetzel>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #52641:  fntests-interval-7.0.90.log added by mmuetzel (130KiB - application/octet-stream)
file #50536:  bug59334_subsref.patch added by mmuetzel (2KiB - text/plain)
file #50089:  fntests_interval.log added by mmuetzel (48KiB - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by oheim (Posted a comment)
  • -email is unavailable- added by mmuetzel (Submitted the item)
  • -email is unavailable- added by mmuetzel
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2022-01-23 mmuetzel StatusNone Fixed
        Open/ClosedOpen Closed
    2022-01-11 mmuetzel Attached File- Added fntests-interval-7.0.90.log, #52641
    2020-12-21 mmuetzel Attached File- Added bug59334_subsref.patch, #50536
    2020-10-24 mmuetzel Attached File- Added fntests_interval.log, #50089
        Carbon-Copy- Added oheim

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code