Fri 25 Oct 2013 04:44:16 AM UTC, comment #14:
Yes, no ore message on my system, too.
|
Thu 24 Oct 2013 09:22:36 PM UTC, comment #13:
I'm not sure why this report was closed. It still seems to be a problem. The following changeset seems to avoid the problem for me:
http://hg.savannah.gnu.org/hgweb/octave/rev/9c03b071fd7b
|
Fri 18 Oct 2013 03:51:55 AM UTC, comment #12:
Should we submit a bug report to HDF5 developers? Do we have enough specific to create a useful bug report?
http://lists.hdfgroup.org/pipermail/hdf-forum_lists.hdfgroup.org/2010-November/003928.html
|
Thu 17 Oct 2013 12:42:56 PM UTC, comment #11:
Dan, if you read my last two comments you'd see that I already narrowed this down to a specific usage of the HDF5 library. Namely, calling the H5Fis_hdf5 function and no other HDF5 functions from a thread that is not the main thread in a program. If you link with the ordinary HDF5 library, this error is printed when the program shuts down. If you link with one of the MPI-enabled HDF5 libraries, no error.
To reproduce this you can either
- use the example program in comment #9
- run the Octave GUI with one or more packages installed and quit without doing anything
- run the Octave GUI without any packages (octave -f) and do something like this:
Other than noise, I don't see any harmful behavior. For the moment, I consider this a bug in HDF5 and not a bug in Octave.
|
Thu 17 Oct 2013 05:28:31 AM UTC, comment #10:
Don't close this one just yet. Although I followed the links and see some very similar bug reports for HD5, the code sequence is different from the pattern listed here.
Here is the hunk of HD5 code (from H5.c) generating this sequence:
Basically, this loop attempts to shutdown higher level interfaces, then midlevel interfaces, then low level interfaces. I assume the low level interfaces are used by the higher level interface. Therefore, those can't be shut down until the higher level interfaces have successfully disassociated all APIs.
It looks as though the library is getting hung up on trying to shutdown the Error Code support. Here is the H5E_term_interface routine:
Well, there are three elements to error handling that could be coming back always positive, i.e., n = ncls + nmsg + nstk > 0.
I'll make a wild guess: imagine that something in this process fails to happen correctly. Then, stack is cleared, messages are cleared, classes are cleared...all fine and dandy. Then it has to go through the loop again and tries again n = ncls + nmsg + nstk. If an error happens the the error stack (or one of the other two) is now non-empty. Basically, I'm wondering if HD5 can get past this stage at all if it keeps generating an error for some reason.
Anyway, can anyone think of something in the packages that is creating or not creating an HD5 error message, different from what might have been done in the past?
|
Sat 12 Oct 2013 10:48:46 PM UTC, comment #9:
It appears that the call to H5Fis_hdf5 in load-save.cc (get_file_format) is indeed what's setting up Octave to generate this error on exit, because it's being called in a secondary thread when run in GUI mode.
The following quick-n-dirty standalone program demonstrates the same error on exit for me:
|
Sat 12 Oct 2013 07:43:20 PM UTC, comment #8:
Yes, that could be it. I deleted ~/.octave_packages and the error isn't printed now.
|
Sat 12 Oct 2013 07:37:22 PM UTC, comment #7:
Do you have any packages installed? I see the message if Octave loads the octave_packages file. If that file is not present, then I don't see the message.
I think this happens because Octave calls some HDF5 functions while it is trying to determine the type of the file that it is loading.
|
Sat 12 Oct 2013 07:33:06 PM UTC, comment #6:
I am also seeing the error on a Debian system with 1.8.11.
|
Sat 12 Oct 2013 07:28:08 PM UTC, comment #5:
I know we've marked this as something Octave can't do anything about. But for reference, I'm still seeing this error message on exit with HDF5 version 1.8.11 on Debian (non-MPI version).
|
Thu 29 Aug 2013 05:26:01 PM UTC, comment #4:
I don't think this is an Octave bug. See here for a report on the HDF5 team having trouble with their own library (https://elist.ornl.gov/pipermail/visit-developers/2010-January/005486.html). The fix definitely went in after version 1.8.4. I just downloaded the latest released version, 1.8.11, and no error message is generated. So, I suggest upgrading to a newer version of the HDF5 library. Closing report.
|
Thu 29 Aug 2013 04:20:10 PM UTC, comment #3:
I can confirm this with a recent tip (hg id 91691d74845d) and I'm also using hdf5 version 1.8.4.
Interestingly, if I do any sort of load/save with an HDF5 file during the GUI session then the error message is not produced.
This code produces an error:
This code does not:
So, it would seem that we are instantiating something, like an instance of the HDF5 class, which doesn't get initialized until an operation is done on it.
|
Fri 12 Apr 2013 08:24:46 AM UTC, comment #2:
OK, now I'm able to reproduce it by starting Octave, loading a MAT file (one produced by Matlab that someone sent) and then exiting Octave.
|
Thu 11 Apr 2013 06:07:58 AM UTC, comment #1:
I'm not seeing this error. I'm using hdf5 1.8.8 on a Debian 64-bit system.
Do you have to do anything with hdf5, or just start and exit octave?
|
Sun 11 Nov 2012 03:28:02 PM UTC, original submission:
When closing the gui the following error message shows up (only visible if stderr is not redirected):
ubuntu 12.04 (32bit) and hdf5 version 1.8.4
|