[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bugs blocking the 6.1 release
From: |
Markus Mützel |
Subject: |
Re: Bugs blocking the 6.1 release |
Date: |
Thu, 14 May 2020 21:24:02 +0200 |
Am 13. Mai 2020 um 20:18 Uhr schrieb "John W. Eaton":
> We have three bugs tagged as blockers for the 6.1 release:
>
> * GUI hangs on use of uiputfile
> https://savannah.gnu.org/bugs/index.php?52840
> (Apparently MacOS only?
>
> * Segmentation faults with clang when running the test suite
> https://savannah.gnu.org/bugs/index.php?57591
> (Intermittent failure that happens only with Clang?)
>
> * handles to private functions may fail after "clear functions"
> https://savannah.gnu.org/bugs/index.php?57439
> (Also revealed many function handle issues.)
>
> I'm not sure what to do about the first two but I've been working on
> function handle issues related to the third one. I have a series of
> pending changes that you can see here:
>
> https://hg.octave.org/octave-jwe
I built from your repository and see 4 failing tests. All seem to be related to
loading binary files:
>>>>> processing
>>>>> /home/osboxes/Documents/Repositories/Octave/octave-jwe/scripts/plot/util/hgload.m
***** test
unwind_protect
h1 = figure ("visible", "off");
col = get (h1, "color");
ftmp = [tempname() ".ofig"];
hgsave (h1, ftmp);
close (h1);
[h2, old] = hgload (ftmp);
assert (old, {[]});
[h3, old] = hgload (ftmp, struct ("color", [1 0 0]));
assert (get (h3, "color"), [1 0 0]);
assert (iscell (old) && numel (old) == 1);
assert (isstruct (old{1}) && isfield (old{1}, "color"));
assert (old{1}.color, col);
unwind_protect_cleanup
unlink (ftmp);
try, close (h1); end_try_catch
try, close (h2); end_try_catch
try, close (h3); end_try_catch
end_unwind_protect
!!!!! test failed
load: trouble reading binary file ''
>>>>> processing
>>>>> /home/osboxes/Documents/Repositories/Octave/octave-jwe/scripts/plot/util/openfig.m
***** test
unwind_protect
h1 = figure ("visible", "off");
ftmp = [tempname() ".ofig"];
hgsave (h1, ftmp);
close (h1);
h2 = openfig (ftmp, "new", "invisible");
h3 = openfig (ftmp, "reuse");
assert (h2 == h3);
close (h2);
unwind_protect_cleanup
unlink (ftmp);
try, close (h1); end_try_catch
try, close (h2); end_try_catch
try, close (h3); end_try_catch
end_unwind_protect
!!!!! test failed
load: trouble reading binary file ''
>>>>> processing
>>>>> /home/osboxes/Documents/Repositories/Octave/octave-jwe/.build/libinterp/octave-value/ov-fcn-handle.cc-tst
***** test <*33857>
a = 2;
f = @(x) a + x;
g = @(x) 2 * x;
hm = @version;
hdld = @svd;
hbi = @log2;
f2 = f;
g2 = g;
hm2 = hm;
hdld2 = hdld;
hbi2 = hbi;
modes = {"-text", "-binary"};
if (isfield (__octave_config_info__, "HAVE_HDF5")
&& __octave_config_info__ ("HAVE_HDF5"))
modes(end+1) = "-hdf5";
endif
for i = 1:numel (modes)
mode = modes{i};
nm = tempname ();
unwind_protect
f2 (1);
save (mode, nm, "f2", "g2", "hm2", "hdld2", "hbi2");
clear f2 g2 hm2 hdld2 hbi2
load (nm);
assert (f (2), f2 (2));
assert (g (2), g2 (2));
assert (g (3), g2 (3));
unlink (nm);
save (mode, nm, "f2", "g2", "hm2", "hdld2", "hbi2");
unwind_protect_cleanup
unlink (nm);
end_unwind_protect
endfor
!!!!! regression: https://octave.org/testfailure/?33857
load: trouble reading binary file '/tmp/oct-mmPcCN'
***** test <*35876>
a = 2;
f = @(x) a + x;
g = @(x) 2 * x;
hm = @version;
hdld = @svd;
hbi = @log2;
f2 = f;
g2 = g;
hm2 = hm;
hdld2 = hdld;
hbi2 = hbi;
modes = {"-text", "-binary"};
if (isfield (__octave_config_info__, "HAVE_HDF5")
&& __octave_config_info__ ("HAVE_HDF5"))
modes(end+1) = "-hdf5";
endif
for i = 1:numel (modes)
mode = modes{i};
nm = tempname ();
unwind_protect
fcn_handle_save_recurse (2, mode, nm, f2, g2, hm2, hdld2, hbi2);
clear f2 g2 hm2 hdld2 hbi2
[f2, f2, hm2, hdld2, hbi2] = fcn_handle_load_recurse (2, nm);
load (nm);
assert (f (2), f2 (2));
assert (g (2), g2 (2));
assert (g (3), g2 (3));
unlink (nm);
fcn_handle_save_recurse (2, mode, nm, f2, g2, hm2, hdld2, hbi2);
unwind_protect_cleanup
unlink (nm);
end_unwind_protect
endfor
!!!!! regression: https://octave.org/testfailure/?35876
load: trouble reading binary file '/tmp/oct-2qXYGZ'
I'll try and cross-compile for Windows next. I'll report if I should run into
any issues or better if it fixes the performance issue.
> Another change that will eventually be needed is to modify function
> handles to hold a weak_ptr reference to the actual function object.
> That way, handles that are used after functions are cleared can noticed
> that the function was cleared an properly attempt to reload them.
> Ultimately, this change is the one that will correctly fix the bug that
> motivated all of these other changes(!). But until that is done, at
> least Octave won't fail and the performance issue that Philip noticed on
> Windows systems will be minimized.
>
> I've been working on stable with the idea that these changes could be
> applied to stable and included in the release. I know that this is a
> big set of changes to push at the last minute, but it seems best to me
> to make handles to nested functions actually work properly since that
> was one of the big changes that was supposed to happen in version 6.
I get your point that this is quite a large set of changes shortly before a
release. But the performance on Windows - especially if Octave is installed on
a HDD - is appalling at the moment.
So if this is necessary to get the interpreter to a state in which it is
possible to actually work with it, I wouldn't mind to delay the release another
few weeks (or whatever is necessary).
Markus
- Bugs blocking the 6.1 release, John W. Eaton, 2020/05/13
- Re: Bugs blocking the 6.1 release, Dmitri A. Sergatskov, 2020/05/13
- Re: Bugs blocking the 6.1 release,
Markus Mützel <=
- Re: Bugs blocking the 6.1 release, Markus Mützel, 2020/05/14
- Re: Bugs blocking the 6.1 release, John W. Eaton, 2020/05/14
- Re: Bugs blocking the 6.1 release, John W. Eaton, 2020/05/14
- Re: Bugs blocking the 6.1 release, Markus Mützel, 2020/05/16
- Re: Bugs blocking the 6.1 release, John W. Eaton, 2020/05/16
- Re: Bugs blocking the 6.1 release, Markus Mützel, 2020/05/16
- Re: Bugs blocking the 6.1 release, Markus Mützel, 2020/05/22
- Re: Bugs blocking the 6.1 release, Markus Mützel, 2020/05/23
Re: Bugs blocking the 6.1 release, Daniel J Sebald, 2020/05/15