svn commit: r361967 - head/sys/kern
Kyle Evans
kevans at freebsd.org
Wed Jun 17 15:16:06 UTC 2020
On Tue, Jun 9, 2020 at 10:17 AM Mateusz Guzik <mjg at freebsd.org> wrote:
>
> Author: mjg
> Date: Tue Jun 9 15:17:23 2020
> New Revision: 361967
> URL: https://svnweb.freebsd.org/changeset/base/361967
>
> Log:
> Assert on pg_jobc state.
>
> Stolen from NetBSD.
>
> Modified:
> head/sys/kern/kern_proc.c
>
> Modified: head/sys/kern/kern_proc.c
> ==============================================================================
> --- head/sys/kern/kern_proc.c Tue Jun 9 14:20:16 2020 (r361966)
> +++ head/sys/kern/kern_proc.c Tue Jun 9 15:17:23 2020 (r361967)
> @@ -751,9 +751,11 @@ pgadjustjobc(struct pgrp *pgrp, int entering)
> {
>
> PGRP_LOCK(pgrp);
> - if (entering)
> + if (entering) {
> + MPASS(pgrp->pg_jobc >= 0);
> pgrp->pg_jobc++;
> - else {
> + } else {
> + MPASS(pgrp->pg_jobc > 0);
> --pgrp->pg_jobc;
> if (pgrp->pg_jobc == 0)
> orphanpg(pgrp);
We seem to be doing something wrong here, but I'm still working on
reproducing it on a machine that actually has usable swap configured
to get a dump. I've hit one of these asserts just from hitting the
power button to shutoff from within xfce (hitting the latter branch
with pgrp->pg_jobc == 0 IIRC) and another laptop panicked sometime
overnight -- I wasn't able to catch the second one at all, because
it's hooked up to a switch that loses its mind once that laptop
panicks and it had to be rebooted before I could attend to it to
revive network for the other machines on the switch.
Thanks,
Kyle Evans
More information about the svn-src-head
mailing list