Re: ABORT_TASK: Sending TMR_TASK_DOES_NOT_EXIST for ref_tag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03-06-17 07:17, Nicholas A. Bellinger wrote:
Hi Pascal,

Adding the Cavium qla2xxx folks (Himanshu + Quinn) to CC'.

On Fri, 2017-06-02 at 14:10 +0200, Pascal de Bruijn wrote:
Hi,


We're setting up some storage servers where we're using lio/tcm_qla2xxx
to present some volumes via our FibreChannel fabrics to some VMware hosts.

We have two near identical servers, one connected to two single-switch
mini-fabrics, which has been operating fine. (This storage server has
two VMware hosts accessing the single LUN it presents).

The second storage server is connected to a larger multi-switch fabric
(with some zoning), which during testing has experienced a lockup, with
no clear cause visible on screen. We're still trying to reproduce. (This
storage server has nine VMware hosts accessing the single LUN it presents).

The lockup happened with 4.9.29, now after a minor update, from a new
boot, with a slightly updated kernel:


Linux liohost01 4.9.30#4 SMP Fri Jun 2 10:16:13 CEST 2017 x86_64 GNU/Linux


81:00.0 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channe to PCI Express HBA (rev 02)
81:00.1 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)
82:00.0 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)
82:00.1 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)


[    7.661080] qla2xxx [0000:00:00.0]-0005: : QLogic Fibre Channel HBA Driver: 8.07.00.38-k.
[    7.661786] qla2xxx [0000:81:00.0]-001d: : Found an ISP2532 irq 33 iobase 0xffffb874c6365000.
[    7.872535] scsi host2: qla2xxx
[    7.876854] qla2xxx [0000:81:00.0]-00fb:2: QLogic QLE2562 -  PCI-Express Dual Channel 8Gb Fibre Channel HBA.
[    7.876863] qla2xxx [0000:81:00.0]-00fc:2: ISP2532: PCIe (5.0GT/s x8) @ 0000:81:00.0 hdma+ host#=2 fw=8.03.00 (90d5).
[    7.877122] qla2xxx [0000:81:00.1]-001d: : Found an ISP2532 irq 114 iobase 0xffffb874c6425000.
[    8.083587] scsi host3: qla2xxx
[    8.087721] qla2xxx [0000:81:00.1]-00fb:3: QLogic QLE2562 - PCI-Express Dual Channel 8Gb Fibre Channel HBA.
[    8.087730] qla2xxx [0000:81:00.1]-00fc:3: ISP2532: PCIe (5.0GT/s x8) @ 0000:81:00.1 hdma+ host#=3 fw=8.03.00 (90d5).
[    8.087953] qla2xxx [0000:82:00.0]-001d: : Found an ISP2532 irq 35 iobase 0xffffb874c6435000.
[    8.299587] scsi host4: qla2xxx
[    8.303724] qla2xxx [0000:82:00.0]-00fb:4: QLogic QLE2562 - PCI-Express Dual Channel 8Gb Fibre Channel HBA.
[    8.303733] qla2xxx [0000:82:00.0]-00fc:4: ISP2532: PCIe (5.0GT/s x8) @ 0000:82:00.0 hdma+ host#=4 fw=8.03.00 (90d5).
[    8.303948] qla2xxx [0000:82:00.1]-001d: : Found an ISP2532 irq 119 iobase 0xffffb874c6445000.
[    8.516620] scsi host5: qla2xxx
[    8.520658] qla2xxx [0000:82:00.1]-00fb:5: QLogic QLE2562 - PCI-Express Dual Channel 8Gb Fibre Channel HBA.
[    8.520667] qla2xxx [0000:82:00.1]-00fc:5: ISP2532: PCIe (5.0GT/s x8) @ 0000:82:00.1 hdma+ host#=5 fw=8.03.00 (90d5).
[   30.511280] qla2xxx [0000:82:00.1]-00af:5: Performing ISP error recovery - ha=ffff9a1355130000.
[   31.716856] qla2xxx [0000:82:00.1]-500a:5: LOOP UP detected (4 Gbps).
[   35.656645] qla2xxx [0000:81:00.1]-00af:3: Performing ISP error recovery - ha=ffff9a11e6210000.
[   36.880156] qla2xxx [0000:81:00.1]-500a:3: LOOP UP detected (4 Gbps).
[   40.776863] qla2xxx [0000:82:00.0]-00af:4: Performing ISP error recovery - ha=ffff9a11e4c90000.
[   41.993433] qla2xxx [0000:82:00.0]-500a:4: LOOP UP detected (4 Gbps).
[   46.920062] qla2xxx [0000:81:00.0]-00af:2: Performing ISP error recovery - ha=ffff9a11e6ed0000.
[   48.146786] qla2xxx [0000:81:00.0]-500a:2: LOOP UP detected (4 Gbps).


We see some kernel messages on both storage servers:

[  557.363627] qla2xxx/21:00:00:24:ff:54:a4:b6: Unsupported SCSI Opcode
0x85, sending CHECK_CONDITION.

You've already pointed out elsewhere on the list that this is not an
real issue.


However, on the storage server that experienced the lockup, we do see
some kernel messages, that aren't present on the storage server that
didn't lock up:

[  739.250099] ABORT_TASK: Found referenced qla2xxx task_tag: 1184452
[  739.250101] ABORT_TASK: Sending TMR_TASK_DOES_NOT_EXIST for ref_tag:
1184452

I've seen this about 80 times over the past three hours.

I'd appreciate any pointers you could give me as to the nature of the
above kernel messages, and whether they warrant further investigation.

While the issues you've observing on the larger multi-switch fabric are
probably not related to VAAI, I wanted to point out a few things.

First, there is a well known ESX v5.5 u2+ host bug when VAAI
AtomicTestandSet (COMPARE_AND_WRITE) is used with the VMFS5 defaults,
which is enabled by default on all LIO exports.

The short of it is that every vendor recommends that you must
disable /VMFS3/UseATSForHBonVMFS5 on all ESX hosts as a work-around in
order to get a stable ESX setup with target that have VAAI
AtomicTestandSet enabled.  More details are here:

https://www.spinics.net/lists/target-devel/msg15173.html

Second, there have been a few reports on the list of people still having
issues with VAAI AtomicTestandSet even with /VMFS3/UseATSForHBonVMFS5
disabled on ESX host side.  One thing you can try is disabling ATS at
the target side using:

     echo 0 > /sys/kernel/config/target/core/$HBA/$DEV/attrib/emulate_caw

Note this only disables the COMPARE_AND_WRITE feature bit from being
reported during LUN scan, but doesn't reject COMPARE_AND_WRITE once it's
been disabled.  And since ESX doesn't allow VAAI ATS enabled VMFS5
volumes to fall back to non VAAI ATS operation, it may not be an option
for you.  However, since some folks have reported better stability with
qla2xxx/FC by explicitly disabling COMPARE_AND_WRITE on LIO-Target side,
it's worth considering for debugging.
Thanks for the heads up. Presumably the cleanest way to handle this is to set that property via targetcli, so it ends up in saveconfig?:

/backstores/block/mydev set attribute emulate_caw=0

Though the lack of the above should cause issues on the VMware side of things right? Not as much the LIO side of things...
Beyond that, Himanshu + Quinn can help with the next steps debugging
your issue.

We found the follow in remote syslog:

Jun 5 23:45:58 ourhost kernel: [37722.944891] qla2xxx/21:00:00:24:ff:54:a1:32: Unsupported SCSI Opcode 0x85, sending CHECK_CONDITION. Jun 5 23:46:03 ourhost kernel: [37728.246882] ABORT_TASK: Found referenced qla2xxx task_tag: 1205188 Jun 5 23:46:03 ourhost kernel: [37728.246884] ABORT_TASK: Sending TMR_TASK_DOES_NOT_EXIST for ref_tag: 1205188 Jun 5 23:46:03 ourhost kernel: [37728.246889] ABORT_TASK: Found referenced qla2xxx task_tag: 1205236 Jun 5 23:46:03 ourhost kernel: [37728.246890] ABORT_TASK: Sending TMR_TASK_DOES_NOT_EXIST for ref_tag: 1205236 Jun 5 23:46:04 ourhost kernel: [37728.976873] BUG: unable to handle kernel NULL pointer dereference at 00000000000000a8 Jun 5 23:46:04 ourhost kernel: [37728.976950] IP: [<ffffffffc09faad9>] target_complete_ok_work+0x119/0x2a0 [target_core_mod]
Jun  5 23:46:04 ourhost kernel: [37728.977030] PGD 0
Jun  5 23:46:04 ourhost kernel: [37728.977040]
Jun  5 23:46:04 ourhost kernel: [37728.977074] Oops: 0002 [#1] SMP
Jun 5 23:46:04 ourhost kernel: [37728.977107] Modules linked in: tcm_qla2xxx target_core_user uio target_core_pscsi target_core_file target_core_iblock iscsi_target_mod target_core_mod configfs raid456 async_raid6_recov async_memcpy async_pq async_xor xor as Jun 5 23:46:04 ourhost kernel: [37728.977510] CPU: 5 PID: 4765 Comm: kworker/5:1 Not tainted 4.9.30-ul4 #4 Jun 5 23:46:04 ourhost kernel: [37728.977551] Hardware name: Supermicro SYS-1028U-E1CRTP+/X10DRU-i+, BIOS 2.0b 08/09/2016 Jun 5 23:46:04 ourhost kernel: [37728.977621] Workqueue: target_completion target_complete_ok_work [target_core_mod] Jun 5 23:46:04 ourhost kernel: [37728.977687] task: ffff897550465e00 task.stack: ffffac0264a5c000 Jun 5 23:46:04 ourhost kernel: [37728.977727] RIP: 0010:[<ffffffffc09faad9>] [<ffffffffc09faad9>] target_complete_ok_work+0x119/0x2a0 [target_core_mod]

And for the same event we found this on the terminal (this was manually typed from a screenshot taken with a phone, some content was replaced with ...):

[<...>] ? __schedule+0x63/0x510
[<...>] ? schedule+0x31/0x80
[<...>] ? do_exit+0x82e/0xa00
[<...>] ? rewind_stack_do_exit+0x17x0x19
ABORT_TASK: Found referenced qla2xxx task_tag: 1218964
ABORT_TASK: Found referenced qla2xxx task_tag: 1241380
mpt3sas_cmd0: _base_event_notification: timeout
mf:
...
...
...
...
sd 1:0:2:0 attempting task abort! scmd(ffff896d51e68d58)
sd 1:0:2:0 [sdd] tag#2118 CDB: ATA command pass through(16) 85 08 2e 00 00 00 01 00 00 00 00 00 00 00 ec 00
scsi target1:0:2: handle(0x000c), sas_address(0x500304801f232d02), ph(2)
scsi target1:0:2: enclosure_logical_id(0x500304801f232d3f), slot(2)
scsi target1:0:2: enclosure_level(0x0000),connector name(     )



On the same machine we came across this as well, though not directly related to the lockup illustrated above:
TARGET_CORE[qla2xxx]: Detected NON_EXISTANT_LUN Access for 0x000000f5


It's sister machine (same hardware) also experienced a lockup this weekend, though with more unexpected track trace:


vprintk_default
put_dec
number
vgacon_scroll
vgacon_set_cursor_size.isra.
atomic_notifier_call_chain
vt_console_print
up
console_unlock
vprintk_emit
vprintk_default
_raw_spin_lock
__schedule
schedule
do_exit
rewind_stack_do_exit


We're going to see if we can arrange for serial console output and logging, so we have more complete view of the traces.

Any guidance toward troubleshooting this more effectively would be much appreciated in the meanwhile.

Regards,
Pascal de Bruijn


--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux