Badblocks comparison errors

I’ve just finished running badblocks on my drives (after running the smart tests which all drives passed). Most of them passed badblocks too with zero errors. But one, while it had no read or write errors, had over 7000 comparison errors. I understand this to mean that the test read something different than it wrote during the test for these blocks?

I output the test to a log file so I have all the blocks documented. Is there something I can do with this information? Or should do? All drives are running the final smart test. I’ve also ordered a couple more new drives to have on hand.

I’m assuming this drive needs to be replaced, but if repairing it or cordoning off the bad blocks is possible I’d rather do that. In my experience when drives go bad, they don’t work at all. This is the first time I’ve had a drive that seems fine until you test it. Any insight is appreciated.

Did they happen sequentially?

Is there a good sequential chunk of these that you can retest?

Would be interesting to see if you get different results (“pass”) on another run of just these blocks. That would point more to an HBA or cabling problem.

It would be the same command, but this time you add two more values at the end:
badblocks <options> <device> <last-block> <first-block>

Is there a good sequential chunk of these that you can retest?

There are lots of chunks in serial, 20-50 blocks or more at a time. It’s not all one section though. I will try your sectional test once the smart test finishes. Thanks!

I believe this all happened initially due to a cabling problem. This is actually the third drive of four to fail in this disaster (all failed within a couple weeks of each other). But I’ve since reseated all cables and secured the drives in a different part of the case.

Not just cabling, but if there’s an HBA involved it could be implicated.

2 Likes

Can you post the actual results where it states what, when, where, why, and who? :slight_smile:

Also the output of smartctl -x /dev/???
If you cut anything out, just cut the serial number and post the rest, or post it all. I never worry about the serial number.

Cheers

2 Likes

“Hi, Western Digital. I’d like to issue an RMA for the following serial numbers…”

:smiling_imp:

2 Likes

That never bothered me because if I need to RMA a drive, I can prove to them I have the real drive. Although I may not be able to do the Advanced RMA, pity.

All onboard SATA, native to the mobo.

# sudo badblocks -b 4096 -wsv -t 0x55 -t 0xaa -o ~/sde.log /dev/sde
Checking for bad blocks in read-write mode
From block 0 to 1220942645
Testing with pattern 0x55: done                                                 
Reading and comparing: done                                                 
Testing with pattern 0xaa: done                                                 
Reading and comparing: done
Pass completed, 7676 bad blocks found. (0/0/7676 errors)
# sudo smartctl -x /dev/sde
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.6.44-production+truenas] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 2.5 5400
Device Model:     ST5000LM000-2U8170
Serial Number:    [------]
LU WWN Device Id: 5 000c50 0e0e68e37
Firmware Version: 0001
User Capacity:    5,000,981,078,016 bytes [5.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Form Factor:      2.5 inches
Device is:        In smartctl database 7.3/5528
ATA Version is:   ACS-3 T13/2161-D revision 3b
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Fri Jan 17 06:22:50 2025 EET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is:   Unavailable
APM feature is:   Disabled
Rd look-ahead is: Enabled
Write cache is:   Enabled
DSN feature is:   Unavailable
ATA Security is:  Disabled, frozen [SEC2]
Wt Cache Reorder: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
See vendor-specific Attribute list for marginal Attributes.

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever 
                                        been run.
Total time to complete Offline 
data collection:                (    0) seconds.
Offline data collection
capabilities:                    (0x71) SMART execute Offline immediate.
                                        No Auto Offline data collection support.
                                        Suspend Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine 
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        ( 833) minutes.
Conveyance self-test routine
recommended polling time:        (   2) minutes.
SCT capabilities:              (0x7035) SCT Status supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
  1 Raw_Read_Error_Rate     POSR--   074   064   006    -    25436088
  3 Spin_Up_Time            PO----   098   097   000    -    0
  4 Start_Stop_Count        -O--CK   100   100   020    -    448
  5 Reallocated_Sector_Ct   PO--CK   096   096   036    -    24
  7 Seek_Error_Rate         POSR--   082   060   045    -    153971025
  9 Power_On_Hours          -O--CK   076   076   000    -    21100 (119 215 0)
 10 Spin_Retry_Count        PO--C-   100   100   097    -    0
 12 Power_Cycle_Count       -O--CK   100   100   020    -    368
184 End-to-End_Error        -O--CK   100   100   099    -    0
187 Reported_Uncorrect      -O--CK   100   100   000    -    0
188 Command_Timeout         -O--CK   100   099   000    -    4295032835
189 High_Fly_Writes         -O-RCK   100   100   000    -    0
190 Airflow_Temperature_Cel -O---K   075   039   040    Past 25 (0 10 34 17 0)
191 G-Sense_Error_Rate      -O--CK   100   100   000    -    32
192 Power-Off_Retract_Count -O--CK   100   100   000    -    188
193 Load_Cycle_Count        -O--CK   098   098   000    -    4145
194 Temperature_Celsius     -O---K   025   061   000    -    25 (0 15 0 0 0)
197 Current_Pending_Sector  -O--C-   100   100   000    -    0
198 Offline_Uncorrectable   ----C-   100   100   000    -    0
199 UDMA_CRC_Error_Count    -OSRCK   200   200   000    -    0
240 Head_Flying_Hours       ------   100   253   000    -    20971 (80 58 0)
241 Total_LBAs_Written      ------   100   253   000    -    90269577503
242 Total_LBAs_Read         ------   100   253   000    -    315622297429
                            ||||||_ K auto-keep
                            |||||__ C event count
                            ||||___ R error rate
                            |||____ S speed/performance
                            ||_____ O updated online
                            |______ P prefailure warning

General Purpose Log Directory Version 1
SMART           Log Directory Version 1 [multi-sector log support]
Address    Access  R/W   Size  Description
0x00       GPL,SL  R/O      1  Log Directory
0x01           SL  R/O      1  Summary SMART error log
0x02           SL  R/O      5  Comprehensive SMART error log
0x03       GPL     R/O      5  Ext. Comprehensive SMART error log
0x04       GPL,SL  R/O      8  Device Statistics log
0x06           SL  R/O      1  SMART self-test log
0x07       GPL     R/O      1  Extended self-test log
0x09           SL  R/W      1  Selective self-test log
0x10       GPL     R/O      1  NCQ Command Error log
0x11       GPL     R/O      1  SATA Phy Event Counters log
0x21       GPL     R/O      1  Write stream error log
0x22       GPL     R/O      1  Read stream error log
0x24       GPL     R/O    512  Current Device Internal Status Data log
0x30       GPL,SL  R/O      9  IDENTIFY DEVICE data log
0x80-0x9f  GPL,SL  R/W     16  Host vendor specific log
0xa1       GPL,SL  VS      24  Device vendor specific log
0xa2       GPL     VS    8160  Device vendor specific log
0xa8       GPL,SL  VS     136  Device vendor specific log
0xa9       GPL,SL  VS       1  Device vendor specific log
0xab       GPL     VS       1  Device vendor specific log
0xb0       GPL     VS    8920  Device vendor specific log
0xbe-0xbf  GPL     VS   65535  Device vendor specific log
0xc0       GPL,SL  VS       1  Device vendor specific log
0xc1       GPL,SL  VS      16  Device vendor specific log
0xc2       GPL,SL  VS     240  Device vendor specific log
0xc3       GPL,SL  VS       8  Device vendor specific log
0xc4       GPL,SL  VS      24  Device vendor specific log
0xd3       GPL     VS    1920  Device vendor specific log
0xe0       GPL,SL  R/W      1  SCT Command/Status
0xe1       GPL,SL  R/W      1  SCT Data Transfer

SMART Extended Comprehensive Error Log Version: 1 (5 sectors)
No Errors Logged

SMART Extended Self-test Log Version: 1 (1 sectors)
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%     21100         -
# 2  Conveyance offline  Completed without error       00%     21032         -
# 3  Extended offline    Completed without error       00%     21029         -
# 4  Extended offline    Aborted by host               90%     21013         -
# 5  Extended offline    Completed: read failure       50%     21009         6014486720
# 6  Conveyance offline  Completed without error       00%     20996         -
# 7  Short offline       Completed without error       00%     20996         -
# 8  Extended offline    Completed without error       00%        99         -
# 9  Extended offline    Interrupted (host reset)      00%        86         -
#10  Extended offline    Interrupted (host reset)      00%        85         -
#11  Extended offline    Interrupted (host reset)      90%        83         -
#12  Extended offline    Completed without error       00%        14         -
#13  Conveyance offline  Completed without error       00%         1         -
#14  Extended offline    Aborted by host               90%         1         -
#15  Short offline       Completed without error       00%         0         -
1 of 1 failed self-tests are outdated by newer successful extended offline self-test # 1

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

SCT Status Version:                  3
SCT Version (vendor specific):       522 (0x020a)
Device State:                        Active (0)
Current Temperature:                    25 Celsius
Power Cycle Min/Max Temperature:     16/34 Celsius
Lifetime    Min/Max Temperature:     15/62 Celsius
Specified Max Operating Temperature:    42 Celsius
Under/Over Temperature Limit Count:   0/0

SCT Temperature History Version:     2
Temperature Sampling Period:         1 minute
Temperature Logging Interval:        30 minutes
Min/Max recommended Temperature:     14/55 Celsius
Min/Max Temperature Limit:           10/60 Celsius
Temperature History Size (Index):    128 (91)

Index    Estimated Time   Temperature Celsius
  92    2025-01-14 14:30    32  *************
 ...    ..(  4 skipped).    ..  *************
  97    2025-01-14 17:00    32  *************
  98    2025-01-14 17:30    31  ************
 ...    ..( 14 skipped).    ..  ************
 113    2025-01-15 01:00    31  ************
 114    2025-01-15 01:30    30  ***********
 ...    ..(  6 skipped).    ..  ***********
 121    2025-01-15 05:00    30  ***********
 122    2025-01-15 05:30    29  **********
 123    2025-01-15 06:00    29  **********
 124    2025-01-15 06:30    30  ***********
 125    2025-01-15 07:00    30  ***********
 126    2025-01-15 07:30    30  ***********
 127    2025-01-15 08:00    29  **********
   0    2025-01-15 08:30    29  **********
   1    2025-01-15 09:00    29  **********
   2    2025-01-15 09:30    30  ***********
   3    2025-01-15 10:00    29  **********
   4    2025-01-15 10:30    30  ***********
   5    2025-01-15 11:00    31  ************
   6    2025-01-15 11:30    31  ************
   7    2025-01-15 12:00    33  **************
   8    2025-01-15 12:30    34  ***************
   9    2025-01-15 13:00    33  **************
 ...    ..(  6 skipped).    ..  **************
  16    2025-01-15 16:30    33  **************
  17    2025-01-15 17:00    32  *************
 ...    ..(  4 skipped).    ..  *************
  22    2025-01-15 19:30    32  *************
  23    2025-01-15 20:00    31  ************
 ...    ..(  4 skipped).    ..  ************
  28    2025-01-15 22:30    31  ************
  29    2025-01-15 23:00    30  ***********
 ...    ..( 15 skipped).    ..  ***********
  45    2025-01-16 07:00    30  ***********
  46    2025-01-16 07:30    29  **********
 ...    ..(  4 skipped).    ..  **********
  51    2025-01-16 10:00    29  **********
  52    2025-01-16 10:30    30  ***********
  53    2025-01-16 11:00    30  ***********
  54    2025-01-16 11:30    31  ************
  55    2025-01-16 12:00    31  ************
  56    2025-01-16 12:30    30  ***********
 ...    ..(  2 skipped).    ..  ***********
  59    2025-01-16 14:00    30  ***********
  60    2025-01-16 14:30    26  *******
  61    2025-01-16 15:00    25  ******
  62    2025-01-16 15:30    25  ******
  63    2025-01-16 16:00    25  ******
  64    2025-01-16 16:30    31  ************
 ...    ..(  8 skipped).    ..  ************
  73    2025-01-16 21:00    31  ************
  74    2025-01-16 21:30    30  ***********
 ...    ..( 10 skipped).    ..  ***********
  85    2025-01-17 03:00    30  ***********
  86    2025-01-17 03:30    29  **********
 ...    ..(  3 skipped).    ..  **********
  90    2025-01-17 05:30    29  **********
  91    2025-01-17 06:00    25  ******

SCT Error Recovery Control command not supported

Device Statistics (GP Log 0x04)
Page  Offset Size        Value Flags Description
0x01  =====  =               =  ===  == General Statistics (rev 1) ==
0x01  0x008  4             368  ---  Lifetime Power-On Resets
0x01  0x010  4           21100  ---  Power-on Hours
0x01  0x018  6     90262141991  ---  Logical Sectors Written
0x01  0x020  6       979786862  ---  Number of Write Commands
0x01  0x028  6    315616607218  ---  Logical Sectors Read
0x01  0x030  6      2222202798  ---  Number of Read Commands
0x01  0x038  6               -  ---  Date and Time TimeStamp
0x03  =====  =               =  ===  == Rotating Media Statistics (rev 1) ==
0x03  0x008  4      1490119041  N--  Spindle Motor Power-on Hours
0x03  0x010  4      1490118918  N--  Head Flying Hours
0x03  0x018  4            4145  ---  Head Load Events
0x03  0x020  4              24  ---  Number of Reallocated Logical Sectors
0x03  0x028  4               0  ---  Read Recovery Attempts
0x03  0x030  4               0  ---  Number of Mechanical Start Failures
0x03  0x038  4               0  ---  Number of Realloc. Candidate Logical Sectors
0x04  =====  =               =  ===  == General Errors Statistics (rev 1) ==
0x04  0x008  4             260  ---  Number of Reported Uncorrectable Errors
0x04  0x010  4               2  ---  Resets Between Cmd Acceptance and Completion
                                |||_ C monitored condition met
                                ||__ D supports DSN
                                |___ N normalized value

Pending Defects log (GP Log 0x0c) not supported

SATA Phy Event Counters (GP Log 0x11)
ID      Size     Value  Description
0x000a  2            3  Device-to-host register FISes sent due to a COMRESET
0x0001  2            0  Command failed due to ICRC error
0x0003  2            0  R_ERR response for device-to-host data FIS
0x0004  2            0  R_ERR response for host-to-device data FIS
0x0006  2            0  R_ERR response for device-to-host non-data FIS

Oddly, I tested a few of the chunks toward the beginning and badblocks found 0 errors. Unfortunately I overwrote the log file like an idiot, so I’ve lost all the bad sectors. But this is odd right?

# sudo badblocks -b 4096 -wsv -t 0x55 -t 0xaa -o ~/sde.log /dev/sde 167677914 167677892
Checking for bad blocks in read-write mode
From block 167677892 to 167677914
Testing with pattern 0x55: done                                                 
Reading and comparing: done                                                 
Testing with pattern 0xaa: done                                                 
Reading and comparing: done                                                 
Pass completed, 0 bad blocks found. (0/0/0 errors)
# sudo badblocks -b 4096 -wsv -t 0x55 -t 0xaa -o ~/sde.log /dev/sde 167641215 167641196
Checking for bad blocks in read-write mode
From block 167641196 to 167641215
Testing with pattern 0x55: done                                                 
Reading and comparing: done                                                 
Testing with pattern 0xaa: done                                                 
Reading and comparing: done                                                 
Pass completed, 0 bad blocks found. (0/0/0 errors)
# sudo badblocks -b 4096 -wsv -t 0x55 -t 0xaa -o ~/sde.log /dev/sde 351663615 351663551
Checking for bad blocks in read-write mode
From block 351663551 to 351663615
Testing with pattern 0x55: done                                                 
Reading and comparing: done                                                 
Testing with pattern 0xaa: done                                                 
Reading and comparing: done                                                 
Pass completed, 0 bad blocks found. (0/0/0 errors)

To me the following look like a possible connection issue as the drive having trouble communicating with the system:

7 Seek_Error_Rate POSR-- 082 060 045 - 153971025
188 Command_Timeout -O–CK 100 099 000 - 4295032835

This however looks concerning to me as it means the disk has identified bad sectors - I don’t think that’d happen due to a wire fault, as I’m mildly confident that it is something the disk itself would identify.

5 Reallocated_Sector_Ct PO–CK 096 096 036 - 24

IMO soon to fail, especially if that count continues to increase.

3 Likes

Looks to be SMR type drive, if correct don’t use it with ZFS anyways.

Seems whilst it supports SATA 3, is only connecting at SATA 2 speeds, seems like a connection issue here as well…

1 Like

…or an old motherboard with SATA 2 ports.
Anyway, SATA 2 is more than enough for HDDs and the disk, on top of being SMR, is not healthy:

The drive is doing its best to manage issues, but there are issues and the only way from there is downwards.

Replace this drive.

2 Likes

I have ordered a couple drives to have on hand, so I’ll be ready to do this if this continues as it has.

This is a point that’s been beaten to death for me. I have replaced most of my drives with CMR drives (exos) but a couple SMR drives like this one remain. If I end up replacing it, as it appears will be the case, I’ll have just 1 SMR left.

This. It was the best compromise of price and features, an old supermicro. It hasn’t been without its frustrations, but as long as it’s not responsible for this current disaster, it has been worth the price of admission.

Supermicro X10SLM±LN4F

It has 4 SATAIII and 2 SATAII. I think they all operate at the lower level right? I believe this drive is on one of the SATAII ports in any case.

1 Like

SATA 3 ports should do SATA 3. Anyway, these are only relevant for SSDs, SATA 2 already provides enough bandwith for HDDs.

2 Likes

badblocks is run to find bad drives before putting them into production. It seems to have worked.

The smart results are also showing this. And were probably showing these failures before the badblocks run too.

I would’ve already replaced the drive :wink:

2 Likes