Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Mar 2011 10:03:24 -0500
From:      Roger Hammerstein <cheeky.m@live.com>
To:        <marius@alchemy.franken.de>
Cc:        freebsd-sparc64@freebsd.org
Subject:   RE: sparc64 hang with zfs v28
Message-ID:  <BAY147-w5926709E28BF613C663D48F9C90@phx.gbl>
In-Reply-To: <20110307192239.GA31314@alchemy.franken.de>
References:  <BAY147-w7342A790723770DCE8BD4F9C00@phx.gbl> <BAY147-w229E76D137B7A0DCEB3696F9C70@phx.gbl> <20110307080626.GK57812@alchemy.franken.de>, <20110307192239.GA31314@alchemy.franken.de>

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


> Thinking about it this might be caused by the binutils regression
> also affecting userland. If a world built with the following patch
> in place still behaves the same you should better contact the ZFS
> maintainers though:
> http://people.freebsd.org/~marius/elfxx-sparc.c.diff

I kept the same cvsup from Sunday=2C added that patch and rebuilt world and=
 kernel.

Now 'kldload zfs' or 'zpool status' locks the machine up=2C no serial conso=
le=2C
no network.  It doesn't respond to breaks on the serial console.=20
 (I didn't put the alternate break sequence in).


With the kernel.old from before your patch=2C 'kldload zfs' will work.

falcon# kldload zfs

ZFS NOTICE: Prefetch is disabled by default if less than 4GB of RAM is pres=
ent=3B
            to enable=2C add "vfs.zfs.prefetch_disable=3D0" to /boot/loader=
.conf.
ZFS filesystem version 5
ZFS storage pool version 28
falcon#
falcon#
falcon#
falcon#
falcon# kldstat
Id Refs Address            Size     Name
 1    9 0xc0000000 e42878   kernel
 2    1 0xc14a2000 32e000   zfs.ko
 3    1 0xc17d0000 104000   opensolaris.ko
falcon#

'zpool status' will still eat an entire cpu.

 1020 root        1  49    0 22712K  2888K CPU1    1   0:00 99.92% zpool

falcon# procstat -kk 1020
  PID    TID COMM             TDNAME           KSTACK
 1020 100063 zpool            initial thread   <running>
falcon#


falcon# zpool status
load: 0.76  cmd: zpool 1020 [running] 82.09r 0.00u 0.04s 97% 2856k
load: 0.76  cmd: zpool 1020 [running] 82.33r 0.00u 0.04s 97% 2856k
load: 0.76  cmd: zpool 1020 [running] 82.55r 0.00u 0.04s 97% 2856k
load: 0.76  cmd: zpool 1020 [running] 82.75r 0.00u 0.04s 97% 2856k
load: 0.76  cmd: zpool 1020 [running] 82.93r 0.00u 0.04s 97% 2856k




=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
a truss of 'zpool status' without the zfs module loaded gets stuck after
this:  (zpool status will cause the zfs module to get loaded)

falcon# truss zpool status
mmap(0x0=2C32768=2CPROT_READ|PROT_WRITE=2CMAP_PRIVATE|MAP_ANON=2C-1=2C0x0) =
=3D 1076183040 (0x40254000)
issetugid(0x40256000=2C0x0=2C0x0=2C0x0=2C0x1000000000000000=2C0x20000000000=
00000) =3D 0 (0x0)
open("/etc/libmap.conf"=2CO_RDONLY=2C0666)           ERR#2 'No such file or=
 directory'
open("/var/run/ld-elf.so.hints"=2CO_RDONLY=2C030036223340) =3D 3 (0x3)
read(3=2C"tnhE\0\0\0\^A\0\0\0\M^@\0\0\0-\0"...=2C128) =3D 128 (0x80)
mmap(0x0=2C40960=2CPROT_READ|PROT_WRITE=2CMAP_PRIVATE|MAP_ANON=2C-1=2C0x0) =
=3D 1076215808 (0x4025c000)
lseek(3=2C0x80=2CSEEK_SET)                           =3D 128 (0x80)
read(3=2C"/lib:/usr/lib:/usr/lib/compat:/u"...=2C45) =3D 45 (0x2d)
close(3)                                         =3D 0 (0x0)
access("/lib/libavl.so.2"=2C0)                     =3D 0 (0x0)
open("/lib/libavl.so.2"=2CO_RDONLY=2C0666)           =3D 3 (0x3)
fstat(3=2C{ mode=3D-r--r--r-- =2Cinode=3D9467939=2Csize=3D8416=2Cblksize=3D=
16384 }) =3D 0 (0x0)
pread(0x3=2C0x40358a78=2C0x2000=2C0x0=2C0x0=2C0x40367220)  =3D 8192 (0x2000=
)
mmap(0x0=2C1056768=2CPROT_NONE=2CMAP_PRIVATE|MAP_ANON|MAP_NOCORE=2C-1=2C0x0=
) =3D 1077313536 (0x40368000)
mmap(0x40368000=2C8192=2CPROT_READ|PROT_EXEC=2CMAP_PRIVATE|MAP_FIXED|MAP_NO=
CORE=2C3=2C0x0) =3D 1077313536 (0x40368000)
mmap(0x40468000=2C8192=2CPROT_READ|PROT_WRITE|PROT_EXEC=2CMAP_PRIVATE|MAP_F=
IXED=2C3=2C0x0) =3D 1078362112 (0x40468000)
close(3)         =20
<SNIP more libs>

access("/lib/libthr.so.3"=2C0)                     =3D 0 (0x0)
open("/lib/libthr.so.3"=2CO_RDONLY=2C020)            =3D 3 (0x3)
fstat(3=2C{ mode=3D-r--r--r-- =2Cinode=3D9467937=2Csize=3D116936=2Cblksize=
=3D16384 }) =3D 0 (0x0)
pread(0x3=2C0x40358a78=2C0x2000=2C0x0=2C0x0=2C0x40367188)  =3D 8192 (0x2000=
)
mmap(0x0=2C1204224=2CPROT_NONE=2CMAP_PRIVATE|MAP_ANON|MAP_NOCORE=2C-1=2C0x0=
) =3D 1092362240 (0x411c2000)
mmap(0x411c2000=2C106496=2CPROT_READ|PROT_EXEC=2CMAP_PRIVATE|MAP_FIXED|MAP_=
NOCORE=2C3=2C0x0) =3D 1092362240 (0x411c2000)
mmap(0x412da000=2C16384=2CPROT_READ|PROT_WRITE|PROT_EXEC=2CMAP_PRIVATE|MAP_=
FIXED=2C3=2C0x18000) =3D 1093509120 (0x412da000)
mprotect(0x412de000=2C40960=2CPROT_READ|PROT_WRITE|PROT_EXEC) =3D 0 (0x0)
close(3)                                         =3D 0 (0x0)
mmap(0x0=2C40960=2CPROT_READ|PROT_WRITE=2CMAP_PRIVATE|MAP_ANON=2C-1=2C0x0) =
=3D 1076256768 (0x40266000)
mmap(0x0=2C106496=2CPROT_READ|PROT_WRITE=2CMAP_PRIVATE|MAP_ANON=2C-1=2C0x0)=
 =3D 1076297728 (0x40270000)
sigprocmask(SIG_BLOCK=2CSIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTE=
RM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGT
TOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR=
2=2C0x0) =3D 0 (0x0)
sigprocmask(SIG_SETMASK=2C0x0=2C0x0)                 =3D 0 (0x0)
sysarch(0x1=2C0x41082fb8=2C0xc0792e40=2C0x40f75653=2C0x412dbde8=2C0x800005)=
 =3D 0 (0x0)
sigprocmask(SIG_BLOCK=2CSIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTE=
RM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGT
TOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR=
2=2C0x0) =3D 0 (0x0)
sigprocmask(SIG_SETMASK=2C0x0=2C0x0)                 =3D 0 (0x0)
sigprocmask(SIG_BLOCK=2CSIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTE=
RM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGT
TOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR=
2=2C0x0) =3D 0 (0x0)
sigprocmask(SIG_SETMASK=2C0x0=2C0x0)                 =3D 0 (0x0)
sigprocmask(SIG_BLOCK=2CSIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTE=
RM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIG=
XFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2=2C0x0) =3D 0 (0x0)
sigprocmask(SIG_SETMASK=2C0x0=2C0x0)                 =3D 0 (0x0)
getpid()                                         =3D 1002 (0x3ea)
__sysctl(0x7fdffffe0b8=2C0x2=2C0x412e7f38=2C0x7fdffffe0c0=2C0x0=2C0x0) =3D =
0 (0x0)
__sysctl(0x7fdffffdeb8=2C0x2=2C0x7fdffffdf80=2C0x7fdffffdfe8=2C0x411d96d8=
=2C0xd) =3D 0 (0x0)
__sysctl(0x7fdffffdf80=2C0x3=2C0x412e6e48=2C0x7fdffffe0c0=2C0x0=2C0x0) =3D =
0 (0x0)
readlink("/etc/malloc.conf"=2C0x7fdffffda06=2C1024)  ERR#2 'No such file or=
 directory'
issetugid(0xffffffffffffffff=2C0xffffffffffffffff=2C0x400=2C0x40e965f6=2C0x=
41092968=2C0x400000) =3D 0 (0x0)
break(0x2176d8)                                  =3D 0 (0x0)
break(0x2176d8)                                  =3D 0 (0x0)
break(0x400000)                                  =3D 0 (0x0)
mmap(0x0=2C4194304=2CPROT_READ|PROT_WRITE=2CMAP_PRIVATE|MAP_ANON=2C-1=2C0x0=
) =3D 1093566464 (0x412e8000)
mmap(0x416e8000=2C1146880=2CPROT_READ|PROT_WRITE=2CMAP_PRIVATE|MAP_ANON=2C-=
1=2C0x0) =3D 1097760768 (0x416e8000)
munmap(0x412e8000=2C1146880)                       =3D 0 (0x0)
sigprocmask(SIG_BLOCK=2CSIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTE=
RM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIG=
XFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2=2C0x0) =3D 0 (0x0)
sigprocmask(SIG_SETMASK=2C0x0=2C0x0)                 =3D 0 (0x0)
thr_self(0x41404400=2C0x412e6e48=2C0x2000=2C0x412dd4a8=2C0x412e7f44=2C0x412=
dd450) =3D 0 (0x0)
mmap(0x7fdffbfe000=2C8192=2CPROT_NONE=2CMAP_ANON=2C-1=2C0x0) =3D 8787498885=
120 (0x7fdffbfe000)
thr_set_name(0x186dd=2C0x411d9768=2C0x0=2C0x1000=2C0xffffffffffffffff=2C0x0=
) =3D 0 (0x0)
rtprio_thread(0x0=2C0x186dd=2C0x7fdffffdfec=2C0x22=2C0xffffffffffffffff=2C0=
x0) =3D 0 (0x0)
sysarch(0x2=2C0x410853b0=2C0x600=2C0x80=2C0x0=2C0x0)       =3D 0 (0x0)
sigaction(32=2C{ 0x411ce740 SA_SIGINFO ss_t }=2C0x0) =3D 0 (0x0)
sigprocmask(SIG_UNBLOCK=2C0x0=2C0x0)                 =3D 0 (0x0)
sigprocmask(SIG_BLOCK=2CSIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTE=
RM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIG=
XFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2=2C0x0) =3D 0 (0x0)
sigprocmask(SIG_SETMASK=2C0x0=2C0x0)                 =3D 0 (0x0)
sigprocmask(SIG_BLOCK=2CSIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTE=
RM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIG=
XFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2=2C0x0) =3D 0 (0x0)
sigprocmask(SIG_SETMASK=2C0x0=2C0x0)                 =3D 0 (0x0)
sigprocmask(SIG_BLOCK=2CSIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTE=
RM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIG=
XFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2=2C0x0) =3D 0 (0x0)
sigprocmask(SIG_SETMASK=2C0x0=2C0x0)                 =3D 0 (0x0)
sigprocmask(SIG_BLOCK=2CSIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTE=
RM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIG=
XFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2=2C0x0) =3D 0 (0x0)
sigprocmask(SIG_SETMASK=2C0x0=2C0x0)                 =3D 0 (0x0)
sigprocmask(SIG_BLOCK=2CSIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTE=
RM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIG=
XFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2=2C0x0) =3D 0 (0x0)
sigprocmask(SIG_SETMASK=2C0x0=2C0x0)                 =3D 0 (0x0)
sigprocmask(SIG_BLOCK=2CSIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTE=
RM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIG=
XFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2=2C0x0) =3D 0 (0x0)
sigprocmask(SIG_SETMASK=2C0x0=2C0x0)                 =3D 0 (0x0)
sigprocmask(SIG_BLOCK=2CSIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTE=
RM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIG=
XFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2=2C0x0) =3D 0 (0x0)
sigprocmask(SIG_SETMASK=2C0x0=2C0x0)                 =3D 0 (0x0)
sigprocmask(SIG_BLOCK=2CSIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTE=
RM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIG=
XFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2=2C0x0) =3D 0 (0x0)
sigprocmask(SIG_SETMASK=2C0x0=2C0x0)                 =3D 0 (0x0)
sigprocmask(SIG_BLOCK=2CSIGHUP|SIGINT|



And it stops right there after SIGINT.

 		 	   		  =



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