Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Feb 2018 21:20:18 +0100
From:      Mateusz Guzik <mjguzik@gmail.com>
To:        =?UTF-8?Q?Juan_Ram=C3=B3n_Molina_Menor?= <listjm@club.fr>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: amd64 head -r329465 (non-debug build, but with symbols): "panic: spin lock held too long" during make check-old, reported during a sys_vfork
Message-ID:  <CAGudoHF3ZqsO2qPg43ex6HG5Vprcr07OuFXWwCT2J6UXaSu19g@mail.gmail.com>
In-Reply-To: <CAGudoHGauFU5GEdNuY-YYJuuKp9HiXA_mk%2BULqHOapJ6wcwGig@mail.gmail.com>
References:  <CAGudoHGs2K6HjeDM65ja6zMg=DXyJMGLtQLO2dedVXvjrd4wyA@mail.gmail.com> <038d9336-9ee7-c079-5ad5-f023c6a306eb@club.fr> <CAGudoHGauFU5GEdNuY-YYJuuKp9HiXA_mk%2BULqHOapJ6wcwGig@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Committed in https://svnweb.freebsd.org/base?view=3Drevision&revision=3D329=
660

thanks for reporting

On Tue, Feb 20, 2018 at 6:06 PM, Mateusz Guzik <mjguzik@gmail.com> wrote:

> I missed a consumer, try this:
>
> diff --git a/sys/kern/sys_procdesc.c b/sys/kern/sys_procdesc.c
> index 5e8928cb1534..174fffc5c666 100644
> --- a/sys/kern/sys_procdesc.c
> +++ b/sys/kern/sys_procdesc.c
> @@ -398,7 +398,6 @@ procdesc_close(struct file *fp, struct thread *td)
>                          * process's reference to the process descriptor
> when it
>                          * calls back into procdesc_reap().
>                          */
> -                       PROC_SLOCK(p);
>                         proc_reap(curthread, p, NULL, 0);
>                 } else {
>                         /*
>
>
> On Tue, Feb 20, 2018 at 5:50 PM, Juan Ram=C3=B3n Molina Menor <listjm@clu=
b.fr>
> wrote:
>
>> I committed the fix in
>>> https://svnweb.freebsd.org/base?view=3Drevision&revision=3D329542
>>>
>>> i.e. should be stable from this point on.
>>>
>>
>> Hi!
>>
>> It is maybe unrelated, but recent commits have broken my system with a
>> similar error. I did not have panics with a system built around December=
,
>> but since updating first to r329555 then today to r329641 I=E2=80=99m ge=
tting a
>> reproducible panic when logging out from a Lumina desktop session:
>>
>> Unread portion of the kernel message buffer:
>> spin lock 0xfffff8000d440020 (process slock) held by 0xfffff8000daed560
>> (tid 100111) too long
>> panic: spin lock held too long
>> cpuid =3D 1
>> time =3D 1519143505
>> KDB: stack backtrace:
>> db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame
>> 0xfffffe00005c15e0
>> vpanic() at vpanic+0x18d/frame 0xfffffe00005c1640
>> panic() at panic+0x43/frame 0xfffffe00005c16a0
>> _mtx_lock_indefinite_check() at _mtx_lock_indefinite_check+0x71/frame
>> 0xfffffe00005c16b0
>> mtx_spin_wait_unlocked() at mtx_spin_wait_unlocked+0x59/frame
>> 0xfffffe00005c16e0
>> proc_reap() at proc_reap+0x24/frame 0xfffffe00005c1720
>> procdesc_close() at procdesc_close+0x125/frame 0xfffffe00005c1760
>> closef() at closef+0x251/frame 0xfffffe00005c17f0
>> fdescfree_fds() at fdescfree_fds+0x90/frame 0xfffffe00005c1840
>> fdescfree() at fdescfree+0x4df/frame 0xfffffe00005c1900
>> exit1() at exit1+0x508/frame 0xfffffe00005c1970
>> sys_sys_exit() at sys_sys_exit+0xd/frame 0xfffffe00005c1980
>> amd64_syscall() at amd64_syscall+0xa48/frame 0xfffffe00005c1ab0
>> fast_syscall_common() at fast_syscall_common+0x101/frame 0x7fffffffea90
>> Uptime: 17m45s
>> Dumping 327 out of 3990 MB:..5%..15%..25%..35%..44%..5
>> 4%..64%..74%..84%..93%
>>
>> Reading symbols from /boot/kernel/linux.ko...done.
>> Loaded symbols for /boot/kernel/linux.ko
>> Reading symbols from /boot/kernel/linux_common.ko...done.
>> Loaded symbols for /boot/kernel/linux_common.ko
>> Reading symbols from /boot/kernel/acpi_ibm.ko...done.
>> Loaded symbols for /boot/kernel/acpi_ibm.ko
>> Reading symbols from /boot/kernel/iwm7260fw.ko...done.
>> Loaded symbols for /boot/kernel/iwm7260fw.ko
>> Reading symbols from /boot/kernel/coretemp.ko...done.
>> Loaded symbols for /boot/kernel/coretemp.ko
>> Reading symbols from /boot/kernel/if_iwm.ko...done.
>> Loaded symbols for /boot/kernel/if_iwm.ko
>> Reading symbols from /boot/kernel/acpi_video.ko...done.
>> Loaded symbols for /boot/kernel/acpi_video.ko
>> Reading symbols from /boot/kernel/nullfs.ko...done.
>> Loaded symbols for /boot/kernel/nullfs.ko
>> Reading symbols from /boot/kernel/fdescfs.ko...done.
>> Loaded symbols for /boot/kernel/fdescfs.ko
>> Reading symbols from /boot/kernel/i915kms.ko...done.
>> Loaded symbols for /boot/kernel/i915kms.ko
>> Reading symbols from /boot/kernel/drm2.ko...done.
>> Loaded symbols for /boot/kernel/drm2.ko
>> Reading symbols from /boot/kernel/iicbus.ko...done.
>> Loaded symbols for /boot/kernel/iicbus.ko
>> Reading symbols from /boot/kernel/iic.ko...done.
>> Loaded symbols for /boot/kernel/iic.ko
>> Reading symbols from /boot/kernel/iicbb.ko...done.
>> Loaded symbols for /boot/kernel/iicbb.ko
>> #0  cpustop_handler () at /usr/src/sys/x86/x86/mp_x86.c:1324
>> 1324            CPU_SET_ATOMIC(cpu, &stopped_cpus);
>> (kgdb) bt
>> #0  cpustop_handler () at /usr/src/sys/x86/x86/mp_x86.c:1324
>> #1  0xffffffff80e29fb4 in ipi_nmi_handler () at
>> /usr/src/sys/x86/x86/mp_x86.c:1280
>> #2  0xffffffff80d09a79 in trap (frame=3D0xffffffff8158bef0)
>>     at /usr/src/sys/amd64/amd64/trap.c:188
>> #3  0xffffffff80cec054 in nmi_calltrap () at
>> /usr/src/sys/amd64/amd64/exception.S:633
>> #4  0xffffffff80e1aaef in acpi_cpu_idle_mwait (mwait_hint=3D0) at
>> cpufunc.h:611
>> Previous frame inner to this frame (corrupt stack?)
>> Current language:  auto; currently minimal
>>
>> kgdb is over my head, but I can provide more details under some guidance=
.
>>
>> Hope it helps,
>> Juan
>>
>>
>
>
> --
> Mateusz Guzik <mjguzik gmail.com>
>



--=20
Mateusz Guzik <mjguzik gmail.com>



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