I have a Solaris 10 system and a OS 2009.06 system with a local zone.
The local zone is connected to the world via a stub net and a vnic between the
local and global.
The local via the stub net can ping/ssh/telnet etc to the global and the
Solaris 10 system and vice versa. So all TCP connectivity seems to be good.
The Solaris 10 system can get an rpcinfo from the OS global and local. The OS
global can get an rpcinfo from the local and the 10. The local can get an
rpcinfo from the global but not from the Solaris 10.
So...Why can't an OS local zone get an RPC info from a Solaris 10 system? The
root problem is that the local zone can not NFS mount the Solaris 10 NFS server.
The Solaris 10 system is patched up the the Recommended patch set as of today.
Truss output of rpcinfo on the localzone:
execve("/usr/bin/rpcinfo", 0x08047D38, 0x08047D44) argc = 2
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) =
0xFEFB0000
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) =
0xFEFA0000
memcntl(0xFEFBE000, 27724, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON,
-1, 0) = 0xFEF90000
memcntl(0x08050000, 6248, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12
resolvepath("/usr/bin/rpcinfo", "/usr/bin/rpcinfo", 1023) = 16
sysconfig(_CONFIG_PAGESIZE) = 4096
stat64("/usr/bin/rpcinfo", 0x080479DC) = 0
open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT
stat64("/lib/libc.so.1", 0x080471DC) = 0
resolvepath("/lib/libc.so.1", "/lib/libc.so.1", 1023) = 14
open("/lib/libc.so.1", O_RDONLY) = 3
mmapobj(3, 0x00020000, 0xFEF904C0, 0x08047248, 0x00000000) = 0
close(3) = 0
memcntl(0xFEE40000, 188400, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
stat64("/lib/libnsl.so.1", 0x08046EFC) = 0
resolvepath("/lib/libnsl.so.1", "/lib/libnsl.so.1", 1023) = 16
open("/lib/libnsl.so.1", O_RDONLY) = 3
mmapobj(3, 0x00020000, 0xFEF90B78, 0x08046F68, 0x00000000) = 0
close(3) = 0
memcntl(0xFED80000, 109296, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON,
-1, 0) = 0xFED70000
mmap(0x00010000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFED60000
getcontext(0x0804783C)
getrlimit(RLIMIT_STACK, 0x08047834) = 0
getpid() = 23821 [23820]
lwp_private(0, 1, 0xFED62A00) = 0x000001C3
setustack(0xFED62A60)
sigfillset(0xFEF876E8) = 0
sysi86(SI86FPSTART, 0xFEF8800C, 0x0000133F, 0x00001F80) = 0x00000001
open("/etc/netconfig", O_RDONLY) = 3
fstat64(3, 0x08047780) = 0
brk(0x08066870) = 0
brk(0x08068870) = 0
fstat64(3, 0x08047690) = 0
ioctl(3, TCGETA, 0x08047730) Err#25 ENOTTY
read(3, " # C D D L H E A D E".., 2560) = 2137
read(3, 0x0806687C, 2560) = 0
llseek(3, 0, SEEK_CUR) = 2137
llseek(3, 0, SEEK_SET) = 0
read(3, " # C D D L H E A D E".., 2560) = 2137
read(3, 0x0806687C, 2560) = 0
llseek(3, 0, SEEK_CUR) = 2137
close(3) = 0
open("/dev/udp", O_RDONLY) = 3
ioctl(3, SIOCGLIFNUM, 0x08047C60) = 0
close(3) = 0
open("/dev/udp", O_RDONLY) = 3
ioctl(3, SIOCGLIFNUM, 0x08047C60) = 0
close(3) = 0
stat64("/lib/straddr.so", 0x08046C00) Err#2 ENOENT
stat64("/usr/lib/straddr.so", 0x08046C00) = 0
resolvepath("/usr/lib/straddr.so", "/usr/lib/straddr.so.2", 1023) = 21
open("/usr/lib/straddr.so", O_RDONLY) = 3
mmapobj(3, 0x00020000, 0xFED706B8, 0x08046C6C, 0x00000000) = 0
close(3) = 0
memcntl(0xFED40000, 2872, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
uname(0x080463B0) = 1
sysconfig(_CONFIG_PAGESIZE) = 4096
open("/dev/udp", O_RDONLY) = 3
ioctl(3, SIOCGLIFNUM, 0x08047580) = 0
close(3) = 0
open("/dev/udp", O_RDONLY) = 3
ioctl(3, SIOCGLIFNUM, 0x08047580) = 0
close(3) = 0
brk(0x08068870) = 0
brk(0x0806A870) = 0
getuid() = 0 [0]
getpid() = 23821 [23820]
open("/proc/23821/psinfo", O_RDONLY) = 3
read(3, "\0\0\00201\0\0\0\r ]\0\0".., 336) = 336
close(3) = 0
mmap(0x00010000, 65536, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFED20000
getuid() = 0 [0]
getuid() = 0 [0]
open64("/var/run/name_service_door", O_RDONLY) = 3
fcntl(3, F_SETFD, 0x00000001) = 0
door_info(3, 0xFEF80F64) = 0
door_call(3, 0x08047290) = 0
open("/etc/default/nss", O_RDONLY) = 4
fstat64(4, 0x080472A0) = 0
fstat64(4, 0x080471B0) = 0
ioctl(4, TCGETA, 0x08047250) Err#25 ENOTTY
read(4, " # i d e n t\t " % Z %".., 2048) = 2042
read(4, 0x0806A054, 2048) = 0
llseek(4, 0, SEEK_CUR) = 2042
close(4) = 0
getuid() = 0 [0]
getuid() = 0 [0]
door_info(3, 0x08047220) = 0
door_call(3, 0x08047290) = 0
brk(0x0806A870) = 0
brk(0x0806C870) = 0
open("/dev/tcp", O_RDWR) = 4
ioctl(4, I_FIND, "timod") = 0
ioctl(4, I_PUSH, "timod") = 0
schedctl() = 0xFED11000
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
ioctl(4, I_STR, 0x080473D0) = 0
fxstat(2, 4, 0x08047350) = 0
ioctl(4, I_STR, 0x080473D0) = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
ioctl(4, I_FLUSH, FLUSHRW) = 0
is_system_labeled() = 0
fxstat(2, 4, 0x080473A0) = 0
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
ioctl(4, I_STR, 0x08047470) = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
fxstat(2, 4, 0x080473B0) = 0
fxstat(2, 4, 0x08047360) = 0
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
ioctl(4, I_STR, 0x08047430) = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
brk(0x0806C870) = 0
brk(0x08070870) = 0
fcntl(4, F_GETFL) = 2
fxstat(2, 4, 0x080472E0) = 0
fxstat(2, 4, 0x08047280) = 0
ioctl(4, I_STR, 0x080473D0) = 0
fxstat(2, 4, 0x080472A0) = 0
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
ioctl(4, I_NREAD, 0x0804734C) = 0
putmsg(4, 0x080473C0, 0x00000000, 0) = 0
fcntl(4, F_GETFL) = 2
getmsg(4, 0x08047320, 0x08047330, 0x08047310) = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
fcntl(4, F_GETFL) = 2
getmsg(4, 0x080473C0, 0x08047370, 0x08047368) = 0
getpid() = 23821 [23820]
fxstat(2, 4, 0x08047310) = 0
ioctl(4, I_STR, 0x080473E0) = 0
brk(0x08070870) = 0
brk(0x08072870) = 0
brk(0x08072870) = 0
brk(0x08074870) = 0
fxstat(2, 4, 0x08047370) = 0
write(4, "80\0\0 ( JECAEB2\0\0\0\0".., 44) = 44
pollsys(0x08067470, 1, 0x08047378, 0x00000000) (sleeping...)
pollsys(0x08067470, 1, 0x08047378, 0x00000000) = 0
fstat64(2, 0x08046680) = 0
rpcinfo: can't contact rpcbind: : RPC: Timed outwrite(2, " r p c i n f o : c
a n".., 48) = 48
write(2, "\n", 1) = 1
_exit(1)
truss of rpcbind on the Solaris 10 server:
pollsys(0x08045E4C, 5, 0x00000000, 0x00000000) (sleeping...)
pollsys(0x08045E4C, 5, 0x00000000, 0x00000000) = 1
fxstat(2, 6, 0x08045BC0) = 0
ioctl(6, I_PEEK, 0x08045C50) = 1
fxstat(2, 6, 0x08045B90) = 0
getmsg(6, 0x08045C74, 0x08045C80, 0x08045C98) = 0
open("/dev/tcp", O_RDWR) = 15
ioctl(15, I_FIND, "timod") = 0
ioctl(15, I_PUSH, "timod") = 0
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
ioctl(15, I_STR, 0x080458F0) = 0
fxstat(2, 15, 0x08045890) = 0
ioctl(15, I_STR, 0x080458F0) = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
ioctl(15, I_FLUSH, FLUSHRW) = 0
fcntl(15, F_DUPFD, 0x00000100) = 256
fxstat(2, 15, 0x08045920) = 0
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
close(15) = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
fxstat(2, 256, 0x08045940) = 0
ioctl(256, I_FIND, "timod") = 1
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
ioctl(256, I_STR, 0x080458F0) = 0
fxstat(2, 256, 0x08045890) = 0
ioctl(256, I_STR, 0x080458F0) = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
fcntl(256, F_SETFD, 0x00000001) = 0
fxstat(2, 256, 0x080458E0) = 0
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
ioctl(256, I_STR, 0x08045980) = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
fxstat(2, 256, 0x08045920) = 0
fxstat(2, 256, 0x080458D0) = 0
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
ioctl(256, I_STR, 0x08045970) = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
fxstat(2, 6, 0x080458C0) = 0
fxstat(2, 256, 0x080458C0) = 0
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
ioctl(256, I_NREAD, 0x080459FC) = 0
ioctl(6, I_NREAD, 0x08045980) = 0
putmsg(6, 0x080459B0, 0x00000000, 0) = 0
fcntl(6, F_GETFL) = 2
getmsg(6, 0x08045958, 0x08045964, 0x08045970) = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
fxstat(2, 256, 0x080458F0) = 0
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
ioctl(256, I_STR, 0x08045990) = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
fxstat(2, 256, 0x08045920) = 0
ioctl(256, TI_GETMYNAME, 0x080A2700) = 0
fcntl(256, F_GETFL) = 2
fcntl(256, F_SETFL, FWRITE|FNONBLOCK) = 0
pollsys(0x08045E4C, 6, 0x00000000, 0x00000000) = 1
fxstat(2, 256, 0x08045C00) = 0
getmsg(256, 0x08045CDC, 0x08045CE8, 0x08045CFC) = 0
fxstat(2, 256, 0x08045B60) = 0
write(256, "80\00EBC JECAEB2\0\0\001".., 3776) = 3776
fxstat(2, 256, 0x08045C00) = 0
getmsg(256, 0x08045CDC, 0x08045CE8, 0x08045CFC) Err#11 EAGAIN
pollsys(0x08045E4C, 6, 0x00000000, 0x00000000) (sleeping...)
pollsys(0x08045E4C, 6, 0x00000000, 0x00000000) = 1
fxstat(2, 256, 0x08045C00) = 0
getmsg(256, 0x08045CDC, 0x08045CE8, 0x08045CFC) = 0
fxstat(2, 256, 0x08045C40) = 0
ioctl(256, I_PEEK, 0x08045CC4) = 0
fxstat(2, 256, 0x08045C10) = 0
ioctl(256, I_PEEK, 0x08045CA0) = 0
fxstat(2, 256, 0x08045C30) = 0
putmsg(256, 0x08045D08, 0x00000000, 0) = 0
fxstat(2, 256, 0x08045CA0) = 0
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
close(256) = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
pollsys(0x08045E4C, 5, 0x00000000, 0x00000000) (sleeping...)
Any idea what's going on here?
--
This message posted from opensolaris.org