9211 (LSI/SAS) issues on 11.2-STABLE
Karl Denninger
karl at denninger.net
Tue Feb 5 22:50:21 UTC 2019
BTW under 12.0-STABLE (built this afternoon after the advisories came
out, with the patches) it's MUCH worse. I get the same device resets
BUT it's followed by an immediate panic which I cannot dump as it
generates a page-fault (supervisor read data, page not present) in the
mps *driver* at mpssas_send_abort+0x21.
This precludes a dump of course since attempting to do so gives you a
double-panic (I was wondering why I didn't get a crash dump!); I'll
re-jigger the box to stick a dump device on an internal SATA device so I
can successfully get the dump when it happens and see if I can obtain a
proper crash dump on this.
I think it's fair to assume that 12.0-STABLE should not panic on a disk
problem (unless of course the problem is trying to page something back
in -- it's not, the drive that aborts and resets is on a data pack doing
a scrub)
On 2/5/2019 10:26, Karl Denninger wrote:
> On 2/5/2019 09:22, Karl Denninger wrote:
>> On 2/2/2019 12:02, Karl Denninger wrote:
>>> I recently started having some really oddball things happening under
>>> stress. This coincided with the machine being updated to 11.2-STABLE
>>> (FreeBSD 11.2-STABLE #1 r342918:) from 11.1.
>>>
>>> Specifically, I get "errors" like this:
>>>
>>> (da12:mps0:0:37:0): READ(10). CDB: 28 00 af 82 bb 08 00 01 00 00
>>> length 131072 SMID 269 Aborting command 0xfffffe0001179110
>>> mps0: Sending reset from mpssas_send_abort for target ID 37
>>> (da12:mps0:0:37:0): READ(10). CDB: 28 00 af 82 bc 08 00 01 00 00
>>> length 131072 SMID 924 terminated ioc 804b loginfo 31140000 scsi 0 state
>>> c xfer 0
>>> (da12:mps0:0:37:0): READ(10). CDB: 28 00 af 82 ba 08 00 01 00 00
>>> length 131072 SMID 161 terminated ioc 804b loginfo 31140000 scsi 0 state
>>> c xfer 0
>>> mps0: Unfreezing devq for target ID 37
>>> (da12:mps0:0:37:0): READ(10). CDB: 28 00 af 82 bc 08 00 01 00 00
>>> (da12:mps0:0:37:0): CAM status: CCB request completed with an error
>>> (da12:mps0:0:37:0): Retrying command
>>> (da12:mps0:0:37:0): READ(10). CDB: 28 00 af 82 bb 08 00 01 00 00
>>> (da12:mps0:0:37:0): CAM status: Command timeout
>>> (da12:mps0:0:37:0): Retrying command
>>> (da12:mps0:0:37:0): READ(10). CDB: 28 00 af 82 ba 08 00 01 00 00
>>> (da12:mps0:0:37:0): CAM status: CCB request completed with an error
>>> (da12:mps0:0:37:0): Retrying command
>>> (da12:mps0:0:37:0): READ(10). CDB: 28 00 af 82 ba 08 00 01 00 00
>>> (da12:mps0:0:37:0): CAM status: SCSI Status Error
>>> (da12:mps0:0:37:0): SCSI status: Check Condition
>>> (da12:mps0:0:37:0): SCSI sense: UNIT ATTENTION asc:29,0 (Power on,
>>> reset, or bus device reset occurred)
>>> (da12:mps0:0:37:0): Retrying command (per sense data)
>>>
>>> The "Unit Attention" implies the drive reset. It only occurs on certain
>>> drives under very heavy load (e.g. a scrub.) I've managed to provoke it
>>> on two different brands of disk across multiple firmware and capacities,
>>> however, which tends to point away from a drive firmware problem.
>>>
>>> A look at the pool data shows /no /errors (e.g. no checksum problems,
>>> etc) and a look at the disk itself (using smartctl) shows no problems
>>> either -- whatever is going on here the adapter is recovering from it
>>> without any data corruption or loss registered on *either end*!
>>>
>>> The configuration is an older SuperMicro Xeon board (X8DTL-IF) and shows:
>>>
>>> mps0: <Avago Technologies (LSI) SAS2008> port 0xc000-0xc0ff mem
>>> 0xfbb3c000-0xfbb3ffff,0xfbb40000-0xfbb7ffff irq 30 at device 0.0 on pci3
>>> mps0: Firmware: 19.00.00.00, Driver: 21.02.00.00-fbsd
>>> mps0: IOCCapabilities:
>>> 1285c<ScsiTaskFull,DiagTrace,SnapBuf,EEDP,TransRetry,EventReplay,HostDisc>
>> After considerable additional work this looks increasingly like either a
>> missed interrupt or a command is getting lost between the host adapter
>> and the expander.
>>
>> I'm going to turn the driver debug level up and see if I can capture
>> more information..... whatever is behind this, however, it is
>> almost-certainly related to something that changed between 11.1 and
>> 11.2, as I never saw these on the 11.1-STABLE build.
>>
>> --
>> Karl Denninger
>> karl at denninger.net <mailto:karl at denninger.net>
>> /The Market Ticker/
>> /[S/MIME encrypted email preferred]/
> Pretty decent trace here -- any ideas?
>
> mps0: timedout cm 0xfffffe00011b5020 allocated tm 0xfffffe00011812a0
> (da11:mps0:0:37:0): READ(10). CDB: 28 00 82 b5 3b 80 00 01 00 00
> length 131072 SMID 634 Aborting command 0xfffffe00011b5020
> mps0: Sending reset from mpssas_send_abort for target ID 37
> mps0: queued timedout cm 0xfffffe00011c2760 for processing by tm
> 0xfffffe00011812a0
> mps0: queued timedout cm 0xfffffe00011a74f0 for processing by tm
> 0xfffffe00011812a0
> mps0: queued timedout cm 0xfffffe00011cfd50 for processing by tm
> 0xfffffe00011812a0
> mps0: EventReply :
> EventDataLength: 2
> AckRequired: 0
> Event: SasDiscovery (0x16)
> EventContext: 0x0
> Flags: 1<InProgress>
> ReasonCode: Discovery Started
> PhysicalPort: 0
> DiscoveryStatus: 0
> mps0: (0)->(mpssas_fw_work) Working on Event: [16]
> mps0: (1)->(mpssas_fw_work) Event Free: [16]
> (da11:mps0:0:37:0): READ(10). CDB: 28 00 82 b5 3c 80 00 01 00 00
> length 131072 SMID 961 completed timedout cm 0xfffffe00011cfd50 ccb
> 0xfffff8019458e000 during recovery ioc 804b scsi 0 state c
> (da11:mps0:0:37:0): READ(10). CDB: 28 00 82 b5 3c 80 00 01 00 00 length
> 131072 SMID 961 terminated ioc 804b loginfo 31140000 scsi 0 state c xfer 0
> (da11:mps0:0:37:0): READ(10). CDB: 28 00 82 b5 3b 80 00 01 00 00
> length 131072 SMID 634 completed timedout cm
> 0xfffffe00011b5(da11:mps0:0:37:0): READ(10). CDB: 28 00 82 b5 3c 80 00
> 01 00 00
> 020 ccb 0xfffff80056fb5000 during recovery ioc 8048 scsi 0 state
> c(da11:mps0:0:37:0): CAM status: CCB request completed with an error
> (da11:mps0:0:37:0): Retrying command
> (da11:mps0:0:37:0): READ(10). CDB: 28 00 82 b5 3a 80 00 01 00 00
> length 131072 SMID 798 completed timedout cm 0xfffffe00011c2760 ccb
> 0xfffff80054e86000 during recovery ioc 804b scsi 0 state c
> (da11:mps0:0:37:0): READ(10). CDB: 28 00 82 b5 3a 80 00 01 00 00 length
> 131072 SMID 798 terminated ioc 804b loginfo 31140000 scsi 0 state c xfer 0
> (da11:mps0:0:37:0): READ(10). CDB: 28 00 82 b5 39 80 00 01 00 00
> length 131072 SMID 467 completed timedout cm 0xfffffe00011a74f0 ccb
> 0xfffff8011efe3000 during recovery ioc 804b scsi 0 state c
> (da11:mps0:0:37:0): READ(10). CDB: 28 00 82 b5 39 80 00 01 00 00 length
> 131072 SMID 467 terminated ioc 804b loginfo 31140000 scsi 0 state c xfer 0
> (xpt0:mps0:0:37:0): SMID 2 abort TaskMID 634 status 0x0 code 0x0
> count 4
> (xpt0:mps0:0:37:0): SMID 2 finished recovery after aborting
> TaskMID 634
> mps0: Unfreezing devq for target ID 37
> (da11:mps0:0:37:0): READ(10). CDB: 28 00 82 b5 3b 80 00 01 00 00
> (da11:mps0:0:37:0): CAM status: Command timeout
> (da11:mps0:0:37:0): Retrying command
> (da11:mps0:0:37:0): READ(10). CDB: 28 00 82 b5 3a 80 00 01 00 00
> (da11:mps0:0:37:0): CAM status: CCB request completed with an error
> (da11:mps0:0:37:0): Retrying command
> (da11:mps0:0:37:0): READ(10). CDB: 28 00 82 b5 39 80 00 01 00 00
> (da11:mps0:0:37:0): CAM status: CCB request completed with an error
> (da11:mps0:0:37:0): Retrying command
> mps0: EventReply :
> EventDataLength: 4
> AckRequired: 0
> Event: SasTopologyChangeList (0x1c)
> EventContext: 0x0
> EnclosureHandle: 0x2
> ExpanderDevHandle: 0x9
> NumPhys: 25
> NumEntries: 1
> StartPhyNum: 12
> ExpStatus: Responding (0x3)
> PhysicalPort: 0
> PHY[12].AttachedDevHandle: 0x0013
> PHY[12].LinkRate: 6.0Gbps (0xaa)
> PHY[12].PhyStatus: PHYLinkStatusChange
> mps0: (1)->(mpssas_fw_work) Working on Event: [1c]
> mps0: (2)->(mpssas_fw_work) Event Free: [1c]
> mps0: EventReply :
> EventDataLength: 2
> AckRequired: 0
> Event: SasDiscovery (0x16)
> EventContext: 0x0
> Flags: 0
> ReasonCode: Discovery Complete
> PhysicalPort: 0
> DiscoveryStatus: 0
> mps0: (2)->(mpssas_fw_work) Working on Event: [16]
> mps0: (3)->(mpssas_fw_work) Event Free: [16]
> (da11:mps0:0:37:0): READ(10). CDB: 28 00 82 b5 39 80 00 01 00 00
> (da11:mps0:0:37:0): CAM status: SCSI Status Error
> (da11:mps0:0:37:0): SCSI status: Check Condition
> (da11:mps0:0:37:0): SCSI sense: UNIT ATTENTION asc:29,0 (Power on,
> reset, or bus device reset occurred)
> (da11:mps0:0:37:0): Retrying command (per sense data)
>
> This is what's running right now that produced that -- note no errors
> reported on the two providers (the degraded state is intentional; the
> third unit is off-site in a bank vault):
>
> [karl at NewFS /var/log]$ zpool status backup
> pool: backup
> state: DEGRADED
> status: One or more devices has been taken offline by the administrator.
> Sufficient replicas exist for the pool to continue functioning in a
> degraded state.
> action: Online the device using 'zpool online' or replace the device with
> 'zpool replace'.
> scan: scrub in progress since Tue Feb 5 06:57:14 2019
> 840G scanned at 200M/s, 517G issued at 123M/s, 3.36T total
> 0 repaired, 15.04% done, 0 days 06:44:17 to go
> config:
>
> NAME STATE READ WRITE CKSUM
> backup DEGRADED 0 0 0
> mirror-0 DEGRADED 0 0 0
> gpt/backup61.eli ONLINE 0 0 0
> gpt/backup62-1.eli ONLINE 0 0 0
> 13282812295755460479 OFFLINE 0 0 0 was
> /dev/gpt/backup62-2.eli
>
> errors: No known data errors
>
> But, here's the SMART data on the disk -- it DOES show the reset:
>
> Before....
>
> Device Statistics (GP Log 0x04)
> Page Offset Size Value Flags Description
> 0x01 ===== = = === == General Statistics (rev 2) ==
> 0x01 0x008 4 19 --- Lifetime Power-On Resets
> 0x01 0x018 6 32002138534 --- Logical Sectors Written
> 0x01 0x020 6 155895325 --- Number of Write Commands
> 0x01 0x028 6 265457016500 --- Logical Sectors Read
> 0x01 0x030 6 1132601490 --- Number of Read Commands
> 0x01 0x038 6 61537515300 --- Date and Time TimeStamp
> 0x03 ===== = = === == Rotating Media Statistics (rev 1) ==
> 0x03 0x008 4 6114 --- Spindle Motor Power-on Hours
> 0x03 0x010 4 6114 --- Head Flying Hours
> 0x03 0x018 4 30602 --- Head Load Events
> 0x03 0x020 4 0 --- Number of Reallocated Logical Sectors
> 0x03 0x028 4 283735 --- Read Recovery Attempts
> 0x03 0x030 4 0 --- Number of Mechanical Start Failures
> 0x04 ===== = = === == General Errors Statistics (rev 1) ==
> 0x04 0x008 4 0 --- Number of Reported Uncorrectable Errors
> 0x04 0x010 4 17 --- Resets Between Cmd Acceptance and
> Completio
> n
> 0x05 ===== = = === == Temperature Statistics (rev 1) ==
> 0x05 0x008 1 38 --- Current Temperature
> 0x05 0x010 1 40 N-- Average Short Term Temperature
> 0x05 0x018 1 32 N-- Average Long Term Temperature
> 0x05 0x020 1 52 --- Highest Temperature
> 0x05 0x028 1 23 --- Lowest Temperature
> 0x05 0x030 1 48 N-- Highest Average Short Term Temperature
> 0x05 0x038 1 25 N-- Lowest Average Short Term Temperature
> 0x05 0x040 1 44 N-- Highest Average Long Term Temperature
> 0x05 0x048 1 25 N-- Lowest Average Long Term Temperature
> 0x05 0x050 4 0 --- Time in Over-Temperature
> 0x05 0x058 1 60 --- Specified Maximum Operating Temperature
> 0x05 0x060 4 0 --- Time in Under-Temperature
> 0x05 0x068 1 0 --- Specified Minimum Operating Temperature
> 0x06 ===== = = === == Transport Statistics (rev 1) ==
> 0x06 0x008 4 6 --- Number of Hardware Resets
> 0x06 0x010 4 0 --- Number of ASR Events
> 0x06 0x018 4 0 --- Number of Interface CRC Errors
> |||_ C monitored condition met
> ||__ D supports DSN
> |___ N normalized value
>
> And after....
>
> Device Statistics (GP Log 0x04)
> Page Offset Size Value Flags Description
> 0x01 ===== = = === == General Statistics (rev 2) ==
> 0x01 0x008 4 19 --- Lifetime Power-On Resets
> 0x01 0x018 6 32004195070 --- Logical Sectors Written
> 0x01 0x020 6 155946732 --- Number of Write Commands
> 0x01 0x028 6 266340052468 --- Logical Sectors Read
> 0x01 0x030 6 1136347463 --- Number of Read Commands
> 0x01 0x038 6 61540814700 --- Date and Time TimeStamp
> 0x03 ===== = = === == Rotating Media Statistics (rev 1) ==
> 0x03 0x008 4 6114 --- Spindle Motor Power-on Hours
> 0x03 0x010 4 6114 --- Head Flying Hours
> 0x03 0x018 4 30602 --- Head Load Events
> 0x03 0x020 4 0 --- Number of Reallocated Logical Sectors
> 0x03 0x028 4 283848 --- Read Recovery Attempts
> 0x03 0x030 4 0 --- Number of Mechanical Start Failures
> 0x04 ===== = = === == General Errors Statistics (rev 1) ==
> 0x04 0x008 4 0 --- Number of Reported Uncorrectable Errors
> 0x04 0x010 4 17 --- Resets Between Cmd Acceptance and
> Completion
> 0x05 ===== = = === == Temperature Statistics (rev 1) ==
> 0x05 0x008 1 41 --- Current Temperature
> 0x05 0x010 1 40 N-- Average Short Term Temperature
> 0x05 0x018 1 32 N-- Average Long Term Temperature
> 0x05 0x020 1 52 --- Highest Temperature
> 0x05 0x028 1 23 --- Lowest Temperature
> 0x05 0x030 1 48 N-- Highest Average Short Term Temperature
> 0x05 0x038 1 25 N-- Lowest Average Short Term Temperature
> 0x05 0x040 1 44 N-- Highest Average Long Term Temperature
> 0x05 0x048 1 25 N-- Lowest Average Long Term Temperature
> 0x05 0x050 4 0 --- Time in Over-Temperature
> 0x05 0x058 1 60 --- Specified Maximum Operating Temperature
> 0x05 0x060 4 0 --- Time in Under-Temperature
> 0x05 0x068 1 0 --- Specified Minimum Operating Temperature
> 0x06 ===== = = === == Transport Statistics (rev 1) ==
> 0x06 0x008 4 7 --- Number of Hardware Resets
> 0x06 0x010 4 0 --- Number of ASR Events
> 0x06 0x018 4 0 --- Number of Interface CRC Errors
> |||_ C monitored condition met
> ||__ D supports DSN
> |___ N normalized value
>
> Number of Hardware Resets has incremented. There are no other errors shown:
>
> SMART Attributes Data Structure revision number: 16
> Vendor Specific SMART Attributes with Thresholds:
> ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
> 1 Raw_Read_Error_Rate PO-R-- 100 100 016 - 0
> 2 Throughput_Performance P-S--- 137 137 054 - 104
> 3 Spin_Up_Time POS--- 132 132 024 - 497
> (Average 497)
> 4 Start_Stop_Count -O--C- 099 099 000 - 7074
> 5 Reallocated_Sector_Ct PO--CK 100 100 005 - 0
> 7 Seek_Error_Rate PO-R-- 100 100 067 - 0
> 8 Seek_Time_Performance P-S--- 128 128 020 - 18
> 9 Power_On_Hours -O--C- 098 098 000 - 17094
> 10 Spin_Retry_Count PO--C- 100 100 060 - 0
> 12 Power_Cycle_Count -O--CK 100 100 000 - 19
> 192 Power-Off_Retract_Count -O--CK 075 075 000 - 30602
> 193 Load_Cycle_Count -O--C- 075 075 000 - 30602
> 194 Temperature_Celsius -O---- 146 146 000 - 41 (Min/Max
> 23/52)
> 196 Reallocated_Event_Count -O--CK 100 100 000 - 0
> 197 Current_Pending_Sector -O---K 100 100 000 - 0
> 198 Offline_Uncorrectable ---R-- 100 100 000 - 0
> 199 UDMA_CRC_Error_Count -O-R-- 200 200 000 - 0
> ||||||_ K auto-keep
> |||||__ C event count
> ||||___ R error rate
> |||____ S speed/performance
> ||_____ O updated online
> |______ P prefailure warning
>
> I'd throw possible shade at the backplane or cable /but I have already
> swapped both out for spares without any change in behavior./
>
--
Karl Denninger
karl at denninger.net <mailto:karl at denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4897 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20190205/91f2e448/attachment-0001.bin>
More information about the freebsd-stable
mailing list