Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jan 2015 11:54:44 -0800
From:      Neel Natu <neelnatu@gmail.com>
To:        Gleb Smirnoff <glebius@freebsd.org>
Cc:        Konstantin Belousov <kostikbel@gmail.com>, "current@freebsd.org" <current@freebsd.org>, Peter Grehan <grehan@freebsd.org>
Subject:   Re: panic in softdep_slowdown()
Message-ID:  <CAFgRE9EK4TE6_Qp9KsHjJJi4qeWisaAdeaMV8PtGeUXpTP1VJw@mail.gmail.com>
In-Reply-To: <20150128193315.GC15484@glebius.int.ru>
References:  <20150127203103.GZ15484@glebius.int.ru> <20150128104842.GL42409@kib.kiev.ua> <20150128182230.GB15484@glebius.int.ru> <20150128190441.GO42409@kib.kiev.ua> <20150128193315.GC15484@glebius.int.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Gleb,

On Wed, Jan 28, 2015 at 11:33 AM, Gleb Smirnoff <glebius@freebsd.org> wrote:
> On Wed, Jan 28, 2015 at 09:04:42PM +0200, Konstantin Belousov wrote:
> K> > I can't see where integer divide fault can happen with stat_flush_threads=1 :(
> K>
> K> Look at the exact asm instruction which faulted, also look at the registers
> K> content.
> K>
> K> It might be hypervisor bug, after all.
>
> Yes, for me it looks like it. %edx should be one as well as -0x44(%rbp).
>
> 0xffffffff80895d43 <softdep_slowdown+435>:      mov    -0x20(%rbp),%ecx
> 0xffffffff80895d46 <softdep_slowdown+438>:      mov    %ecx,%edx
> 0xffffffff80895d48 <softdep_slowdown+440>:      shr    $0x1f,%edx
> 0xffffffff80895d4b <softdep_slowdown+443>:      add    %edx,%ecx
> 0xffffffff80895d4d <softdep_slowdown+445>:      sar    %ecx
> 0xffffffff80895d4f <softdep_slowdown+447>:      mov    0xffffffff80ee24c8,%edx
> 0xffffffff80895d56 <softdep_slowdown+454>:      mov    %rax,-0x40(%rbp)
> 0xffffffff80895d5a <softdep_slowdown+458>:      mov    %ecx,%eax
> 0xffffffff80895d5c <softdep_slowdown+460>:      mov    %edx,-0x44(%rbp)
> 0xffffffff80895d5f <softdep_slowdown+463>:      cltd
> 0xffffffff80895d60 <softdep_slowdown+464>:      mov    -0x44(%rbp),%ecx
> 0xffffffff80895d63 <softdep_slowdown+467>:      idiv   %ecx
>
> (kgdb) p &stat_flush_threads
> $5 = (int *) 0xffffffff80ee24c8
> (kgdb) info registers
> rax            0x12b86  76678
> rbx            0x4      4
> rcx            0x0      0
> rdx            0x0      0
> rsi            0x3e8    1000
> rdi            0x99     153
> rbp            0xfffffe001eb5f2b0       0xfffffe001eb5f2b0
> ...
> (kgdb) p *(int *)($rbp - 0x44)
> $4 = 0
> (kgdb) p *(int *)($rbp - 0x40)
> $8 = 0
> (kgdb) p &max_softdeps_hard
> $11 = (int *) 0xfffffe001eb5f290
> (kgdb) p (int *)($rbp - 0x20)
> $12 = (int *) 0xfffffe001eb5f290
> (kgdb) p max_softdeps_hard
> $10 = 153357
>

Can you upload the core file and the kernel someplace that I can access?

best
Neel

> --
> Totus tuus, Glebius.
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFgRE9EK4TE6_Qp9KsHjJJi4qeWisaAdeaMV8PtGeUXpTP1VJw>