Hello Elena,

I have attached the file.

I log live data from a socket to a .h5 file ( catdata.h5 )

Parallelly,I read data from the same file using the below code.
I call this program every 1 min to read the data from the log.
It works smoothly for sometime.Then it thows that error and breaks.

#include <iostream>
#include <stdlib.h>
#include <hdf5.h>
#include <hdf5_hl.h>
#include <time.h>
#define LOG_FILE "/tmp/catdata.h5"
#define TABLE "deltalog"

using namespace std;
const size_t field_offset[]={0,8,16};
const size_t field_size[]={8,8,8};
const hid_t field_type[]=
{H5T_NATIVE_DOUBLE,H5T_NATIVE_ULLONG,H5T_NATIVE_DOUBLE};
typedef struct rec_s
{
    double t;
    unsigned long long u64;
    double data;
}rec_t;

int main(int argc, char ** argv)
{
int result =1;
hsize_t nfields,nrec;
if(argc <2) return 0;
double delta = atoi(argv[1]);
//double delta = 10;
    struct timespec now;
    clock_gettime( CLOCK_REALTIME, &now);
    double start_time = now.tv_sec + ((now.tv_nsec / 1000000) *0.001);
    start_time -= delta;
    hid_t      file_id;
    file_id = H5Fopen(LOG_FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
    H5TBget_table_info ( file_id, TABLE, &nfields, &nrec );
    rec_t* p_rec = new rec_t[nrec];
    if(p_rec)
    {
        H5TBread_table( file_id, TABLE, 24, field_offset, field_size, p_rec
);
    }
    H5Fclose( file_id );
    if(p_rec)
    {
        FILE* f=fopen("/tmp/catdata.xml","w");
        if(f)
        {
            fprintf(f,"<records>");
            for(int i=0; i<nrec; i++)
            {
                if(p_rec[i].t > start_time )
                {
                    fprintf(f,"<r t=\"%lf\" p=\"%llu\"
v=\"%lf\"/>\n",p_rec[i].t, p_rec[i].u64, p_rec[i].data);
                }
            }
            fprintf(f,"</records>");
            fclose(f);
        }
        delete[] p_rec;
    }
}


On Mon, Apr 20, 2015 at 4:17 AM, Elena Pourmal <[email protected]>
wrote:

>  Hi Vishnu,
>
>  Information you provided is not enough to troubleshoot the problem.
>
>  Could you dump the file with h5dump? If so, could you please post the
> code that shows how you are reading data?
>
>  Thank you!
>
>  Elena
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Elena Pourmal  The HDF Group  http://hdfgroup.org
> 1800 So. Oak St., Suite 203, Champaign IL 61820
> 217.531.6112
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
>
>
>  On Apr 15, 2015, at 3:52 AM, vishnu suganth <[email protected]>
> wrote:
>
>  Hello,
>
>  I am new to HDF File Operations:
> I get such an error while trying to read a H5TB data from a .h5 file.
> Any idea why this occurred ?
>
>  HDF5-DIAG: Error detected in HDF5 (1.8.14) thread 0:
>   #000: H5Dio.c line 173 in H5Dread(): can't read data
>     major: Dataset
>     minor: Read failed
>   #001: H5Dio.c line 550 in H5D__read(): can't read data
>     major: Dataset
>     minor: Read failed
>   #002: H5Dchunk.c line 1872 in H5D__chunk_read(): unable to read raw data
> chunk
>     major: Low-level I/O
>     minor: Read failed
>   #003: H5Dchunk.c line 2897 in H5D__chunk_lock(): unable to read raw data
> chunk
>     major: Low-level I/O
>     minor: Read failed
>   #004: H5Fio.c line 120 in H5F_block_read(): read through metadata
> accumulator failed
>     major: Low-level I/O
>     minor: Read failed
>   #005: H5Faccum.c line 263 in H5F__accum_read(): driver read request
> failed
>     major: Low-level I/O
>     minor: Read failed
>   #006: H5FDint.c line 204 in H5FD_read(): driver read request failed
>     major: Virtual File Layer
>     minor: Read failed
>   #007: H5FDsec2.c line 692 in H5FD_sec2_read(): addr overflow, addr =
> 37288, size=576, eoa=37288
>     major: Invalid arguments to routine
>     minor: Address overflowed
>
>
>
>  Thanks & Regards,
> Vishnu Suganth
>  _______________________________________________
> Hdf-forum is for HDF software users discussion.
> [email protected]
> http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
> Twitter: https://twitter.com/hdf5
>
>
>
> _______________________________________________
> Hdf-forum is for HDF software users discussion.
> [email protected]
> http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
> Twitter: https://twitter.com/hdf5
>

Attachment: catdata.h5
Description: Binary data

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Reply via email to