Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

why crc16_t10dif() may make mistakes but crc16_t10dif_copy() running OK in file storage test ? #293

Open
joehou89 opened this issue Jul 29, 2024 · 0 comments

Comments

@joehou89
Copy link

Problem description
in our distributed file storage, we use isa-l crc as data validation in file storage io . to be sure, we use the API as follows:
crc16_t10dif()
however, in our test,the API return error, and some partial stack information is as follows:

(gdb) bt
#0 0x00000000004404f4  in crc16_t10dif_by16_10() 
#1 0x00007fdef2d86377 in hcrc_calc_csum16_inner (...)
...

The calling relationship of functions is: hcrc_calc_csum16_inner -- > crc16_t10dif -- > crc16_t10dif_by16_10

and,there is crc bug happens when performing file write operations.
But when we switch crc16_t10dif to crc16_t10dif_copy(), the program is OK
What a strange thing ???
now, we have 2 ideas as follows:
(1). the function crc16_t10dif has mistakes itself when using it, but we have no idea how it happens, e.g compile optimization;
(2). running error in crc16_t10dif maybe has relationship with our file storage business or something , however, we can't catch it.

So, we want to know, if somebody has meet the same questions ? thanks a lot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant