bugGNU Octave - Bugs: bug #37713, HDF5 error message on exit

 
 

bug #37713: HDF5 error message on exit

Submitted by:  Torsten <ttl>
Submitted on:  Sun 11 Nov 2012 03:28:02 PM UTC  
 
Category: GUISeverity: 3 - Normal
Priority: 5 - NormalItem Group: None
Status: InvalidAssigned to: None
Originator Name: Open/Closed: Closed
Release: devOperating System: GNU/Linux

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Fri 25 Oct 2013 04:44:16 AM UTC, comment #14:

Yes, no ore message on my system, too.

Torsten <ttl>
Project Member
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

John W. Eaton <jwe>
Project Administrator
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

Dan Sebald <sebald>
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.

Mike Miller <mtmiller>
Project Member
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?

Dan Sebald <sebald>
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:

Mike Miller <mtmiller>
Project Member
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.

Mike Miller <mtmiller>
Project Member
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.

John W. Eaton <jwe>
Project Administrator
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.

John W. Eaton <jwe>
Project Administrator
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).

Mike Miller <mtmiller>
Project Member
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.

Rik <rik5>
Project Administrator
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.

Rik <rik5>
Project Administrator
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.

John W. Eaton <jwe>
Project Administrator
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?

John W. Eaton <jwe>
Project Administrator
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

Torsten <ttl>
Project Member

 

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

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by sebald (Posted a comment)
  • -unavailable- added by mtmiller (Posted a comment)
  • -unavailable- added by rik5 (Posted a comment)
  • -unavailable- added by jwe (Posted a comment)
  • -unavailable- added by ttl (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 29 Aug 2013 05:26:01 PM UTCrik5StatusNone=>Invalid
      Open/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup