Почему HDF5 делает ошибку InpInput / output и как ее решить - PullRequest
0 голосов
/ 24 января 2020

Я использую код C ++, чтобы выполнить некоторые научные c вычисления, и этот код использует библиотеку HDF5 для сохранения данных. Иногда после продолжительного времени HDF5 выдает ошибку следующим образом:

    major: Dataset
    minor: Unable to flush data from cache
  #006: H5Dint.c line 2940 in H5D__flush_sieve_buf(): block write failed
    major: Low-level I/O
    minor: Write failed
  #007: H5Fio.c line 195 in H5F_block_write(): write through page buffer failed
    major: Low-level I/O
    minor: Write failed
  #008: H5PB.c line 1041 in H5PB_write(): write through metadata accumulator failed
    major: Page Buffering
    minor: Write failed
  #009: H5Faccum.c line 834 in H5F__accum_write(): file write failed
    major: Low-level I/O
    minor: Write failed
  #010: H5FDint.c line 308 in H5FD_write(): driver write request failed
    major: Virtual File Layer
    minor: Write failed
  #011: H5FDsec2.c line 810 in H5FD_sec2_write(): file write failed: time = Fri Jan 24 13:09:19 2020
, filename = 'result.hdf5', file descriptor = 3, errno = 5, error message = 'Input/output error', buf = 0x6651868, total write size = 16200, bytes this sub-write = 16200, bytes actually written = 18446744073709551615, offset = 412577956
    major: Low-level I/O
    minor: Write failed
HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 0:
  #000: H5D.c line 339 in H5Dclose(): can't decrement count on dataset ID
    major: Dataset
    minor: Unable to decrement reference count
  #001: H5I.c line 1410 in H5I_dec_app_ref_always_close(): can't decrement ID ref count
    major: Object atom
    minor: Unable to decrement reference count
  #002: H5I.c line 1352 in H5I_dec_app_ref(): can't decrement ID ref count
    major: Object atom
    minor: Unable to decrement reference count
  #003: H5Dint.c line 1802 in H5D_close(): unable to flush cached dataset info
    major: Dataset
    minor: Write failed
  #004: H5Dint.c line 2980 in H5D__flush_real(): unable to flush raw data
    major: Dataset
    minor: Unable to flush data from cache
  #005: H5Dcontig.c line 1315 in H5D__contig_flush(): unable to flush sieve buffer
    major: Dataset
    minor: Unable to flush data from cache
  #006: H5Dint.c line 2940 in H5D__flush_sieve_buf(): block write failed
    major: Low-level I/O
    minor: Write failed
  #007: H5Fio.c line 195 in H5F_block_write(): write through page buffer failed
    major: Low-level I/O
    minor: Write failed
  #008: H5PB.c line 1041 in H5PB_write(): write through metadata accumulator failed
    major: Page Buffering
    minor: Write failed
  #009: H5Faccum.c line 834 in H5F__accum_write(): file write failed
    major: Low-level I/O
    minor: Write failed
  #010: H5FDint.c line 308 in H5FD_write(): driver write request failed
    major: Virtual File Layer
    minor: Write failed
  #011: H5FDsec2.c line 810 in H5FD_sec2_write(): file write failed: time = Fri Jan 24 13:10:16 2020
, filename = 'result.hdf5', file descriptor = 3, errno = 5, error message = 'Input/output error', buf = 0x6651868, total write size = 16200, bytes this sub-write = 16200, bytes actually written = 18446744073709551615, offset = 412596204
    major: Low-level I/O
    minor: Write failed

Не могли бы вы помочь мне решить эту проблему?

ОС: Ubuntu 18.04.3 LTS

HDF5 Версия: 1.10.1

...