Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Oct 2019 23:45:46 -0700
From:      Xin Li <delphij@delphij.net>
To:        Gleb Smirnoff <glebius@freebsd.org>, Mark Johnston <markj@freebsd.org>
Cc:        Hans Petter Selasky <hps@selasky.org>, Yuri Pankov <yuripv@yuripv.net>, freebsd-net <freebsd-net@freebsd.org>, erj@freebsd.org
Subject:   Re: panic: sleeping in an epoch section
Message-ID:  <528fec5c-9b36-6f6a-5ba7-3237f56103a1@delphij.net>
In-Reply-To: <20191009150757.GI1249@FreeBSD.org>
References:  <86cc5d82-50d0-93eb-5900-54e8b0032a08@yuripv.net> <050ba95e-d0d5-dd1a-db6f-9a5c07142efe@selasky.org> <20191009135616.GC66126@raichu> <a2075acc-243c-da14-180e-686eaf59cfd6@selasky.org> <20191009144704.GD66126@raichu> <20191009150757.GI1249@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--zwucuWf6vqUBnH6is2eCISz6n2J9M63Ix
Content-Type: multipart/mixed; boundary="T3FT6OuZ8jsjs4c596j8vX0cL62NgO190";
 protected-headers="v1"
From: Xin Li <delphij@delphij.net>
Reply-To: d@delphij.net
To: Gleb Smirnoff <glebius@freebsd.org>, Mark Johnston <markj@freebsd.org>
Cc: Hans Petter Selasky <hps@selasky.org>, Yuri Pankov <yuripv@yuripv.net>,
 freebsd-net <freebsd-net@freebsd.org>, erj@freebsd.org
Message-ID: <528fec5c-9b36-6f6a-5ba7-3237f56103a1@delphij.net>
Subject: Re: panic: sleeping in an epoch section
References: <86cc5d82-50d0-93eb-5900-54e8b0032a08@yuripv.net>
 <050ba95e-d0d5-dd1a-db6f-9a5c07142efe@selasky.org>
 <20191009135616.GC66126@raichu>
 <a2075acc-243c-da14-180e-686eaf59cfd6@selasky.org>
 <20191009144704.GD66126@raichu> <20191009150757.GI1249@FreeBSD.org>
In-Reply-To: <20191009150757.GI1249@FreeBSD.org>

--T3FT6OuZ8jsjs4c596j8vX0cL62NgO190
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable



On 2019-10-09 08:07, Gleb Smirnoff wrote:
> Yes, I we should allow sleep in ifioctl handlers. So this is my fault, =
I'll
> handle it today.

It seems that -CURRENT as of today would panic with:

(kgdb) #0  doadump (textdump=3D1) at src/sys/amd64/include/pcpu_aux.h:55
#1  0xffffffff80bbe550 in kern_reboot (howto=3D260)
    at /usr/src/sys/kern/kern_shutdown.c:479
#2  0xffffffff80bbe9a6 in vpanic (fmt=3D<value optimized out>,
    ap=3D<value optimized out>) at /usr/src/sys/kern/kern_shutdown.c:908
#3  0xffffffff80bbe703 in panic (fmt=3D<value optimized out>)
    at /usr/src/sys/kern/kern_shutdown.c:835
#4  0xffffffff80e0d1f8 in in6ifa_llaonifp (ifp=3D<value optimized out>)
    at /usr/src/sys/netinet6/in6.c:1554
#5  0xffffffff84cb3bcd in lagg_ioctl (ifp=3D0xfffff80019322000,
    cmd=3D<value optimized out>, data=3D<value optimized out>)
    at /usr/src/sys/net/if_lagg.c:1427
#6  0xffffffff80d4c281 in in_control (cmd=3D2152229261,
    data=3D0xfffffe00e01fd7d0 "lagg0", ifp=3D0xfffff80019322000,
    td=3D0xfffff80019675000) at /usr/src/sys/netinet/in.c:262
#7  0xffffffff80ccc6be in ifioctl (so=3D0xfffff8001c15c710, cmd=3D2152229=
261,
    data=3D0xfffffe00e01fd7d0 "lagg0", td=3D0xfffff80019675000)
    at /usr/src/sys/net/if.c:3106
#8  0xffffffff80c2fc35 in kern_ioctl (td=3D<value optimized out>,
    fd=3D<value optimized out>, com=3D<value optimized out>,
    data=3D<value optimized out>) at src/sys/sys/file.h:340
#9  0xffffffff80c2f92c in sys_ioctl (td=3D0xfffff80019675000,
    uap=3D0xfffff800196753c8) at /usr/src/sys/kern/sys_generic.c:709
#10 0xffffffff8102ee45 in amd64_syscall (td=3D0xfffff80019675000, traced=3D=
0)
    at src/sys/amd64/amd64/../../kern/subr_syscall.c:144
#11 0xffffffff810054e0 in fast_syscall_common ()
    at /usr/src/sys/amd64/amd64/exception.S:581
#12 0x000000080047db8a in ?? ()
Previous frame inner to this frame (corrupt stack?)
Current language:  auto; currently minimal

My configuration is somewhat special:  I have a lagg0 (failover) group
containing em0 and wlan0:

ifconfig_wlan0=3D"WPA"
ifconfig_em0=3D"ether (ethernet address of wlan0) up"
cloned_interfaces=3D"lagg0"
ifconfig_lagg0=3D"laggproto failover laggport em0 laggport wlan0 DHCP"
ifconfig_lagg0_ipv6=3D"inet6 accept_rtadv"

Without that lagg0 setup, with only wlan0 configured to DHCP and
accept_rtadv, the system would boot further and network access appears
to work.

By the way I think there are some recent change (not sure when, but it
happen since August) to either e1000 or iflib have made the driver to
expose its e1000_delay state quite a bit when ifconfig or dhclient is
trying to configure the lagg0 group, when the wired connection is not
available.

Cheers,


--T3FT6OuZ8jsjs4c596j8vX0cL62NgO190--

--zwucuWf6vqUBnH6is2eCISz6n2J9M63Ix
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.2.17 (FreeBSD)

iQIzBAEBCgAdFiEEceNg5NEMZIki80nQQHl/fJX0g08FAl2kGZ8ACgkQQHl/fJX0
g09JQBAAl8/R9vqqW4ivRVcKzJapE6gnqbLIDorMxJa6MNQhdpWPWG3X2yH/9gNg
j8SSR96VI3fJs9REzLABBV1x29w8BdTcuOhiwRr6azUdBwxCugL47G8QUldypnEg
ltp7WpqORL4Oz95K7c4L1bpDmoWQwvRy7nxHHvgn0UOYVA2XBADGhRXSZRQM/rdN
Nc4ma3SYwk3lPCT3IMVkJhk3qeodjtQ6h3XJzeIqN/FCTvLnBVo9eIVwE2M/fjK8
DJpgg/7IyRA9qbOC9l5dGD7Vpz02dy0UR9VwWmgHLExi9Hju+bu8Ae+UeX/Zmt63
ON8X11nfn+GIi0BvPGVUTyCjpxaPgEoOI6tgG8Vv06CJVxVrF/tgTKhLqWTycsKf
8+n6jgWG18ChvcnB6Zaac5c8VJtCZFL890TT+Pdp4IRP99+TtPWUmLN1ULT/VLK7
BCo+EGq+GCkKPt3cgXcceocgZsU19Q7wvMXQ5OhO6sI+AHoRw7Q9Ewlazb0XfMdS
1XJ0FWZcBjZuTMPrzUNqVu8HwSPSc2ke0foW/JqhnCuM+DigIpeOhLq3l3UXgIvm
okmfmydFixy4QK2o8ZMlQM0+9IKlgd+oSnPkYWyav7srEJkUeLtHJEDTFuJ8fytC
fQaLmOkqAhJVrTJgvcqnEoVldjll28+XTNsNzFRitZI60y11+7Y=
=MVoX
-----END PGP SIGNATURE-----

--zwucuWf6vqUBnH6is2eCISz6n2J9M63Ix--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?528fec5c-9b36-6f6a-5ba7-3237f56103a1>