Re: GENERIC-NODEBUG panics, GENERIC does not

From: Vladimir Zakharov <zakharov.vv_at_gmail.com>
Date: Fri, 15 Apr 2016 14:38:18 +0300
On Fri, Apr 15, 2016, Konstantin Belousov wrote:
> On Fri, Apr 15, 2016 at 01:26:44PM +0300, Vladimir Zakharov wrote:
> > Hello
> > 
> > Setting 'kern.eventtimer.periodic = 1' in /etc/sysctl.conf leads to
> > GENERIC-NODEBUG panic. GENERIC loads without problems.
> > So do GENERIC-NODEBUG as of r297245.
> > 
> > https://imgur.com/0DtDU3m
> > 
> > $ uname -a
> > 
> > FreeBSD vzakharov 11.0-CURRENT FreeBSD 11.0-CURRENT #4 r298037: Fri Apr
> > 15 12:27:40 MSK 2016 root_at_vzakharov:/home/obj/usr/src/sys/GENERIC-NODEBUG  amd64
> > 
> 
> I cannot reproduce it locally.
> Please provide me verbose dmesg from the successfull boot on your machine.

GENERIC with kern.eventtimer.periodic=1: http://pastebin.com/raw/TB0TKSje
GENERIC-NODEBUG: http://pastebin.com/raw/05CchraS

> Also, for the panic, show me the output of the same data as on the
> screenshot and the output of 'show registers'.

https://imgur.com/pO8Yc3w

> Also please load your kernel into kgdb and do
> list *lapic_et_start+0x281

$ kgdb /boot/kernel/kernel
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...
(kgdb) list *lapic_et_start+0x281
0xffffffff81099411 is in lapic_et_start (cpufunc.h:408).
403     cpufunc.h: No such file or directory.
        in cpufunc.h
(kgdb) list *lapic_et_start
0xffffffff81099190 is in lapic_et_start (/usr/src/sys/x86/x86/local_apic.c:833).
828             }
829     }
830
831     static int
832     lapic_et_start(struct eventtimer *et, sbintime_t first, sbintime_t period)
833     {
834             struct lapic *la;
835
836             la = &lapics[PCPU_GET(apic_id)];
837             if (et->et_frequency == 0) {
(kgdb)

PS. I've started building kernel with clean OBJDIR and with ccache disabled.

-- 
Regards,                 | "In theory there is no difference between theory
  Vladimir Zakharov      | and practice. In practice there is."- Yogi Berra
Received on Fri Apr 15 2016 - 09:38:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:04 UTC