| From | Sent On | Attachments |
|---|---|---|
| Roger Hammerstein | Mar 2, 2011 8:46 am | |
| Marius Strobl | Mar 2, 2011 12:02 pm | |
| Marius Strobl | Mar 6, 2011 7:22 am | |
| Roger Hammerstein | Mar 6, 2011 8:27 pm | |
| Marius Strobl | Mar 7, 2011 12:05 am | |
| Marius Strobl | Mar 7, 2011 11:22 am | |
| Roger Hammerstein | Mar 9, 2011 7:02 am | |
| Marius Strobl | Mar 10, 2011 10:54 am | |
| Dimitry Andric | Mar 10, 2011 11:19 am | |
| Marius Strobl | Mar 12, 2011 9:59 am | |
| Marius Strobl | Mar 19, 2011 8:28 am | |
| Michael Moll | Mar 21, 2011 10:55 am | |
| Pawel Jakub Dawidek | Mar 21, 2011 10:59 am | |
| Marius Strobl | Mar 22, 2011 9:07 am | |
| Pawel Jakub Dawidek | Mar 22, 2011 10:04 am | |
| Roger Hammerstein | Mar 22, 2011 10:50 am | |
| Marius Strobl | Mar 22, 2011 12:10 pm | .diff |
| Pawel Jakub Dawidek | Mar 22, 2011 2:13 pm | |
| Roger Hammerstein | Mar 22, 2011 2:38 pm | |
| Michael Moll | Mar 23, 2011 4:23 pm | |
| Martin Matuska | Mar 24, 2011 2:03 am | |
| Marius Strobl | Mar 24, 2011 4:16 am | |
| Michael Moll | Mar 24, 2011 5:35 am | |
| Pawel Jakub Dawidek | Mar 24, 2011 6:22 am | |
| Nathan Whitehorn | Mar 24, 2011 6:35 am | |
| Martin Matuska | Mar 24, 2011 6:37 am | |
| Marius Strobl | Mar 24, 2011 9:35 am | |
| Nathan Whitehorn | Mar 24, 2011 9:48 am | |
| Michael Moll | Mar 25, 2011 8:56 am | |
| Marius Strobl | Mar 26, 2011 7:30 am | |
| Martin Matuska | Mar 27, 2011 3:48 pm | |
| Michael Moll | Mar 28, 2011 7:18 am | |
| Martin Matuska | Apr 6, 2011 1:02 am | |
| Marius Strobl | Apr 6, 2011 2:30 am |
| Subject: | RE: sparc64 hang with zfs v28 | |
|---|---|---|
| From: | Roger Hammerstein (chee...@live.com) | |
| Date: | Mar 9, 2011 7:02:47 am | |
| List: | org.freebsd.freebsd-sparc64 | |
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, added that patch and rebuilt world and
kernel.
Now 'kldload zfs' or 'zpool status' locks the machine up, no serial console, no network. It doesn't respond to breaks on the serial console. (I didn't put the alternate break sequence in).
With the kernel.old from before your patch, 'kldload zfs' will work.
falcon# kldload zfs
ZFS NOTICE: Prefetch is disabled by default if less than 4GB of RAM is present; to enable, add "vfs.zfs.prefetch_disable=0" 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
================= 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,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 1076183040
(0x40254000)
issetugid(0x40256000,0x0,0x0,0x0,0x1000000000000000,0x2000000000000000) = 0
(0x0)
open("/etc/libmap.conf",O_RDONLY,0666) ERR#2 'No such file or
directory'
open("/var/run/ld-elf.so.hints",O_RDONLY,030036223340) = 3 (0x3)
read(3,"tnhE\0\0\0\^A\0\0\0\M^@\0\0\0-\0"...,128) = 128 (0x80)
mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 1076215808
(0x4025c000)
lseek(3,0x80,SEEK_SET) = 128 (0x80)
read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,45) = 45 (0x2d)
close(3) = 0 (0x0)
access("/lib/libavl.so.2",0) = 0 (0x0)
open("/lib/libavl.so.2",O_RDONLY,0666) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=9467939,size=8416,blksize=16384 }) = 0 (0x0)
pread(0x3,0x40358a78,0x2000,0x0,0x0,0x40367220) = 8192 (0x2000)
mmap(0x0,1056768,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 1077313536
(0x40368000)
mmap(0x40368000,8192,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE,3,0x0)
= 1077313536 (0x40368000)
mmap(0x40468000,8192,PROT_READ|PROT_WRITE|PROT_EXEC,MAP_PRIVATE|MAP_FIXED,3,0x0)
= 1078362112 (0x40468000)
close(3)
<SNIP more libs>
access("/lib/libthr.so.3",0) = 0 (0x0)
open("/lib/libthr.so.3",O_RDONLY,020) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=9467937,size=116936,blksize=16384 }) = 0 (0x0)
pread(0x3,0x40358a78,0x2000,0x0,0x0,0x40367188) = 8192 (0x2000)
mmap(0x0,1204224,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 1092362240
(0x411c2000)
mmap(0x411c2000,106496,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE,3,0x0)
= 1092362240 (0x411c2000)
mmap(0x412da000,16384,PROT_READ|PROT_WRITE|PROT_EXEC,MAP_PRIVATE|MAP_FIXED,3,0x18000)
= 1093509120 (0x412da000)
mprotect(0x412de000,40960,PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
close(3) = 0 (0x0)
mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 1076256768
(0x40266000)
mmap(0x0,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 1076297728
(0x40270000)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGT
TOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0)
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
sysarch(0x1,0x41082fb8,0xc0792e40,0x40f75653,0x412dbde8,0x800005) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGT
TOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0)
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGT
TOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0)
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0)
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
getpid() = 1002 (0x3ea)
__sysctl(0x7fdffffe0b8,0x2,0x412e7f38,0x7fdffffe0c0,0x0,0x0) = 0 (0x0)
__sysctl(0x7fdffffdeb8,0x2,0x7fdffffdf80,0x7fdffffdfe8,0x411d96d8,0xd) = 0 (0x0)
__sysctl(0x7fdffffdf80,0x3,0x412e6e48,0x7fdffffe0c0,0x0,0x0) = 0 (0x0)
readlink("/etc/malloc.conf",0x7fdffffda06,1024) ERR#2 'No such file or
directory'
issetugid(0xffffffffffffffff,0xffffffffffffffff,0x400,0x40e965f6,0x41092968,0x400000)
= 0 (0x0)
break(0x2176d8) = 0 (0x0)
break(0x2176d8) = 0 (0x0)
break(0x400000) = 0 (0x0)
mmap(0x0,4194304,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 1093566464
(0x412e8000)
mmap(0x416e8000,1146880,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =
1097760768 (0x416e8000)
munmap(0x412e8000,1146880) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0)
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
thr_self(0x41404400,0x412e6e48,0x2000,0x412dd4a8,0x412e7f44,0x412dd450) = 0
(0x0)
mmap(0x7fdffbfe000,8192,PROT_NONE,MAP_ANON,-1,0x0) = 8787498885120
(0x7fdffbfe000)
thr_set_name(0x186dd,0x411d9768,0x0,0x1000,0xffffffffffffffff,0x0) = 0 (0x0)
rtprio_thread(0x0,0x186dd,0x7fdffffdfec,0x22,0xffffffffffffffff,0x0) = 0 (0x0)
sysarch(0x2,0x410853b0,0x600,0x80,0x0,0x0) = 0 (0x0)
sigaction(32,{ 0x411ce740 SA_SIGINFO ss_t },0x0) = 0 (0x0)
sigprocmask(SIG_UNBLOCK,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0)
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0)
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0)
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0)
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0)
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0)
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0)
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0)
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|
And it stops right there after SIGINT.
_______________________________________________ free...@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-sparc64 To unsubscribe, send any mail to "free...@freebsd.org"






.diff