# On Linux, using C++ api ,getArrayType on attribute throwing std::bad\_alloc execption

**URL:** <https://forum.hdfgroup.org/t/on-linux-using-c-api-getarraytype-on-attribute-throwing-std-bad-alloc-execption/8402>\
**Category:** HDF5 Library\
**Created:** [April 12, 2021, 5:16pm UTC](https://forum.hdfgroup.org/t/on-linux-using-c-api-getarraytype-on-attribute-throwing-std-bad-alloc-execption/8402 "2021-04-12T17:16:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![maddukuri2003](https://forum.hdfgroup.org/letter_avatar_proxy/v4/letter/m/4af34b/32.png) [@maddukuri2003](https://forum.hdfgroup.org/u/maddukuri2003)\
**Post date:** [April 12, 2021, 5:16pm UTC](https://forum.hdfgroup.org/t/on-linux-using-c-api-getarraytype-on-attribute-throwing-std-bad-alloc-execption/8402/1 "2021-04-12T17:16:14Z")

</div>

Hello,  
On Linux, using C++ api ,getArrayType on attribute throwing std::bad\_alloc execption. Which is working on Windows. HDF5 version is 1.8.16

Sample code is

```
                    H5::H5File _file.openFile(file_name, H5F_ACC_RDONLY);
                 H5::Group group = _file.openGroup(group_path);
                 H5::Attribute attr = group.openAttribute(index);
                 H5::DataType temp_dt = attr_ptr.getDataType();

                switch (temp_dt.getClass())
                {
                 case H5T_ARRAY:
                 {
                        H5::ArrayType arr = attr.getArrayType();
                 }
                 }
```

---

<div class="post-metadata">

**Author:** ![maddukuri2003](https://forum.hdfgroup.org/letter_avatar_proxy/v4/letter/m/4af34b/32.png) [@maddukuri2003](https://forum.hdfgroup.org/u/maddukuri2003)\
**Post date:** [April 15, 2021, 11:17pm UTC](https://forum.hdfgroup.org/t/on-linux-using-c-api-getarraytype-on-attribute-throwing-std-bad-alloc-execption/8402/2 "2021-04-15T23:17:32Z")

</div>

> [@maddukuri2003](#):
>
> H5::ArrayType arr = attr.getArrayType();

replacing  
H5::ArrayType arr = attr.getArrayType();  
with following worked  
H5::ArrayType arr(temp\_dt.getId())
