# ETP / hdf 1.10.5

**URL:** <https://discourse.f2i-consulting.com/t/etp-hdf-1-10-5/159>\
**Category:** FETPAPI\
**Created:** [September 7, 2020, 1:47pm UTC](https://discourse.f2i-consulting.com/t/etp-hdf-1-10-5/159 "2020-09-07T13:47:57Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![untereiner](https://discourse.f2i-consulting.com/user_avatar/discourse.f2i-consulting.com/untereiner/32/26_2.png) [@untereiner](https://discourse.f2i-consulting.com/u/untereiner)\
**Post date:** [September 7, 2020, 1:47pm UTC](https://discourse.f2i-consulting.com/t/etp-hdf-1-10-5/159/1 "2020-09-07T13:47:58Z")

</div>

Hello,

Did you try to launch a couple of ETP client/server with fesapi compiled with hdf5 1.10.5 ?  
I tryed the command PutDataObject against the testingPackageCpp.epc/h5  
I got this error

> HDF5-DIAG: Error detected in HDF5 (1.10.5) thread 0:  
> #000: /f2i-consulting/fesapi-superbuild/HDF5/src/H5O.c line 1130 in H5Oget\_info\_by\_name(): can’t get info for object: ‘resqml20’  
> major: Object header  
> minor: Can’t get value  
> #001: /f2i-consulting/fesapi-superbuild/HDF5/src/H5Gloc.c line 731 in H5G\_loc\_info(): can’t find object  
> major: Symbol table  
> minor: Object not found  
> #002: /f2i-consulting/fesapi-superbuild/HDF5/src/H5Gtraverse.c line 851 in H5G\_traverse(): internal path traversal failed  
> major: Symbol table  
> minor: Object not found  
> #003: /f2i-consulting/fesapi-superbuild/HDF5/src/H5Gtraverse.c line 627 in H5G\_\_traverse\_real(): traversal operator failed  
> major: Symbol table  
> minor: Callback failed  
> #004: /f2i-consulting/fesapi-superbuild/HDF5/src/H5Gloc.c line 684 in H5G\_loc\_info\_cb(): name doesn’t exist  
> major: Symbol table  
> minor: Object not found  
> HDF5-DIAG: Error detected in HDF5 (1.10.5) thread 0:  
> #000: /f2i-consulting/fesapi-superbuild/HDF5/src/H5O.c line 1130 in H5Oget\_info\_by\_name(): can’t get info for object: ‘99512190-1efd-4c39-9544-c50cfea618f3’  
> major: Object header  
> minor: Can’t get value  
> #001: /f2i-consulting/fesapi-superbuild/HDF5/src/H5Gloc.c line 731 in H5G\_loc\_info(): can’t find object  
> major: Symbol table  
> minor: Object not found  
> #002: /f2i-consulting/fesapi-superbuild/HDF5/src/H5Gtraverse.c line 851 in H5G\_traverse(): internal path traversal failed  
> major: Symbol table  
> minor: Object not found  
> #003: /f2i-consulting/fesapi-superbuild/HDF5/src/H5Gtraverse.c line 627 in H5G\_\_traverse\_real(): traversal operator failed  
> major: Symbol table  
> minor: Callback failed  
> #004: /f2i-consulting/fesapi-superbuild/HDF5/src/H5Gloc.c line 684 in H5G\_loc\_info\_cb(): name doesn’t exist  
> major: Symbol table  
> minor: Object not found  
> Acknowledge message\_id 2  
> on\_read : error code number 2 → End of file

Should I use a previous version of hdf5 ?

---

<div class="post-metadata">

**Author:** ![philippeVerney](https://discourse.f2i-consulting.com/user_avatar/discourse.f2i-consulting.com/philippeverney/32/29_2.png) [@philippeVerney](https://discourse.f2i-consulting.com/u/philippeVerney)\
**Post date:** [September 7, 2020, 2:03pm UTC](https://discourse.f2i-consulting.com/t/etp-hdf-1-10-5/159/2 "2020-09-07T14:03:54Z")

</div>

Hi Lionel,

ETP support is still very experimental in etpServer example.  
Furthermore, all “put” messages are **not supported** at all in the etpServer example. I should/will add a warning in the etpServer example.  
For now, every FESAPI user should override these message handlers to do whatever they want in their own etp server.

---

<div class="post-metadata">

**Author:** ![untereiner](https://discourse.f2i-consulting.com/user_avatar/discourse.f2i-consulting.com/untereiner/32/26_2.png) [@untereiner](https://discourse.f2i-consulting.com/u/untereiner)\
**Post date:** [September 7, 2020, 2:10pm UTC](https://discourse.f2i-consulting.com/t/etp-hdf-1-10-5/159/3 "2020-09-07T14:10:26Z")

</div>

Hi Philippe!

ok and what about the GetDataArrays ? I tryed it but the client and server did segfault

---

<div class="post-metadata">

**Author:** ![philippeVerney](https://discourse.f2i-consulting.com/user_avatar/discourse.f2i-consulting.com/philippeverney/32/29_2.png) [@philippeVerney](https://discourse.f2i-consulting.com/u/philippeVerney)\
**Post date:** [September 7, 2020, 2:14pm UTC](https://discourse.f2i-consulting.com/t/etp-hdf-1-10-5/159/4 "2020-09-07T14:14:45Z")

</div>

I think this one should work since it is listed in the help of the client example

> void printHelp()  
> {  
> std::cout \<\< “List of available commands :” \<\< std::endl;  
> std::cout \<\< “\tList” \<\< std::endl \<\< “\t\tList the objects which have been got from ETP to the in-memory epc” \<\< std::endl \<\< std::endl;  
> //std::cout \<\< “\tGetDataspaces URI depth(default 1)” \<\< std::endl \<\< std::endl;  
> std::cout \<\< “\tGetResources URI scope(default self) depth(default 1) countObjects(true or false, default is true) getObject(true or false, default is false) dataTypeFilter,dataTypeFilter,…(default noFilter)” \<\< std::endl \<\< std::endl;  
> std::cout \<\< “\tGetDataObjects dataObjectURI,dataObjectURI,…” \<\< std::endl \<\< “\t\tGet the objects from an ETP store and store them into the in memory epc (only create partial TARGET relationships, not any SOURCE relationships)” \<\< std::endl \<\< std::endl;  
> std::cout \<\< “\tPutDataObject” \<\< std::endl \<\< “\t\tCreate an IJK Grid on the fly and put/push it to the store” \<\< std::endl \<\< std::endl;  
> std::cout \<\< “\tGetSourceObjects dataObjectURI” \<\< std::endl \<\< “\t\tGet the source objects of another object from an ETP store and put it into the in memory epc” \<\< std::endl \<\< std::endl;  
> std::cout \<\< “\tGetTargetObjects dataObjectURI” \<\< std::endl \<\< “\t\tGet the target objects of another object from an ETP store and put it into the in memory epc” \<\< std::endl \<\< std::endl;  
> std::cout \<\< “\tGetResourceObjects dataObjectURI” \<\< std::endl \<\< “\t\tGet the object, its source and its target objects from an ETP store and put it into the in memory epc” \<\< std::endl \<\< std::endl;  
> std::cout \<\< “\tGetDataArrays epcExternalPartURI datasetPathInEpcExternalPart” \<\< std::endl \<\< “\t\tGet the numerical values from a dataset included in an EpcExternalPart over ETP.” \<\< std::endl \<\< std::endl;  
> std::cout \<\< “\tSubscribeNotif URI scope(default self) depth(default 1) receiveXML(true or false, default is true) startTime(default is now) dataTypeFilter,dataTypeFilter,…(default noFilter)” \<\< std::endl \<\< “\t\tSubscribe to notifications.” \<\< std::endl \<\< std::endl;  
> std::cout \<\< “\tquit” \<\< std::endl \<\< “\t\tQuit the session.” \<\< std::endl \<\< std::endl;  
> }

I will give a try and fix if necessary or come back to you with an answer.

---

<div class="post-metadata">

**Author:** ![untereiner](https://discourse.f2i-consulting.com/user_avatar/discourse.f2i-consulting.com/untereiner/32/26_2.png) [@untereiner](https://discourse.f2i-consulting.com/u/untereiner)\
**Post date:** [September 7, 2020, 2:18pm UTC](https://discourse.f2i-consulting.com/t/etp-hdf-1-10-5/159/5 "2020-09-07T14:18:49Z")

</div>

This is my order:  
`GetDataArrays eml:///eml20.obj_EpcExternalPartReference(f448a02c-6f39-43a8-a533-d0b2dd22a666) /resqml20/6e678338-3b53-49b6-8801-faee493e0c42/points_patch0`

Message on the server:

> Data array received uri : eml:///eml20.obj\_EpcExternalPartReference(f448a02c-6f39-43a8-a533-d0b2dd22a666)  
> Received pathInResource : /resqml20/6e678338-3b53-49b6-8801-faee493e0c42/points\_patch0  
> terminate called after throwing an instance of ‘boost::wrapexceptboost::bad\_any\_cast’  
> what(): boost::bad\_any\_cast: failed conversion using boost::any\_cast

Message on the client:

> /resqml20/6e678338-3b53-49b6-8801-faee493e0c42/points\_patch0  
> on\_read : error code number 2 → End of file  
> End IOC

---

<div class="post-metadata">

**Author:** ![philippeVerney](https://discourse.f2i-consulting.com/user_avatar/discourse.f2i-consulting.com/philippeverney/32/29_2.png) [@philippeVerney](https://discourse.f2i-consulting.com/u/philippeVerney)\
**Post date:** [September 7, 2020, 2:25pm UTC](https://discourse.f2i-consulting.com/t/etp-hdf-1-10-5/159/6 "2020-09-07T14:25:32Z")

</div>

I can reproduce the bug and am working on it.

---

<div class="post-metadata">

**Author:** ![philippeVerney](https://discourse.f2i-consulting.com/user_avatar/discourse.f2i-consulting.com/philippeverney/32/29_2.png) [@philippeVerney](https://discourse.f2i-consulting.com/u/philippeVerney)\
**Post date:** [September 7, 2020, 4:15pm UTC](https://discourse.f2i-consulting.com/t/etp-hdf-1-10-5/159/7 "2020-09-07T16:15:52Z")

</div>

Now in CI : [https://github.com/F2I-Consulting/fesapi/pull/241](https://github.com/F2I-Consulting/fesapi/pull/241)

---

<div class="post-metadata">

**Author:** ![philippeVerney](https://discourse.f2i-consulting.com/user_avatar/discourse.f2i-consulting.com/philippeverney/32/29_2.png) [@philippeVerney](https://discourse.f2i-consulting.com/u/philippeVerney)\
**Post date:** [September 8, 2020, 7:07am UTC](https://discourse.f2i-consulting.com/t/etp-hdf-1-10-5/159/8 "2020-09-08T07:07:21Z")

</div>

Done!  
It should now work.  
Thanks for having raised this issue and I hope you will manage PutDataObject easily on your own server.
