1- Large disks need to have their block size specified, without it, disks like my 6TB and my 8Tb hard drives will not work, badblocks will report the following error.
badblocks: Value too large for defined data type invalid end block (5860522584): must be 32-bit value
So the solution is to add the block size, like the following for example (This one is destructive)
badblocks -b 4096 -wsv /dev/sdb
It is a good idea to LOG THE BAD SECTORS (this is the command i usually use for a destructive test)
badblocks -b 4096 -o /root/badblockslog.txt -wsv /dev/sdb
In the command above, the W means do a destructive red-write test, the S is for show progress, and the V is for show the errors you encounter, the -o flowed by a file name is where to keep the log file