Launchpad has imported 13 comments from the remote bug at
http://bugzilla.scilab.org/show_bug.cgi?id=15394.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2018-01-31T09:03:10+00:00 Scilab-a wrote:

BUG DESCRIPTION:
----------------
Not able to save or load a variable

ERROR LOG:
----------
HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 140383204820864:
  #000: ../../../src/H5G.c line 553 in H5Gget_info(): invalid argument
    major: Invalid arguments to routine
    minor: Bad value
HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 140383204820864:
  #000: ../../../src/H5D.c line 121 in H5Dcreate2(): not a location ID
    major: Invalid arguments to routine
    minor: Inappropriate type
  #001: ../../../src/H5Gloc.c line 253 in H5G_loc(): invalid object ID
    major: Invalid arguments to routine
    minor: Bad value
HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 140383204820864:
  #000: ../../../src/H5F.c line 749 in H5Fclose(): not a file ID
    major: Invalid arguments to routine
    minor: Inappropriate type
failed to close file


HOW TO REPRODUCE THE BUG:
-------------------------
 - install a brand new debian testing
 - install scilab 6.0.0 package and dependencies
 - create any variable (e.g. "stack")
 - save it with:
         save("stack.sod","stack")

OTHER INFORMATION:
------------------
Scilab also fails to load the ATOMS manager, and it seems to be bound to that 
problem.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/scilab/+bug/1765503/comments/0

------------------------------------------------------------------------
On 2018-08-27T16:41:17+00:00 Sgougeon wrote:

*** Bug 15738 has been marked as a duplicate of this bug. ***

Reply at:
https://bugs.launchpad.net/ubuntu/+source/scilab/+bug/1765503/comments/8

------------------------------------------------------------------------
On 2018-08-28T14:25:50+00:00 Antoine-monmayrant-scilab wrote:

I confirm that this bug is also present under Ubuntu 18.04 64bits.

Antoine

Reply at:
https://bugs.launchpad.net/ubuntu/+source/scilab/+bug/1765503/comments/9

------------------------------------------------------------------------
On 2018-08-28T15:36:04+00:00 Sgougeon wrote:

Antoine, could you please confirm here that this bug is now fixed on the 
6.0-branch and on the master one, for this OS, as you did on users@?
Thanks

Reply at:
https://bugs.launchpad.net/ubuntu/+source/scilab/+bug/1765503/comments/10

------------------------------------------------------------------------
On 2018-08-28T15:39:30+00:00 Sgougeon wrote:

PhiRG, 
Could you please try on Debian with the nightly build: 
http://www.scilab.org/en/development/nightly_builds/branch60
Thanks

Reply at:
https://bugs.launchpad.net/ubuntu/+source/scilab/+bug/1765503/comments/11

------------------------------------------------------------------------
On 2018-08-28T15:45:52+00:00 Antoine-monmayrant-scilab wrote:

This bug is resolved scilab-branch-6.0-1534494461 and scilab-
master-1534776009, at least for Ubuntu 18.04 64bits.

Antoine

Reply at:
https://bugs.launchpad.net/ubuntu/+source/scilab/+bug/1765503/comments/12

------------------------------------------------------------------------
On 2018-08-30T09:18:38+00:00 Scilab-a wrote:

Hello Samuel,

Well done, it works with scilab-branch-6.0-1534494461 now.

The atoms manager opens too now.

Thank you very much for your work!

Philippe

Reply at:
https://bugs.launchpad.net/ubuntu/+source/scilab/+bug/1765503/comments/13

------------------------------------------------------------------------
On 2019-04-08T16:55:42+00:00 Stephane-mottelet wrote:

There are plenty of users who install distribution packages believing
they are "official" packages that still fail with the same problem. We
cannot always say them to install the .tar.gz

Reply at:
https://bugs.launchpad.net/ubuntu/+source/scilab/+bug/1765503/comments/17

------------------------------------------------------------------------
On 2019-04-08T18:37:59+00:00 Sgougeon wrote:

@Stéphane: I don't understand your rationale for reopening this report.
Do you mean that there are some distributions packaging the official Scilab 
6.0.2, with which the reported problem still occur?

Reply at:
https://bugs.launchpad.net/ubuntu/+source/scilab/+bug/1765503/comments/18

------------------------------------------------------------------------
On 2019-04-08T19:02:42+00:00 Stephane-mottelet wrote:

Currently, no mainstream dist (Ubuntu, Fedora, ...) packaged Scilab
6.0.2 because the packaged 6.0.1 version does not work already. Just try
the following pair of keywords on Google:

Scilab Ubuntu
Scilab Fedora
...

In fact, Scilab 6.0.2 and the master can be built w.r.t hdf5 1.10.n, but at 
runtime the problem of bug #15394 still occurs.
The only version that is supported in Scilab is hdf5 1.8. The problem is that 
in recent distributions, the matio lib is too recent and absolutely needs hdf5 
1.10.n (I have this problem also in OSX when I use brew as a packaging system).

The problem is that package maintainers are not informed of this strict
dependency :-(

Reply at:
https://bugs.launchpad.net/ubuntu/+source/scilab/+bug/1765503/comments/19

------------------------------------------------------------------------
On 2019-04-09T07:41:32+00:00 Clement-david-h wrote:

(In reply to Stéphane MOTTELET from comment #9)
> Currently, no mainstream dist (Ubuntu, Fedora, ...) packaged Scilab 6.0.2 
> because the packaged 6.0.1 version does not work already. Just try the
> following pair of keywords on Google:
> 
> Scilab Ubuntu
> Scilab Fedora
> ...

Google is not always up to date :) ; "6.0.1" was mostly reported as
buggy due to its startup and search results are also cluttered by it.
Scilab 6.0.2 is available as a Fedora package and atomsSystemUpdate
works (I just checked) cause Fedora did not update to hdf5 1.10 yet.

Mixing packaging issues with upstream bugs seems a bad idea to me, it
will make us responsible for packaging Scilab in systems that are free
to update/patch/deprecates/etc... If a distribution package wished to
upgrade to hdf5 1.10 for some reason, that's ok but when issues arise we
could only try to help them fix things on their side and work together
to find the root cause (is it hdf5, is it Scilab, is it some obscure
compilation mismatch)

> In fact, Scilab 6.0.2 and the master can be built w.r.t hdf5 1.10.n, but at 
> runtime the problem of bug #15394 still occurs.
> The only version that is supported in Scilab is hdf5 1.8. The problem is that 
> in recent distributions, the matio lib is too recent and absolutely
> needs hdf5 1.10.n (I have this problem also in OSX when I use brew as a 
> packaging system).

And that's the whole point, hdf5 1.10 seems to have an issue at runtime
and matio started to require it. I clarified the summary and let's work
on that :)

Reply at:
https://bugs.launchpad.net/ubuntu/+source/scilab/+bug/1765503/comments/20

------------------------------------------------------------------------
On 2019-08-06T14:06:15+00:00 N-strelkov wrote:


# Intro

The text below is not related to official binary builds of Scilab (6.0.2 and 
latest from 
https://build.scilab.org/view/Scilab%20master/job/scilab-master-linux-64/ ). 
They are not affected by the problem as they continue to use HDF 1.8.14 (see 
`lib/thirdparty/libhdf5.settings` for confirmation).

# Problem

The rpm- and deb- packages in GNU/Linux distributions have broken `save`
and `load` functionality.

Currently many Linux distributions switched to HDF 1.10.x branch:

| Distibution         | Scilab | HDF5   | `save`/ `load`           |
| ------------------- | ------ | ------ | ------------------------ |
| Debian 10 Buster    | 6.0.1  | 1.10.4 | !!! bug !!!              |
| Ubuntu 18.04 LTS    | 6.0.1  | 1.10.0 | !!! bug !!! (LP#1765503) |
| Ubuntu 19.04        | 6.0.2  | 1.10.4 | !!! bug !!! (LP#1765503) |
| Fedora RawHide      | 6.0.2  | 1.10.5 | !!! bug !!!              |
| Mageia 7            | 6.0.2  | 1.10.5 | !!! bug !!!              |
| OpenSuSe Leap 15.1  | 6.0.2  | 1.10.4 | !!! bug !!!              |
| OpenSuSe Tumbleweed | 6.0.2  | 1.10.4 | !!! bug !!!              |

You can see Scilab packaged version in distributions on Repology -
https://repology.org/project/scilab/packages .

Below is a text output of `test_run('hdf5')` from Ubuntu 18.04.2 LTS
without Details section as example:

```
--> test_run('hdf5') 
   TMPDIR = /tmp/SCI_TMP_213_5dIgF3

 Module  001/001 - [hdf5] :

   001/046 - [hdf5] binary_bit-for-bit..........................failed: Slave 
Scilab exited with error code 1 
   002/046 - [hdf5] h5attr......................................failed: Slave 
Scilab exited with error code 1 
   003/046 - [hdf5] h5close.....................................failed: Slave 
Scilab exited with error code 1 
   004/046 - [hdf5] h5cp........................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   005/046 - [hdf5] h5dataset...................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   006/046 - [hdf5] h5exists....................................failed: Slave 
Scilab exited with error code 1 
   007/046 - [hdf5] h5flush.....................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   008/046 - [hdf5] h5group.....................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   009/046 - [hdf5] h5isAttr....................................failed: Slave 
Scilab exited with error code 1 
   010/046 - [hdf5] h5isFile....................................failed: Slave 
Scilab exited with error code 1 
   011/046 - [hdf5] h5isGroup...................................failed: Slave 
Scilab exited with error code 1 
   012/046 - [hdf5] h5isRef.....................................failed: Slave 
Scilab exited with error code 1 
   013/046 - [hdf5] h5isSet.....................................failed: Slave 
Scilab exited with error code 1 
   014/046 - [hdf5] h5isSpace...................................failed: Slave 
Scilab exited with error code 1 
   015/046 - [hdf5] h5isType....................................failed: Slave 
Scilab exited with error code 1 
   016/046 - [hdf5] h5label.....................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   017/046 - [hdf5] h5ln........................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   018/046 - [hdf5] h5ls........................................failed: Slave 
Scilab exited with error code 1 
   019/046 - [hdf5] h5mount.....................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   020/046 - [hdf5] h5mv........................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   021/046 - [hdf5] h5open......................................failed: Slave 
Scilab exited with error code 1 
   022/046 - [hdf5] h5read......................................failed: Slave 
Scilab exited with error code 1 
   023/046 - [hdf5] h5readattr..................................failed: Slave 
Scilab exited with error code 1 
   024/046 - [hdf5] h5rm........................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   025/046 - [hdf5] h5umount....................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   026/046 - [hdf5] h5write.....................................failed: Slave 
Scilab exited with error code 1 
   027/046 - [hdf5] loadhdf5data................................failed: Slave 
Scilab exited with error code 1 
   028/046 - [hdf5] loadhdf5data_v1.............................failed: Slave 
Scilab exited with error code 1 
   029/046 - [hdf5] saveloadHdf5................................failed: Slave 
Scilab exited with error code 1 
   030/046 - [hdf5] bug_11954...................................failed: Slave 
Scilab exited with error code 1 
   031/046 - [hdf5] bug_12285...................................failed: Slave 
Scilab exited with error code 1 
   032/046 - [hdf5] bug_13689...................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   033/046 - [hdf5] bug_13941...................................failed: Slave 
Scilab exited with error code 1 
   034/046 - [hdf5] bug_14149...................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   035/046 - [hdf5] bug_14446...................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   036/046 - [hdf5] bug_14775...................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   037/046 - [hdf5] bug_14886...................................failed: Slave 
Scilab exited with error code 1 
   038/046 - [hdf5] bug_15188...................................failed: Slave 
Scilab exited with error code 1 
   039/046 - [hdf5] bug_15302...................................failed: Slave 
Scilab exited with error code 1 
   040/046 - [hdf5] bug_5629....................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   041/046 - [hdf5] bug_6440....................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   042/046 - [hdf5] bug_7224....................................failed: Slave 
Scilab exited with error code 1 
   043/046 - [hdf5] bug_8170....................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   044/046 - [hdf5] bug_8383....................................failed: Slave 
Scilab exited with error code 1 
   045/046 - [hdf5] bug_9510....................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   046/046 - [hdf5] matrix_as_input.............................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 


   --------------------------------------------------------------------------
   Summary

   tests             46 - 100 %
   passed             0 -   0 %
   failed            46 - 100 %
   skipped            0
   length             14.40 sec
   --------------------------------------------------------------------------
...
```

You can see how worse is the situation.

The simple test with *loading* of existing file with variables produces
the output below:

```
--> unix('file x.dat'); 
x.dat: Hierarchical Data Format (version 5) data
--> load('x.dat')
HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 140409678010240:
  #000: ../../../src/H5F.c line 749 in H5Fclose(): not a file ID
    major: Invalid arguments to routine
    minor: Inappropriate type
failed to close fileHDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 
140409678010240:
  #000: ../../../src/H5G.c line 553 in H5Gget_info(): invalid argument
    major: Invalid arguments to routine
    minor: Bad value
HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 140409678010240:
  #000: ../../../src/H5F.c line 749 in H5Fclose(): not a file ID
    major: Invalid arguments to routine
    minor: Inappropriate type
failed to close file
--> 

```

The simple test with *saving* file with variables produces the output
below:

```
--> y=100; 
 
--> save('y.dat','y') 
HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 140409678010240:
  #000: ../../../src/H5G.c line 553 in H5Gget_info(): invalid argument
    major: Invalid arguments to routine
    minor: Bad value
HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 140409678010240:
  #000: ../../../src/H5D.c line 121 in H5Dcreate2(): not a location ID
    major: Invalid arguments to routine
    minor: Inappropriate type
  #001: ../../../src/H5Gloc.c line 253 in H5G_loc(): invalid object ID
    major: Invalid arguments to routine
    minor: Bad value
HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 140409678010240:
  #000: ../../../src/H5F.c line 749 in H5Fclose(): not a file ID
    major: Invalid arguments to routine
    minor: Inappropriate type
failed to close file
save: Unable to export variable 'y' in file 'y.dat'.
```

And as a side-effect we can see that `atomsSystemUpdate()` is broken too
(really caused by broken `save()`):

```
--> atomsSystemUpdate
Scanning repository http://atoms.scilab.org/6.0 ... Done

HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 140626028816256:
  #000: ../../../src/H5G.c line 553 in H5Gget_info(): invalid argument
    major: Invalid arguments to routine
    minor: Bad value
HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 140626028816256:
  #000: ../../../src/H5G.c line 301 in H5Gcreate2(): not a location
    major: Invalid arguments to routine
    minor: Inappropriate type
  #001: ../../../src/H5Gloc.c line 253 in H5G_loc(): invalid object ID
    major: Invalid arguments to routine
    minor: Bad value
HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 140626028816256:
  #000: ../../../src/H5A.c line 265 in H5Acreate2(): not a location
    major: Invalid arguments to routine
    minor: Inappropriate type
  #001: ../../../src/H5Gloc.c line 253 in H5G_loc(): invalid object ID
    major: Invalid arguments to routine
    minor: Bad value
HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 140626028816256:
  #000: ../../../src/H5D.c line 121 in H5Dcreate2(): not a location ID
    major: Invalid arguments to routine
    minor: Inappropriate type
  #001: ../../../src/H5Gloc.c line 253 in H5G_loc(): invalid object ID
    major: Invalid arguments to routine
    minor: Bad value
HDF5-DIAG: Error detected in HDF5 (1.10.0-patch1) thread 140626028816256:
  #000: ../../../src/H5F.c line 749 in H5Fclose(): not a file ID
    major: Invalid arguments to routine
    minor: Inappropriate type
failed to close fileat line   265 of function atomsDESCRIPTIONget ( 
/usr/share/scilab/modules/atoms/macros/atoms_internals/atomsDESCRIPTIONget.sci 
line 284 )
at line    16 of function atomsSystemUpdate   ( 
/usr/share/scilab/modules/atoms/macros/atomsSystemUpdate.sci line 33 )

atomsDESCRIPTIONget: save ('/usr/share/scilab//.atoms/packages') has failed.
--> 

```

# Brief analysis

I believe that root cause of the problem is change of `hid_t` datatype
in HDF library.

It is not an `int` anymore, it is `int64_t`.
But the scilab source code have many places with hardcoded `int`. 
See for example `openHDF5File` - 
http://cgit.scilab.org/scilab/tree/scilab/modules/hdf5/src/c/h5_fileManagement.c
 which calls `H5Fopen`:

```
int openHDF5File(const char *name, int _iAppendMode)
{
    hid_t           file;
...

    file = H5Fopen(filename, H5F_ACC_RDONLY, H5P_DEFAULT);
...
    return file;
}
```

that is incorrect truncation of long integer.
The same is related to Datasets and Groups - they are also `hid_t` (not `int`).

# Conclusion

I tried to patch this way locally, but it is difficult. I do not
understand the whole `module/hdf5` structure. So I do not get success.

Please take this comment into account seriously. Other users and I can't 
imagine Scilab usage without `save`, `load` and ATOMS...
Using deb- and rpm-packages is more convenient than binary distribution, so bug 
should be fixed with joint efforts of Scilab Team (upstream for distributions) 
and maintainers.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/scilab/+bug/1765503/comments/34

------------------------------------------------------------------------
On 2019-08-07T22:54:25+00:00 N-strelkov wrote:

Created attachment 4992
Patches for Ubuntu (18.04 LTS and 19.04) and master branch

# Intro

I have analyzed the source code of the `modules/hdf5` folder.
I have used KDevelop IDE for doing so. 
It has full feature *Semantic code* analyzer ( 
https://www.kdevelop.org/screenshots/c-semantic-information-tooltip ).
Without KDevelop you can detect problems with datatypes after adding 
`-Wconversion`
to the CFGLAGS and CXXFLAGS variables inside `modules/hdf5/Makefile`.

Usually the warning messages from GCC look like:

```
src/c/h5_writeDataToFile.c: In function 'writeStringMatrix':
src/c/h5_writeDataToFile.c:296:27: warning: conversion to 'int' from 'hid_t 
{aka long int}' may alter its value [-Wconversion]
     status = addAttribute(dset, g_SCILAB_CLASS, g_SCILAB_CLASS_STRING);
                           ^~~~
...
src/c/h5_fileManagement.c: In function 'openHDF5File':
src/c/h5_fileManagement.c:161:12: warning: conversion to 'int' from 'hid_t {aka 
long int}' may alter its value [-Wconversion]
     return file;
            ^~~~
...
src/c/h5_fileManagement.c: In function 'createHDF5File':
src/c/h5_fileManagement.c:101:12: warning: conversion to 'int' from 'hid_t {aka 
long int}' may alter its value [-Wconversion]
     return file;
            ^~~~
sci_gateway/cpp/sci_hdf5_listvar_v3.cpp: In function 'bool read_struct(int, 
VarInfo6&)':
sci_gateway/cpp/sci_hdf5_listvar_v3.cpp:738:42: warning: conversion to 'int' 
from 'hid_t {aka long int}' may alter its value [-Wconversion]
                 int data = H5Rdereference(refs,
```

and so on.

# Patching

I attach 3 patches to fix HDF-related problems in Ubuntu (18.04 LTS and
19.04) and in master branch.

## Ubuntu 18.04 LTS

Applying patch is as follows:

```
sudo apt-get build-dep scilab
cd ~/Downloads
apt-get source scilab
cd scilab-6.0.1
dpkg-builpackage -b -j$(nproc) # build to see current state
cd modules/hdf5
patch -p1 < ~/Downloads/scilab-6.0.1-ubuntu-bionic.patch
cd ../..
dpkg-builpackage -b -j$(nproc) # build to see changes
```

As the patch is applied then we can test patched Scilab.
The results from `test_run('hdf5')` are the following:

```
-->test_run('hdf5')
   TMPDIR = /tmp/SCI_TMP_2556_AWXxWF

 Module  001/001 - [hdf5] :

   001/046 - [hdf5] binary_bit-for-bit..........................passed
   002/046 - [hdf5] h5attr......................................passed
   003/046 - [hdf5] h5close.....................................passed
   004/046 - [hdf5] h5cp........................................passed
   005/046 - [hdf5] h5dataset...................................passed
   006/046 - [hdf5] h5exists....................................passed
   007/046 - [hdf5] h5flush.....................................passed
   008/046 - [hdf5] h5group.....................................passed
   009/046 - [hdf5] h5isAttr....................................passed
   010/046 - [hdf5] h5isFile....................................passed
   011/046 - [hdf5] h5isGroup...................................passed
   012/046 - [hdf5] h5isRef.....................................passed
   013/046 - [hdf5] h5isSet.....................................passed
   014/046 - [hdf5] h5isSpace...................................passed
   015/046 - [hdf5] h5isType....................................passed
   016/046 - [hdf5] h5label.....................................passed
   017/046 - [hdf5] h5ln........................................passed
   018/046 - [hdf5] h5ls........................................passed
   019/046 - [hdf5] h5mount.....................................passed
   020/046 - [hdf5] h5mv........................................passed
   021/046 - [hdf5] h5open......................................passed
   022/046 - [hdf5] h5read......................................passed
   023/046 - [hdf5] h5readattr..................................passed
   024/046 - [hdf5] h5rm........................................passed
   025/046 - [hdf5] h5umount....................................passed
   026/046 - [hdf5] h5write.....................................passed
   027/046 - [hdf5] loadhdf5data................................passed
   028/046 - [hdf5] loadhdf5data_v1.............................passed
   029/046 - [hdf5] saveloadHdf5................................passed
   030/046 - [hdf5] bug_11954...................................passed
   031/046 - [hdf5] bug_12285...................................passed
   032/046 - [hdf5] bug_13689...................................passed
   033/046 - [hdf5] bug_13941...................................passed
   034/046 - [hdf5] bug_14149...................................passed
   035/046 - [hdf5] bug_14446...................................passed
   036/046 - [hdf5] bug_14775...................................passed
   037/046 - [hdf5] bug_14886...................................failed: Slave 
Scilab exited with error code 51 
   038/046 - [hdf5] bug_15188...................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   039/046 - [hdf5] bug_15302...................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   040/046 - [hdf5] bug_5629....................................passed
   041/046 - [hdf5] bug_6440....................................passed
   042/046 - [hdf5] bug_7224....................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   043/046 - [hdf5] bug_8170....................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   044/046 - [hdf5] bug_8383....................................passed
   045/046 - [hdf5] bug_9510....................................passed
   046/046 - [hdf5] matrix_as_input.............................passed


   --------------------------------------------------------------------------
   Summary

   tests             46 - 100 %
   passed            41 -  89 %
   failed             5 -  10 %
   skipped            0
   length             22.47 sec
   --------------------------------------------------------------------------
```

Note: in output above cases with `error_output not empty` are not critical, the
output really contain warnings on Scilab start, so all asserts were satisfied.

The ATOMS works - tested `atomsSystemUpdate`, `atomsShow` and
`atomsInstall`.

## Ubuntu 19.04

Applying patch is as follows:

```
sudo apt-get build-dep scilab
cd ~/Downloads
apt-get source scilab
cd scilab-6.0.2
dpkg-builpackage -b -j$(nproc) # build to see current state
cd modules/hdf5
patch -p1 < ~/Downloads/scilab-6.0.2-ubuntu-disco.patch
cd ../..
dpkg-builpackage -b -j$(nproc) # build to see changes
```

As the patch is applied then we can test patched Scilab.
The results from `test_run('hdf5')` are the following:

```
-->test_run('hdf5')
   TMPDIR = /tmp/SCI_TMP_6072_vVoEAx

 Module  001/001 - [hdf5] :

   001/052 - [hdf5] binary_bit-for-bit..........................passed
   002/052 - [hdf5] h5attr......................................passed
   003/052 - [hdf5] h5close.....................................passed
   004/052 - [hdf5] h5cp........................................passed
   005/052 - [hdf5] h5dataset...................................failed: Slave 
Scilab exited with error code 1 
   006/052 - [hdf5] h5exists....................................passed
   007/052 - [hdf5] h5flush.....................................passed
   008/052 - [hdf5] h5group.....................................passed
   009/052 - [hdf5] h5isAttr....................................passed
   010/052 - [hdf5] h5isFile....................................passed
   011/052 - [hdf5] h5isGroup...................................passed
   012/052 - [hdf5] h5isRef.....................................passed
   013/052 - [hdf5] h5isSet.....................................passed
   014/052 - [hdf5] h5isSpace...................................passed
   015/052 - [hdf5] h5isType....................................passed
   016/052 - [hdf5] h5label.....................................passed
   017/052 - [hdf5] h5ln........................................passed
   018/052 - [hdf5] h5ls........................................passed
   019/052 - [hdf5] h5mount.....................................failed: Slave 
Scilab exited with error code 1 
   020/052 - [hdf5] h5mv........................................passed
   021/052 - [hdf5] h5open......................................passed
   022/052 - [hdf5] h5read......................................passed
   023/052 - [hdf5] h5readattr..................................passed
   024/052 - [hdf5] h5rm........................................passed
   025/052 - [hdf5] h5umount....................................passed
   026/052 - [hdf5] h5write.....................................passed
   027/052 - [hdf5] loadhdf5data................................passed
   028/052 - [hdf5] loadhdf5data_v1.............................passed
   029/052 - [hdf5] saveloadHdf5................................passed
   030/052 - [hdf5] bug_11954...................................passed
   031/052 - [hdf5] bug_12285...................................passed
   032/052 - [hdf5] bug_13689...................................passed
   033/052 - [hdf5] bug_13941...................................passed
   034/052 - [hdf5] bug_14149...................................passed
   035/052 - [hdf5] bug_14446...................................passed
   036/052 - [hdf5] bug_14775...................................passed
   037/052 - [hdf5] bug_14886...................................failed: Slave 
Scilab exited with error code 51 
   038/052 - [hdf5] bug_15188...................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   039/052 - [hdf5] bug_15302...................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   040/052 - [hdf5] bug_15501...................................passed
   041/052 - [hdf5] bug_15502...................................passed
   042/052 - [hdf5] bug_15692...................................passed
   043/052 - [hdf5] bug_15693...................................passed
   044/052 - [hdf5] bug_15721...................................passed
   045/052 - [hdf5] bug_15809...................................passed
   046/052 - [hdf5] bug_5629....................................passed
   047/052 - [hdf5] bug_6440....................................passed
   048/052 - [hdf5] bug_7224....................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   049/052 - [hdf5] bug_8170....................................failed: 
error_output not empty 
                                                                 Use 
'no_check_error_output' option to disable this check. 
   050/052 - [hdf5] bug_8383....................................passed
   051/052 - [hdf5] bug_9510....................................passed
   052/052 - [hdf5] matrix_as_input.............................passed


   --------------------------------------------------------------------------
   Summary

   tests             52 - 100 %
   passed            45 -  86 %
   failed             7 -  13 %
   skipped            0
   length             19.30 sec
   --------------------------------------------------------------------------
```

Note: in output above cases with `error_output not empty` are not critical, the
output really contain warnings on Scilab start, so all asserts were satisfied.

The ATOMS works - tested `atomsSystemUpdate`, `atomsShow` and
`atomsInstall`.


## Master branch

```
git clone git://git.scilab.org/scilab scilab-master
cd scilab-master/scilab
patch -p1 -R < ~/Downloads/scilab-master-20190730.patch
```

This patch is untested, please apply it and test by yourself. 
I was stuck with `./configure` script - it does not find JOGL and Javah. Seems 
to need patching. 


# Conclusion

Patches provided here should be comprehensively tested. 
I can't give any warranty about their functionality. 
But I see that `test_run('hdf5')` have near 100% of passed tests.
And ATOMS work as expected after applying these patches.

I'm not too familiar with hdf5 integration into Scilab code.
I suspect that there maybe problems with figure handles. 
Many warnings are not fixed for `modules/hdf5/src/cpp/handle_properties.cpp`.
For example 

```
860:5: Implicit conversion loses integer precision: 'hid_t' (aka 'long') to 
'int' [-Wshorten-64-to-32]
```

but they can't be simply fixed because of deep dependencies from other
modules.

According to information from HDFGroup - the HDF5 1.8 will be end-of-life very 
soon ( https://www.hdfgroup.org/2018/06/release-of-hdf5-1-8-21-newsletter-161/ 
).
So these patches will become actual in very near future after improvement.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/scilab/+bug/1765503/comments/35


** Changed in: scilab
       Status: Unknown => Confirmed

** Changed in: scilab
   Importance: Unknown => High

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1765503

Title:
  scilab: save, open and ATOMS system is broken in Scilab 6 on bionic,
  cosmic, disco and eoan

To manage notifications about this bug go to:
https://bugs.launchpad.net/scilab/+bug/1765503/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to