Date: Wed, 01 Oct 2014 18:21:25 -0500 From: Bryan Drewery <bdrewery@FreeBSD.org> To: Dimitry Andric <dim@FreeBSD.org>, Larry Baird <lab@gta.com> Cc: "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>, Ryan Stone <rysto32@gmail.com> Subject: Re: Kernel/Compiler bug Message-ID: <542C8C75.30007@FreeBSD.org> In-Reply-To: <FBB9E4C3-55B9-4917-9953-F8BC9AE43619@FreeBSD.org> References: <20141001031553.GA14360@gta.com> <CAFMmRNxAYcr8eEY0SJsX3zkRadjT29-mfsGcSTmG_Yx-Hidi6w@mail.gmail.com> <20141001134044.GA57022@gta.com> <FBB9E4C3-55B9-4917-9953-F8BC9AE43619@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) --1UPenIEbfu6kooDcV3CLQPGkblXxSIh6L Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 10/1/2014 2:37 PM, Dimitry Andric wrote: > On 01 Oct 2014, at 15:40, Larry Baird <lab@gta.com> wrote: >> Ryan, >> >> On Wed, Oct 01, 2014 at 12:46:35AM -0400, Ryan Stone wrote: >>> This may not be a compiler bug. A quick look at the esp values >>> provided in that backtrace shows that at least 7KB has been used on >>> the stack. The stack for kernel threads is only 8KB, and a stack >>> overflow can cause a double fault like that. >>> >>> My suspicion would be that without optimizations on clang uses a lot >>> more stack space and you push over the limit. There's a kernel build= >>> option for the stack size that you could change to confirm. I believ= e >>> that it's called KSTACK_PAGES. Try increasing it to 4. >> Good catch. Increasing KSTACK_PAGES does fix the issue. I wonder wit= h >> optimization, how close to stack overflow does the kernel get during b= oot? >=20 > It obviously depends on which optimization flags you use, which drivers= > you include, and so on. There was a thread some time ago about somebod= y > banging into the limit when mounting certain ZFS filesystems, here: >=20 > https://lists.freebsd.org/pipermail/freebsd-current/2012-December/03820= 8.html >=20 > This is why Kostik added printing of the frame addresses to the panic > backtrace output, so you can easily see if you hit the stack limit. >=20 > That said, 8k is not much these days, especially not with fairly > complicated code like ZFS, combined with high optimization, which can > inline a lot of functions, causing even more stack usage. I would just= > bump KSTACK_PAGES. >=20 > -Dimitry >=20 Is this something that can be bumped in the tree for GENERIC? --=20 Regards, Bryan Drewery --1UPenIEbfu6kooDcV3CLQPGkblXxSIh6L Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (MingW32) iQEcBAEBAgAGBQJULIx1AAoJEDXXcbtuRpfPHvkH/09cR3hY2SktVv5v4QjRlgMO 07+o6Dc/FGwHLpvwuq9XZXyAlr40j2We3la6sXPFnBcx1uQnLz9TNmEinohmLqlg zVMSUJd97OJRbEEwHsl/jmnSrVAJa+KIO748C0Lu9hgcPQc4eDY86N/nzTTpK4Vm 99+tEAGeIAnsUGaxg7sQNt6GsydcfAngp/UZ7NKPiQoMTJVW/F7cFT9iCIGWurnh udyhNMVmwQDOWuwD+QmWgmCuXGAPHiVME9F/DmTKBXPtFlEpx3XQdy1LCOybL2wM oaAjKO4EMzgl6Z1X6JTOrA2ZpgZb1EPheBzmc8z/2rgrJpJEeIS+FEdXrEfh/AE= =JsN4 -----END PGP SIGNATURE----- --1UPenIEbfu6kooDcV3CLQPGkblXxSIh6L--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?542C8C75.30007>