Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 May 2013 08:30:55 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Jim Ohlstein <jim@ohlste.in>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: Apparent regression in r250359
Message-ID:  <20130509053055.GM3047@kib.kiev.ua>
In-Reply-To: <518A880C.3090906@ohlste.in>
References:  <518A880C.3090906@ohlste.in>

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

[-- Attachment #1 --]
On Wed, May 08, 2013 at 01:14:52PM -0400, Jim Ohlstein wrote:
> Hello,
> 
> I upgraded my (custom) kernel earlier and found that multiple daemons 
> (cups, hal, syslog, ntpd, csh) crashed and dumped cores at or shortly 
> after boot.
> 
> The error I saw several times on the console was:
> 
> set_fpcontext err 22
> 
> I recompiled using the GENERIC kernel and saw the same error.
> 
> 
> The error appears to be in the changes made in r250359 in fpu.c, as 
> r250358 boots as expected.
> 
Quite weird, and the most troublesome part is that I cannot reproduce
it locally. As a temporal workaround, you could set 'hw.use_xsave=0'
at the loader prompt. The instructions below for kgdb assume that 
you did not applied this workaround.

What CPU do you have ? Please show me the verbose dmesg of the boot.

Next, please do the following:
run 'kgdb /boot/kernel/kernel /dev/mem', and from the kgdb prompt,
do 'x/1xw use_xsave' and 'x/1xg xsave_mask'.

Also, see below.

> # uname -a
> FreeBSD lucid-insanity 9.1-STABLE FreeBSD 9.1-STABLE #3 r250358: Wed May 
>   8 11:56:43 EDT 2013 
> root@lucid-insanity:/usr/obj/usr/src/sys/GENERIC  amd64
> 
> 
> World and kernel are built with clang 3.2.
> 
> r250359 produces the error and core dumps:
> 
> Sample gdb output:
> 
> # gdb cupsd cupsd.core
> GNU gdb 6.1.1 [FreeBSD]
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain 
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "amd64-marcel-freebsd"...(no debugging 
> symbols found)...
> Core was generated by `cupsd'.
> Program terminated with signal 10, Bus error.
> Reading symbols from /usr/local/lib/libcupsmime.so.1...(no debugging 
> symbols found)...done.
> Loaded symbols for /usr/local/lib/libcupsmime.so.1
> Reading symbols from /lib/libz.so.6...done.
> Loaded symbols for /lib/libz.so.6
> Reading symbols from /usr/lib/libssl.so.6...done.
> Loaded symbols for /usr/lib/libssl.so.6
> Reading symbols from /lib/libcrypto.so.6...done.
> Loaded symbols for /lib/libcrypto.so.6
> Reading symbols from /usr/local/lib/libpaper.so.2...done.
> Loaded symbols for /usr/local/lib/libpaper.so.2
> Reading symbols from /usr/local/lib/libcups.so.2...done.
> Loaded symbols for /usr/local/lib/libcups.so.2
> Reading symbols from /lib/libcrypt.so.5...done.
> Loaded symbols for /lib/libcrypt.so.5
> Reading symbols from /lib/libm.so.5...done.
> Loaded symbols for /lib/libm.so.5
> Reading symbols from /usr/local/lib/libiconv.so.3...done.
> Loaded symbols for /usr/local/lib/libiconv.so.3
> Reading symbols from /lib/libthr.so.3...done.
> Loaded symbols for /lib/libthr.so.3
> Reading symbols from /lib/libc.so.7...done.
> Loaded symbols for /lib/libc.so.7
> Reading symbols from /libexec/ld-elf.so.1...done.
> Loaded symbols for /libexec/ld-elf.so.1
> #0  0x00007ffffffff1e3 in ?? ()
> [New Thread 802407400 (LWP 100450/cupsd)]
> (gdb)
> 
> # gdb csh csh.core
> GNU gdb 6.1.1 [FreeBSD]
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain 
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "amd64-marcel-freebsd"...
> Core was generated by `csh'.
> Program terminated with signal 10, Bus error.
> Reading symbols from /lib/libncurses.so.8...done.
> Loaded symbols for /lib/libncurses.so.8
> Reading symbols from /lib/libcrypt.so.5...done.
> Loaded symbols for /lib/libcrypt.so.5
> Reading symbols from /lib/libc.so.7...done.
> Loaded symbols for /lib/libc.so.7
> Reading symbols from /usr/local/lib/libiconv.so...done.
> Loaded symbols for /usr/local/lib/libiconv.so
> Reading symbols from /libexec/ld-elf.so.1...done.
> Loaded symbols for /libexec/ld-elf.so.1
> #0  0x00007ffffffff1e3 in ?? ()
> (gdb)
From the core dump above, please do
'info registers'
then take the value from %rdi and do
'x/2xg $rdi+0x300',
then take the first value printed (let denote it as XSAVEADDR) and do
'x/8xg XSAVEADDR'.

> 
> I can produce more if anyone is interested.
> 
> 
> -- 
> Jim Ohlstein
> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iQIcBAEBAgAGBQJRizSPAAoJEJDCuSvBvK1BrMsP/27OZamW+XQR/05hg4DXzWB9
34sS25powuy8qvggSjjpBMBhjkmWvTcO7CfhuxgSkJAqQaWGN3BHVnbmSZuSo7o/
cenrC+hZiBGKQxqXstaGOxmYnv8jhVn6nexcBZnDvMPZ1YCTw1ArL0uF9PiJG9xk
1HG20gMDlydgCmj7tqDi7wuqHDKHteyIJmP1UP33+nNi1HAqD6npuVbSG2jEZxfh
yvrf3S54oEPRaDUXl9TUNlSey0TGv/omxJgh6zqZuPdk5OENeodWAngZTd74XKTf
FRa0iUFqm5KZhLNQMegenaG3FyvNdl2uUb+0MdZ1Ajoqe7XHVWk7lHKaacvWytUg
48+uNHcEdxdEWWiaG00252d6VQ7MfRhKFNlzmoc2lOsHKlKm0YYyhaCcgCKDbdEB
hcUT4QCInRrq2s1FPhsVk0On80i0fncSrGIpdsxKBfvqeIxgICWOJD6ELvgIO4sX
Jeir/I1Nz7LQD2BgpoRB6pGfjlSVrlkT8f2jb6L++M+3XU4Fa2SXJxrcSqqxUVpm
Y6GhJSgWEN8C7NEC8aWUDj/FVdpEhiOtwEhkn9aPrUCB+8KmanAgZTcch5MUnokz
/dL2IGiKmJ23tLdo1Y3qFkc25nk7tD59zWA9Yf2e+BtDm3X2DqyrShw6bi8CRMXB
DnC3hpHC14tUC5c8d61m
=x9n7
-----END PGP SIGNATURE-----

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