geli(8) breaks after a couple hours of uptime
Ulrich Spörlein
uqs at FreeBSD.org
Thu Feb 7 14:18:37 UTC 2013
Yes, it's pretty much as weird as it sounds. All new machine, forklifted
the image from on old i386 machine running 8.x to current on amd64.
Everything seemingly works fine, attaching geli volumes shortly after
boot is fine, attached devices continue to work fine. There are no
strange crashes with this machine or anything, but when I try to attach
an USB volume the next day, geli attach segfaults.
This seems unrelated to USB however, as the same happens for md(4)
devices.
% geli status
Name Status Components
gpt/swap.eli ACTIVE gpt/swap
ada1.eli ACTIVE ada1
These all work fine, so I've rebuild geli with debugging symbols and
when you run geli init md1:
root at coyote:/usr/src/sbin/geom/class/eli# gdb geli
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)...
(gdb) r init md1
Starting program: /sbin/geli init md1
(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...
Program received signal SIGSEGV, Segmentation fault.
0x0000000801c06307 in eli_genkey (req=0x801817040, md=0x7fffffff85c8, key=0x7fffffff9de0 "", new=true) at /usr/src/sbin/geom/class/eli/geom_eli.c:546
546 {
Current language: auto; currently minimal
(gdb) bt
#0 0x0000000801c06307 in eli_genkey (req=0x801817040, md=0x7fffffff85c8, key=0x7fffffff9de0 "", new=true) at /usr/src/sbin/geom/class/eli/geom_eli.c:546
#1 0x0000000801c054a4 in eli_main (req=0x801817040, flags=<value optimized out>) at /usr/src/sbin/geom/class/eli/geom_eli.c:820
#2 0x000000000040298f in main ()
(gdb) l 818
813 }
814
815 md.md_keys = 0x01;
816 arc4rand(md.md_salt, sizeof(md.md_salt));
817 arc4rand(md.md_mkeys, sizeof(md.md_mkeys));
818
819 /* Generate user key. */
820 if (eli_genkey(req, &md, key, true) == NULL) {
821 bzero(key, sizeof(key));
822 bzero(&md, sizeof(md));
hu?
Uli
More information about the freebsd-current
mailing list