tech-kern archive

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

Re: PCIVERBOSE causing kernel stack overflow during boot - why?



In my case it crashed on the same device, Core i7-6xxxK/Xeon-D Memory
Controller (Target Address, Thermal, RAS) ID 0x6fa8. The last pci line
before the trap was for device immediatelly preceding that one.

Thanks Paul for getting to the bottom of this.

Jaromir

2016-10-25 7:02 GMT+02:00 Paul Goyette <paul%whooppee.com@localhost>:
> OK, here's the problem...
>
> The device in question is Intel product code 6fa8 which has a product name
> of (deliberately line-split to facilitate character counting)
>
>         "Core i7-6xxxK/Xeon-D Memory Cont"
>         "roller (Target Address, Thermal,"
>         " RAS)"
>
> That's a total of 65 characters plus trailing '\0'.
>
> Unfortunately pci/pci_verbose.h defines PCI_PRODUCTSTR_LEN to 64 (which
> would include the trailing '\0' as well as the space after the final word -
> this final space is removed in dev_untokenstring()), so this device's name
> is too long.
>
> It's still not clear to me why this is triggering SSP checks, but I think we
> can sweep the problem under the rug if we simply increase the value of
> PCI_PRODUCTSTR_LEN to a larger value.
>
> Index: pci_verbose.h
> ===================================================================
> RCS file: /cvsroot/src/sys/dev/pci/pci_verbose.h,v
> retrieving revision 1.4
> diff -u -p -r1.4 pci_verbose.h
> --- pci_verbose.h       21 Sep 2014 14:30:22 -0000      1.4
> +++ pci_verbose.h       25 Oct 2016 04:58:08 -0000
> @@ -36,7 +36,7 @@ typedef uint32_t pcireg_t;            /* configura
>  #endif
>
>  #define        PCI_VENDORSTR_LEN       64
> -#define        PCI_PRODUCTSTR_LEN      64
> +#define        PCI_PRODUCTSTR_LEN      96
>
>  DEV_VERBOSE_DECLARE(pci);
>
>
>
>
>
> On Sun, 23 Oct 2016, JaromĆ­r DoleÄ~Mek wrote:
>
>> Here is the output from lspci/pcictl.
>>
>> I'll try that DDB_COMMANDONENTER also - the machine is remote though,
>> so I'll send it later when I get it.
>>
>> Thanks.
>>
>> Jaromir
>>
>> 2016-10-19 7:23 GMT+02:00 Paul Goyette <paul%whooppee.com@localhost>:
>>>
>>> On Tue, 18 Oct 2016, Paul Goyette wrote:
>>>
>>>> Just as an added experiment, can you try to boot the non-PCIVERBOSE
>>>> kernel, and at the boot prompt enter
>>>>
>>>>         load pciverbose
>>>>
>>>> before actually booting?
>>>>
>>>> As far as getting a back-trace, you could set DDB_COMMANDONENTER="bt" in
>>>> your config file ....
>>>>
>>>> The dmesg looks interesting, especially with that strange pci9 bus.  My
>>>> machine has a similar "management devices" pci bus.
>>>
>>>
>>>
>>> Also, if you have installed pkgsrc/sysutils/pciutils it would be useful
>>> to
>>> get the output from
>>>
>>>         lspci -tvnn
>>>
>>> Otherwise, please provide output from following two commands:
>>>
>>>         pcictl pci0 list -N
>>>         pcictl pci0 list -n
>>>
>>>
>>>
>>>>
>>>>
>>>>
>>>> On Mon, 17 Oct 2016, JaromĆ Ā­r DoleĆ„~Mek wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I've got an amd64 system which panics with 'stack overflow detected'
>>>>> on boot, somewhere halfway through probing pci9 bus, when booted with
>>>>> kernel with PCIVERBOSE. Same kernel config without PCIVERBOSE boots
>>>>> fine. dmesg without PCIVERBOSE is attached.
>>>>>
>>>>> Any idea what might be causing this?
>>>>>
>>>>> I've had cursory look at pci code, it doesn't seem as if anything
>>>>> would be allocating extra space there. Maybe some interaction with
>>>>> dev_verbose module code? Unfortunately can't get backtrace as this
>>>>> happens before the keyboard is probed and attached.
>>>>>
>>>>> Jaromir
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> +------------------+--------------------------+------------------------+
>>>> | Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:      |
>>>> | (Retired)        | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com   |
>>>> | Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org |
>>>> +------------------+--------------------------+------------------------+
>>>
>>>
>>>
>>> +------------------+--------------------------+------------------------+
>>> | Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:      |
>>> | (Retired)        | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com   |
>>> | Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org |
>>> +------------------+--------------------------+------------------------+
>>
>>
>>
>> !DSPAM:580ce657154322062083821!
>>
>
> +------------------+--------------------------+------------------------+
> | Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:      |
> | (Retired)        | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com   |
> | Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org |
> +------------------+--------------------------+------------------------+



Home | Main Index | Thread Index | Old Index