hhoeflin / hdf5r

Other
80 stars 23 forks source link

Several tests fail on PowerPC: error #000: H5T.c in H5Tget_class(): line 2084: not a datatype etc. [ FAIL 54 | WARN 0 | SKIP 3 | PASS 442 ] #205

Open barracuda156 opened 1 year ago

barracuda156 commented 1 year ago

@hhoeflin Could these be addressed?

R version 4.3.0 (2023-04-21) -- "Already Tomorrow"
Copyright (C) 2023 The R Foundation for Statistical Computing
Platform: powerpc-apple-darwin10.8.0 (32-bit)

> library(testthat)
> library(hdf5r)
> 
> test_check("hdf5r")
[ FAIL 54 | WARN 0 | SKIP 3 | PASS 442 ]

══ Skipped tests (3) ═══════════════════════════════════════════════════════════
• empty test (3): 'test-h5t.R:147:1', 'test-h5t.R:174:1',
  'test-zzz-H5File.R:156:1'

══ Failed tests ════════════════════════════════════════════════════════════════
── Error ('test-64bit_support.R:43:5'): Dataset with more than 2^31 rows ───────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_equal(...) at test-64bit_support.R:43:4
 2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
 3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
 4. ├─large_ds[(2^32 - 20):(2^32 + 20)]
 5. └─hdf5r:::`[.H5D`(large_ds, (2^32 - 20):(2^32 + 20))
 6.   └─x$read(...)
 7.     └─self$read_low_level(...)
── Error ('test-64bit_support.R:76:5'): Datatype conversion with 64bit ─────────
Error in `H5ToR_Pre(dtype, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r:::convertRoundTrip(dbl_vec, dtype_uint64, flags = h5const$H5TOR_CONV_NONE) at test-64bit_support.R:76:4
 2.   └─hdf5r:::H5ToR_Pre(dtype, nelem)
── Error ('test-convert.R:33:5'): Convert H5T_FLOAT works ──────────────────────
Error in `H5ToR_Pre(dtype, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r:::convertRoundTrip(Robj, dtype_double) at test-convert.R:33:4
 2.   └─hdf5r:::H5ToR_Pre(dtype, nelem)
── Error ('test-convert.R:77:5'): Convert H5T_INTEGER works ────────────────────
Error in `H5ToR_Pre(dtype, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r:::convertRoundTrip(robj_double, dtype_uint64) at test-convert.R:77:4
 2.   └─hdf5r:::H5ToR_Pre(dtype, nelem)
── Error ('test-convert.R:131:5'): Convert H5T_ENUM works ──────────────────────
Error in `H5ToR_Pre(dtype, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r:::convertRoundTrip(obj_logical, enum_logical) at test-convert.R:131:4
 2.   └─hdf5r:::H5ToR_Pre(dtype, nelem)
── Error ('test-convert.R:171:5'): Convert H5T_STRING works ────────────────────
Error in `H5ToR_Pre(dtype, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r:::convertRoundTrip(string.utf8, dtype_string_unknown) at test-convert.R:171:4
 2.   └─hdf5r:::H5ToR_Pre(dtype, nelem)
── Error ('test-convert.R:222:5'): Convert R_Complex works ─────────────────────
Error in `H5ToR_Pre(dtype, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r:::convertRoundTrip(r_cmplx, dtype_complex) at test-convert.R:222:4
 2.   └─hdf5r:::H5ToR_Pre(dtype, nelem)
── Error ('test-convert.R:235:5'): Convert H5T_COMPOUND works ──────────────────
Error in `H5ToR_Pre(dtype, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r:::convertRoundTrip(test_frame, dtype_cpd) at test-convert.R:235:4
 2.   └─hdf5r:::H5ToR_Pre(dtype, nelem)
── Error ('test-convert.R:246:5'): Convert H5T_ARRAY works ─────────────────────
Error in `H5ToR_Pre(dtype, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r:::convertRoundTrip(test_data, dtype_array, nelem = 20) at test-convert.R:246:4
 2.   └─hdf5r:::H5ToR_Pre(dtype, nelem)
── Error ('test-convert.R:256:5'): Convert H5T_VLEN works ──────────────────────
Error in `H5ToR_Pre(dtype, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r:::convertRoundTrip(test_data, dtype_vlen) at test-convert.R:256:4
 2.   └─hdf5r:::H5ToR_Pre(dtype, nelem)
── Error ('test-convert.R:379:5'): Logical with and without NA ─────────────────
Error in `H5ToR_Pre(dtype, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r:::convertRoundTrip(logical_noNA, dtype_logical_noNA) at test-convert.R:379:4
 2.   └─hdf5r:::H5ToR_Pre(dtype, nelem)
── Error ('test-h5a.R:42:5'): Basic dataset function ───────────────────────────
Error in `H5ToR_Pre(mem_type, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r (local) read_write_roundtrip(attr_int64, 1:20) at test-h5a.R:42:4
 2.   └─h5attr$read() at test-h5a.R:22:4
 3.     └─hdf5r:::H5ToR_Pre(mem_type, nelem)
── Error ('test-h5a.R:151:5'): Creating attributes of different types ──────────
Error in `H5ToR_Pre(mem_type, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r (local) read_write_roundtrip(attr_int32, 1:20) at test-h5a.R:151:4
 2.   └─h5attr$read() at test-h5a.R:22:4
 3.     └─hdf5r:::H5ToR_Pre(mem_type, nelem)
── Error ('test-h5d.R:49:5'): Basic dataset function ───────────────────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r (local) read_write_roundtrip(ds_int64_chunked, 1:20) at test-h5d.R:49:4
 2.   └─ds$read() at test-h5d.R:24:4
 3.     └─self$read_low_level(...)
── Error ('test-h5d.R:136:5'): Creating datasets of different types ────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r (local) read_write_roundtrip(ds_int32, 1:20) at test-h5d.R:136:4
 2.   └─ds$read() at test-h5d.R:24:4
 3.     └─self$read_low_level(...)
── Error ('test-h5p.R:80:5'): H5P_DATASET_CREATE works ─────────────────────────
Error in `H5ToR_Pre(dtype, 1)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_equal(h5p_obj$get_fill_value(dtype_int), 1) at test-h5p.R:80:4
 2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
 3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
 4. └─h5p_obj$get_fill_value(dtype_int)
 5.   └─hdf5r:::H5ToR_Pre(dtype, 1)
── Failure ('test-h5t.R:120:5'): native datatypes ──────────────────────────────
cpd_test_native_c$equal(cpd_native_c) is not TRUE

`actual`:   FALSE
`expected`: TRUE 
── Failure ('test-h5t.R:121:5'): native datatypes ──────────────────────────────
cpd_test_native_c$describe() not equal to cpd_native_c$describe().
Component "size": Mean relative difference: 0.1428571
── Error ('test-high_level_UI.R:61:5'): Names and [[ ───────────────────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_equal(file.h5[["test_dataset2"]]$read(), robj) at test-high_level_UI.R:61:4
 2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
 3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
 4. └─file.h5[["test_dataset2"]]$read()
 5.   └─self$read_low_level(...)
── Error ('test-high_level_UI.R:269:13'): subset_h5.H5D ────────────────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_equal(test[ind1, ind2], robj[ind1, ind2]) at test-high_level_UI.R:269:12
 2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
 3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
 4. ├─test[ind1, ind2]
 5. └─hdf5r:::`[.H5D`(test, ind1, ind2)
 6.   └─x$read(...)
 7.     └─self$read_low_level(...)
── Error ('test-high_level_UI.R:343:5'): attributes ────────────────────────────
Error in `H5ToR_Pre(mem_type, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r::h5attributes(file.h5) at test-high_level_UI.R:343:4
 2.   └─attr_obj$read()
 3.     └─hdf5r:::H5ToR_Pre(mem_type, nelem)
── Error ('test-high_level_UI.R:368:5'): Subsetting dimensions, drop and write ──
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_equal(ex_arr_ds[2, , ], ex_array[2, , ]) at test-high_level_UI.R:368:4
 2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
 3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
 4. ├─ex_arr_ds[2, , ]
 5. └─hdf5r:::`[.H5D`(ex_arr_ds, 2, , )
 6.   └─x$read(...)
 7.     └─self$read_low_level(...)
── Error ('test-links.R:57:5'): Link functions ─────────────────────────────────
Error in `raw(linfo$u$address)`: vector size specified is too large
Backtrace:
    ▆
 1. ├─testthat::expect_equal(file.h5$link_value("test_soft"), "test1") at test-links.R:57:4
 2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
 3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
 4. └─file.h5$link_value("test_soft")
 5.   └─base::raw(linfo$u$address)
── Failure ('test-print.R:55:5'): Print functions work as expected ─────────────
`h5dset$print()` does not match "Class: H5D\nDataset: /test/test_dset\nFilename: /opt/local/var/macports/build/_opt_PPCRosettaPorts_R_R-hdf5r/R-hdf5r/work/.tmp/Rtmpxn1D6h/file659b120d6f12.h5\nAccess type: H5F_ACC_RDWR\nDatatype: H5T_IEEE_F64LE\nSpace: Type=Simple     Dims=5 x 10 x 15     Maxdims=5 x 10 x 15\nChunk: 5 x 10 x 15".
Actual value: "Class: H5D\nDataset: /test/test_dset\nFilename: /opt/local/var/macports/build/_opt_PPCRosettaPorts_R_R-hdf5r/R-hdf5r/work/.tmp/Rtmpxn1D6h/file659b120d6f12.h5\nAccess type: H5F_ACC_RDWR\nDatatype: H5T_IEEE_F64BE\nSpace: Type=Simple     Dims=5 x 10 x 15     Maxdims=5 x 10 x 15\nChunk: 5 x 10 x 15"
Backtrace:
    ▆
 1. └─testthat::expect_output(...) at test-print.R:55:4
 2.   └─testthat::expect_match(...)
 3.     └─testthat:::expect_match_(...)
── Error ('test-reference.R:246:5'): Create and dereference references; save in a dataset ──
Error in `obj_ds$read_low_level(file_space = obj_space, mem_type = obj_ds_dtype, 
    set_dim = TRUE, dim_to_set = dim_to_set)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─ds_ref_1$dereference(get_value = TRUE) at test-reference.R:246:4
 2.   └─obj_ds$read_low_level(...)
── Error ('test-zzz-Attribute.R:57:3'): Attribute-Errors ───────────────────────
Error in `H5ToR_Pre(mem_type, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(...) at test-zzz-Attribute.R:57:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. └─hdf5r::h5attr(file, "test")
 7.   └─attr_obj$read()
 8.     └─hdf5r:::H5ToR_Pre(mem_type, nelem)
── Error ('test-zzz-Attribute.R:106:5'): Attribute-H5Type-File ─────────────────
Error in `H5ToR_Pre(mem_type, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(h5attr(file, aname), is_identical_to(testall[[i]])) at test-zzz-Attribute.R:106:4
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. └─hdf5r::h5attr(file, aname)
 7.   └─attr_obj$read()
 8.     └─hdf5r:::H5ToR_Pre(mem_type, nelem)
── Error ('test-zzz-Attribute.R:183:3'): Attribute-Bug-Scalar-Issue09 ──────────
Error in `H5ToR_Pre(mem_type, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(...) at test-zzz-Attribute.R:183:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. ├─base::substr(h5attr(file[["floats"]], "scalar"), 1, 5)
 7. └─hdf5r::h5attr(file[["floats"]], "scalar")
 8.   └─attr_obj$read()
 9.     └─hdf5r:::H5ToR_Pre(mem_type, nelem)
── Error ('test-zzz-DataSet-IO-NA.R:40:3'): DataSet-Vector-NA ──────────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r::readDataSet(dset11) at test-zzz-DataSet-IO-NA.R:40:2
 2.   └─object$read()
 3.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-IO.R:36:3'): DataSet-Vector ────────────────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r::readDataSet(dset11) at test-zzz-DataSet-IO.R:36:2
 2.   └─object$read()
 3.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-IO.R:105:3'): DataSet-Vector-boundaries ────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r::readDataSet(dset1) at test-zzz-DataSet-IO.R:105:2
 2.   └─object$read()
 3.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-IO.R:158:3'): datatypes-Matrix ─────────────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r::readDataSet(dset11) at test-zzz-DataSet-IO.R:158:2
 2.   └─object$read()
 3.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-IO.R:223:3'): datatypes-Array ──────────────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r::readDataSet(dset11) at test-zzz-DataSet-IO.R:223:2
 2.   └─object$read()
 3.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-IO.R:271:3'): datatypes-Array-BugWithASCII ─────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(file[["test/ascii"]][], is_identical_to(varlength)) at test-zzz-DataSet-IO.R:271:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. ├─file[["test/ascii"]][]
 7. └─hdf5r:::`[.H5D`(file[["test/ascii"]], )
 8.   └─x$read(...)
 9.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-Select-Subset.R:78:3'): DataSet-Select-Subset-vector-read ──
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─dset1[1:dset1$dims] at test-zzz-DataSet-Select-Subset.R:78:2
 2. └─hdf5r:::`[.H5D`(dset1, 1:dset1$dims) at test-zzz-DataSet-Select-Subset.R:78:2
 3.   └─x$read(...)
 4.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-Select-Subset.R:115:7'): DataSet-Select-Subset-read-string ──
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(testvec[1:3], is_identical_to(LETTERS[1:3])) at test-zzz-DataSet-Select-Subset.R:115:6
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. ├─testvec[1:3]
 7. └─hdf5r:::`[.H5D`(testvec, 1:3)
 8.   └─x$read(...)
 9.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-Select-Subset.R:149:7'): DataSet-Select-Subset-read-string-fixed ──
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(testvec[1:3], is_identical_to(LETTERS[1:3])) at test-zzz-DataSet-Select-Subset.R:149:6
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. ├─testvec[1:3]
 7. └─hdf5r:::`[.H5D`(testvec, 1:3)
 8.   └─x$read(...)
 9.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-Select-Subset.R:196:3'): DataSet-Select-Subset-vector-write ──
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─dset1[] at test-zzz-DataSet-Select-Subset.R:196:2
 2. └─hdf5r:::`[.H5D`(dset1, ) at test-zzz-DataSet-Select-Subset.R:196:2
 3.   └─x$read(...)
 4.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-Select-Subset.R:249:3'): DataSet-Select-Subset-matrix-read ──
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(readDataSet(dset1), is_identical_to(testmat_n)) at test-zzz-DataSet-Select-Subset.R:249:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. └─hdf5r::readDataSet(dset1)
 7.   └─object$read()
 8.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-Select-Subset.R:296:3'): DataSet-Select-Subset-matrix-write ──
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(dset2[2, 2], is_identical_to(-2L)) at test-zzz-DataSet-Select-Subset.R:296:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. ├─dset2[2, 2]
 7. └─hdf5r:::`[.H5D`(dset2, 2, 2)
 8.   └─x$read(...)
 9.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-Select-Subset.R:399:3'): DataSet-Select-Subset-array-read ──
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(readDataSet(dset1), is_identical_to(testmat_n)) at test-zzz-DataSet-Select-Subset.R:399:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. └─hdf5r::readDataSet(dset1)
 7.   └─object$read()
 8.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-Select-Subset.R:458:3'): DataSet-Select-Subset-array-write ──
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(dset2[2, 2, 2], is_identical_to(-2L)) at test-zzz-DataSet-Select-Subset.R:458:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. ├─dset2[2, 2, 2]
 7. └─hdf5r:::`[.H5D`(dset2, 2, 2, 2)
 8.   └─x$read(...)
 9.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-extend.R:43:3'): DataSet-extend ────────────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_equal(readDataSet(dset2), testmat) at test-zzz-DataSet-extend.R:43:2
 2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
 3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
 4. └─hdf5r::readDataSet(dset2)
 5.   └─object$read()
 6.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-extend.R:75:3'): DataSet-extend-matrix-rbind ───────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(...) at test-zzz-DataSet-extend.R:75:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. └─hdf5r::readDataSet(dset1)
 7.   └─object$read()
 8.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-extend.R:110:3'): DataSet-extend-matrix-cbind ──────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(...) at test-zzz-DataSet-extend.R:110:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. └─hdf5r::readDataSet(dset1)
 7.   └─object$read()
 8.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-extend.R:137:3'): DataSet-extend-vector-c ──────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(readDataSet(dset1), is_identical_to(testmat_n_extend)) at test-zzz-DataSet-extend.R:137:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. └─hdf5r::readDataSet(dset1)
 7.   └─object$read()
 8.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet-scalar.R:9:7'): datatypes-Array-BugWithScalar ──────
Error in `self$read_low_level(file_space = self_space_id, mem_space = self_space_id, 
    dataset_xfer_pl = dataset_xfer_pl)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─dset[] at test-zzz-DataSet-scalar.R:9:6
 2. └─hdf5r:::`[.H5D`(dset, ) at test-zzz-DataSet-scalar.R:9:6
 3.   └─x$read(...)
 4.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet.R:182:3'): DataSet-list-dataset-link ───────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(file[["hardlink/test2"]][], is_identical_to(1:3)) at test-zzz-DataSet.R:182:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. ├─file[["hardlink/test2"]][]
 7. └─hdf5r:::`[.H5D`(file[["hardlink/test2"]], )
 8.   └─x$read(...)
 9.     └─self$read_low_level(...)
── Error ('test-zzz-DataSet.R:203:3'): DataSet-Bug-F32-Issue10 ─────────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(...) at test-zzz-DataSet.R:203:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. ├─file[["floats"]][]
 7. └─hdf5r:::`[.H5D`(file[["floats"]], )
 8.   └─x$read(...)
 9.     └─self$read_low_level(...)
── Error ('test-zzz-H5File-Subset.R:58:3'): H5File-Subset-DataSet ──────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(readDataSet(dset), is_identical_to(1:10)) at test-zzz-H5File-Subset.R:58:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. └─hdf5r::readDataSet(dset)
 7.   └─object$read()
 8.     └─self$read_low_level(...)
── Error ('test-zzz-H5Group.R:216:3'): CommonFG-unlink ─────────────────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(file[["testgroup/testset"]][], is_identical_to(5:6)) at test-zzz-H5Group.R:216:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. ├─file[["testgroup/testset"]][]
 7. └─hdf5r:::`[.H5D`(file[["testgroup/testset"]], )
 8.   └─x$read(...)
 9.     └─self$read_low_level(...)
── Error ('test-zzz-io.R:20:2'): datatypes-IO ──────────────────────────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r::readDataSet(dset) at test-zzz-io.R:20:8
 2.   └─object$read()
 3.     └─self$read_low_level(...)
── Error ('test-zzz-vlen.R:69:3'): DataSet-VLEN-Vector ─────────────────────────
Error in `self$read_low_level(file_space = self_space_id, mem_space = mem_space_id, 
    dataset_xfer_pl = dataset_xfer_pl, set_dim = TRUE, dim_to_set = dim_to_set, 
    drop = drop)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. ├─testthat::expect_that(testlist_n_in[], is_identical_to(testlist_n)) at test-zzz-vlen.R:69:2
 2. │ └─testthat (local) condition(object)
 3. │   └─testthat::expect_identical(x, expected, expected.label = label)
 4. │     └─testthat::quasi_label(enquo(object), label, arg = "object")
 5. │       └─rlang::eval_bare(expr, quo_get_env(quo))
 6. ├─testlist_n_in[]
 7. └─hdf5r:::`[.H5D`(testlist_n_in, )
 8.   └─x$read(...)
 9.     └─self$read_low_level(...)
── Error ('test-zzz-vlen.R:117:3'): DataSet-VLEN-Vector-Attribute ──────────────
Error in `H5ToR_Pre(mem_type, nelem)`: HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type

Backtrace:
    ▆
 1. └─hdf5r::h5attr(testgroup, "testlist_n") at test-zzz-vlen.R:117:2
 2.   └─attr_obj$read()
 3.     └─hdf5r:::H5ToR_Pre(mem_type, nelem)

[ FAIL 54 | WARN 0 | SKIP 3 | PASS 442 ]
Error: Test failures
Execution halted
barracuda156 commented 1 year ago

There is also an error in examples:

* checking examples ... ERROR
Running examples in ‘hdf5r-Ex.R’ failed
The error most likely occurred in:

> ### Name: H5A-class
> ### Title: Class for representing HDF5 attributes
> ### Aliases: H5A-class H5A
> 
> ### ** Examples
> 
> fname <- tempfile(fileext = ".h5")
> file <- H5File$new(fname, mode = "a")
> h5attr(file, "attr_numeric") <- rnorm(10)
> a <- file$attr_open("attr_numeric")
> a$get_info()
  corder_valid corder cset data_size
1            0      0    0        80
> a$attr_name()
[1] "attr_numeric"
> a$get_space()
Class: H5S
Type: Simple
Dims: 10
Maxdims: 10
> a$get_type()
Class: H5T_FLOAT
Datatype: H5T_IEEE_F64BE
> a$get_storage_size()
[1] 80
> a$read()
Error in H5ToR_Pre(mem_type, nelem) : HDF5-API Errors:
    error #000: H5T.c in H5Tget_class(): line 2084: not a datatype
        class: HDF5
        major: Invalid arguments to routine
        minor: Inappropriate type
Calls: <Anonymous> -> H5ToR_Pre
Execution halted