ComputationalRadiationPhysics / libSplash

libSplash - Simple Parallel file output Library for Accumulating Simulation data using Hdf5
GNU Lesser General Public License v3.0
15 stars 15 forks source link

[WIP] Pass error msgs from HDF5-functions #161

Closed BeyondEspresso closed 4 years ago

BeyondEspresso commented 9 years ago

Referring to issue #160 I provide the first minimal code for solving the problem.

The code compiles, but is still in draft stage. The intention of this pull request is to discuss the best way forward before fleshing out the implementation, so nobody of us wastes too much time in later reviews.

The basic idea here is to extend DCDataSet::getExceptionString(std::string msg) to also include the current HDF5 error stack.

ax3l commented 9 years ago

thank you for the pull request! I guess @f-schmitt-zih will join for a review :)

note: currently, our CI says your pull request does not compile.

BeyondEspresso commented 9 years ago

Note: The CI did not throw an error. The compiler got hung at DomainCollector.cpp, which I did not alter. (The five other compiler runs were successful.)

BeyondEspresso commented 9 years ago

Since this is just a first round, the most important feedback you can give right now, whether the approach is good and whether I can extend this to all other DCDataSet::getExceptionString(std::string msg) in splash that get into contact from HDF5 calls.

BeyondEspresso commented 9 years ago

In order to determine whether or not to use the automatic HDF5 reporting mechanism, I will wait until a reply to the discussion #160 .

BeyondEspresso commented 9 years ago

Questions in #160 are resolved. I suggest to differentiate between splash::DCExeptions with and without appending the HDF5 error stack to the message, i.e. implementing a second implementation with another constructor, which takes an error stack as parameter. This is general, fits in the existing framework and you can differentiate between DCExceptions with and without HDF5 calls.

ax3l commented 9 years ago

can you please address the open inline-questions I put on the code? :)

BeyondEspresso commented 9 years ago

@ax3l I will be uploading my recent commits soon. Dead code, namespace and distiction between normal getExceptionString and an new getHDF5ExceptionString. Currently, my main problem is generalization. I am looking for the best place for part of the getHDF5ExceptionString. Then it is basically a lot of work, because I have to go through the entire code and find out where HDF5 routines are tested and eventually exceptions triggered. Currently I am figuring out whether this is a good idea or whether there exists a better way. I probably will send you the current implementation for DCDataset only.

BeyondEspresso commented 9 years ago

Before continuing I would like to discuss this face to face. I think it is important that we generalize this to the entire library in a solid way.

ax3l commented 9 years ago

sounds good! @f-schmitt-zih do you also want to join? you probably have more ideas on that than me.

f-schmitt commented 9 years ago

I was on vacation. I assume you discussed this already?

ax3l commented 9 years ago

I was on vacation. I assume you discussed this already?

not yet, I was actually hoping for your input :)

ax3l commented 4 years ago

I am closing this as wontfix. HDF5 error reporting has been added for all HDF5 API calls in openPMD-api, which supersedes libSplash.