OpenSolaris

Printable Version Enter a New Search
Bug ID 6564633
Synopsis The original ereports should be attached to all new FMEs created by serd engines triggering
State 10-Fix Delivered (Fix available in build)
Category:Subcategory fma:eversholt
Keywords fma
Responsible Engineer Stephen Hanson
Reported Against
Duplicate Of
Introduced In solaris_10
Commit to Fix snv_83
Fixed In snv_83
Release Fixed solaris_nevada(snv_83) , solaris_10u6(s10u6_01) (Bug ID:2161056)
Related Bugs
Submit Date 1-June-2007
Last Update Date 6-April-2008
Description
When Neptune driver detects an error, it may generate 3 ereport (invalid_state, service_lost and service_restored). Where invalid_state is posted by ddi_fm_ereport_post(), service_lost and service_restored are posted by ddi_fm_service_impact(). After receiveing certain number of ereports, the FMA diagnostics engine generates a new entry in the fault log.  However, the fault entry does not always contains the DETAILED information carried ONLY by the inval_state ereport.  Instead, often times the "fmdump -eVu uuid" command shows the information from service-lost or service-restored ereports which do not contain the detailed informative about failure).  We want the FMA diagnostics engine always record the information from the ddi_fm_ereport_post and never record the infomation from ddi_fm_service_impact.  This will make the FMA fault log more useful.

Two "fmdump -eVu uuid" results are shown below, the first one is the one we want (inval_state), the second one is the useless service-restored/service_lost fault report

# fmdump -eVu c72e884e-dd28-e1cf-bdb8-ac4909208d74
TIME                           CLASS
May 21 2007 09:37:12.630231530 ereport.io.device.inval_state
nvlist version: 0
        class = ereport.io.device.inval_state
        ena = 0xd927d032f1a02401
        detector = (embedded nvlist)
        nvlist version: 0
                version = 0x0
                scheme = dev
                device-path = /pci@7c0/pci@0/pci@8/network@0
        (end detector)

        detailed error type = tx_reorder_err      <<=== THIS IS THE IFNO WE NEED
        port number = 0x0
        txc reorder FIFO error state0(duplicate TID) = 0x0
        txc reorder FIFO error state1(uninitialized TID) = 0x0
        txc reorder FIFO error state2(timed out TIDs) = 0x0
        txc reorder FIFO error state3 = 0x1ff800
        txc reorder FIFO error control = 0x80000000
        txc reorder tids = 0x0
        __ttl = 0x1
        __tod = 0x4651cab8 0x259091ea


---------------------------------------------------

THIS IS A USELESS ONE
# fmdump -eVu 09c48c72-d7b4-e469-dfed-a6a5db75d5d5
TIME                           CLASS
May 21 2007 09:35:22.631332728 ereport.io.service.restored
nvlist version: 0
        class = ereport.io.service.restored
        ena = 0xd78e091327501001
        detector = (embedded nvlist)
        nvlist version: 0
                version = 0x0
                scheme = dev
                device-path = /pci@7c0/pci@0/pci@8/network@0
        (end detector)

        __ttl = 0x1
        __tod = 0x4651ca4a 0x25a15f78

May 21 2007 09:35:22.630405403 ereport.io.service.lost
nvlist version: 0
        class = ereport.io.service.lost
        ena = 0xd78e0830b1c01401
        detector = (embedded nvlist)
        nvlist version: 0
                version = 0x0
                scheme = dev
                device-path = /pci@7c0/pci@0/pci@8/network@0
        (end detector)

        __ttl = 0x1
        __tod = 0x4651ca4a 0x2593391b

#
Work Around
N/A
Comments
N/A