On 11/1/06, Danek Duvall <[EMAIL PROTECTED]> wrote:
On Tue, Oct 31, 2006 at 10:35:23PM -0500, art sm wrote:
> On 10/31/06, Yakov Lerner <[EMAIL PROTECTED]> wrote:
>
> >Any subsequent synchronous commands do not work,
> >or any subsequent async (&) commands do not work ?
> >
> >Can you possibly try strace to see exacty why exactly 2nd command
> >loses its tracks:
> >:!strace -f sh -c 'touch xyz&"
> >?
> >Yakov
>
> Just the async (&) command stop working. Synchronous commands are
> fine. I tried strace, but it fails with ERROR: Unable to open
> /dev/log. I don't have permission to access the log.
On Solaris, use truss instead of strace. The options as above should work.
What version of Solaris are you running?
Danek
Thanks for your help!
I'm using: $ uname -a
SunOS sundev2 5.9 Generic_112233-12 sun4u sparc SUNW,Sun-Fire
When I forked the process through truss, the command was succesful. I
don't know if the output will be helpful, but here it is:
6605: execve("/usr/bin/sh", 0xFFBFF354, 0xFFBFF364) argc = 3
6605: mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF3B0000
6605: resolvepath("/usr/bin/sh", "/usr/bin/sh", 1023) = 11
6605: resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16
6605: stat("/usr/bin/sh", 0xFFBFF140) = 0
6605: open("/var/ld/ld.config", O_RDONLY) = 3
6605: fstat(3, 0xFFBFEBF8) = 0
6605: mmap(0x00000000, 184, PROT_READ, MAP_SHARED, 3, 0) = 0xFF3A0000
6605: close(3) = 0
6605: stat("/bb/data/sunlibs/6/libgen.so.1", 0xFFBFEAB4) = 0
6605: open("/bb/data/sunlibs/6/libgen.so.1", O_RDONLY) = 3
6605: fstat(3, 0xFFBFEAB4) = 0
6605: mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0xFF390000
6605: mmap(0x00000000, 98304, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0)
= 0xFF370000
6605: mmap(0xFF386000, 2351, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 24576) = 0xFF386000
6605: munmap(0xFF376000, 65536) = 0
6605: resolvepath("/bb/data/sunlibs/6/libgen.so.1",
"/bb/data/sunlibs/6/libgen.so.1", 1023) = 30
6605: memcntl(0xFF370000, 6372, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
6605: close(3) = 0
6605: stat("/bb/data/sunlibs/6/libc.so.1", 0xFFBFEAB4) = 0
6605: open("/bb/data/sunlibs/6/libc.so.1", O_RDONLY) = 3
6605: fstat(3, 0xFFBFEAB4) = 0
6605: mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF390000
6605: mmap(0x00000000, 802816, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0)
= 0xFF280000
6605: mmap(0xFF33C000, 24664, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 704512) = 0xFF33C000
6605: munmap(0xFF32C000, 65536) = 0
6605: resolvepath("/bb/data/sunlibs/6/libc.so.1",
"/bb/data/sunlibs/6/libc.so.1", 1023) = 28
6605: memcntl(0xFF280000, 117372, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
6605: close(3) = 0
6605: stat("/bb/data/sunlibs/6/libdl.so.1", 0xFFBFEAB4) = 0
6605: open("/bb/data/sunlibs/6/libdl.so.1", O_RDONLY) = 3
6605: fstat(3, 0xFFBFEAB4) = 0
6605: mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF390000
6605: resolvepath("/bb/data/sunlibs/6/libdl.so.1",
"/bb/data/sunlibs/6/libdl.so.1", 1023) = 29
6605: close(3) = 0
6605: stat("/bb/data/sunlibs/6/libc.so.1", 0xFFBFE8F4) = 0
6605: stat("/usr/platform/SUNW,Sun-Fire/lib/libc_psr.so.1", 0xFFBFE8E4) = 0
6605: open("/usr/platform/SUNW,Sun-Fire/lib/libc_psr.so.1", O_RDONLY) = 3
6605: fstat(3, 0xFFBFE8E4) = 0
6605: mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0xFF360000
6605: resolvepath("/usr/platform/sun4u-us3/lib/libc_psr.so.1so.1",
"/usr/platform/sun4u-us3/lib/libc_psr.so.1", 1023) = 41
6605: close(3) = 0
6605: getustack(0xFFBFEFB4)
6605: getrlimit(RLIMIT_STACK, 0xFFBFEFAC) = 0
6605: getcontext(0xFFBFEDE8)
6605: setustack(0xFF343A5C)
6605: getpid() = 6605 [6586]
6605: getpgid(6605) = 6577
6605: getsid(6605) = 6577
6605: brk(0x0003A110) = 0
6605: sysconfig(_CONFIG_SIGRT_MIN) = 39
6605: sysconfig(_CONFIG_SIGRT_MAX) = 46
6605: sigaltstack(0xFFBFF24C, 0x00000000) = 0
6605: sigaction(SIGHUP, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGHUP, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGINT, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGINT, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGQUIT, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGQUIT, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGILL, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGILL, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGTRAP, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGTRAP, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGABRT, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGABRT, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGEMT, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGEMT, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGFPE, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGFPE, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGBUS, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGBUS, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGSEGV, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGSYS, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGSYS, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGPIPE, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGPIPE, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGALRM, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGALRM, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGTERM, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGTERM, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGUSR1, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGUSR1, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGUSR2, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGUSR2, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGPWR, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGPWR, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGURG, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGURG, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGPOLL, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGPOLL, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGVTALRM, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGVTALRM, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGPROF, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGPROF, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGXCPU, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGXCPU, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGXFSZ, 0x00000000, 0xFFBFF1C8) = 0
6605: sigaction(SIGXFSZ, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGRTMIN, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGRTMIN+1, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGRTMIN+2, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGRTMIN+3, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGRTMAX-3, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGRTMAX-2, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGRTMAX-1, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: sigaction(SIGRTMAX, 0xFFBFF128, 0xFFBFF1A8) = 0
6605: brk(0x0003A118) = 0
6605: brk(0x0003A318) = 0
6605: brk(0x0003A518) = 0
6605: brk(0x0003A6D8) = 0
6605: brk(0x0003A8D8) = 0
6605: brk(0x0003AAD8) = 0
6605: brk(0x0003ACD8) = 0
6605: getuid() = 65714 [65714]
6605: getuid() = 65714 [65714]
6605: getgid() = 100 [100]
6605: getgid() = 100 [100]
6605: ioctl(2, TCGETA, 0xFFBFF174) Err#25 ENOTTY
6605: brk(0x0003AFD8) = 0
6605: getuid() = 65714 [65714]
6605: stat64("/home/awood9/bin/touch", 0xFFBFEEF0) Err#2 ENOENT
6605: stat64("/usr/dt/bin/touch", 0xFFBFEEF0) Err#2 ENOENT
6605: stat64("/bbsrc/credit/local/bin/touch", 0xFFBFEEF0) Err#2 ENOENT
6605: stat64("/bbsrc/credit/local/SunOS/bin/touch", 0xFFBFEEF0) Err#2 ENOENT
6605: stat64("/opt/swt/insure7/bin.solaris/touch", 0xFFBFEEF0) Err#2 ENOENT
6605: stat64("/opt/swt/rational/releases/purify.sol.7.0/touch",
0xFFBFEEF0) Err#2 ENOENT
6605: stat64("/opt/swt/rational/releases/quantify.sol.7.0/touch",
0xFFBFEEF0) Err#2 ENOENT
6605: stat64("/opt/swt/rational/releases/purecov.sol.7.0/touch",
0xFFBFEEF0) Err#2 ENOENT
6605: stat64("/usr/bin/touch", 0xFFBFEEF0) = 0
6605: access("/usr/bin/touch", 9) = 0
6605: fork() = 6606
6605: waitid(P_ALL, 0, 0xFFBFF030, WEXITED|WTRAPPED|WNOHANG) = 0
6605: brk(0x0003ADD8) = 0
6606: fork() (returning as child ...) = 6605
6605: _exit(0)
6606: getpid() = 6606 [1]
6606: sigaction(SIGTTIN, 0xFFBFF058, 0xFFBFF0D8) = 0
6606: sigaction(SIGINT, 0xFFBFF058, 0xFFBFF0D8) = 0
6606: sigaction(SIGQUIT, 0xFFBFF058, 0xFFBFF0D8) = 0
6606: open64("/dev/null", O_RDONLY) = 3
6606: fcntl(0, F_GETFD, 0x00000000) = 0
6606: close(0) = 0
6606: fcntl(3, F_DUPFD, 0x00000000) = 0
6606: close(3) = 0
6606: brk(0x0003B3D8) = 0
6606: brk(0x0003B7D8) = 0
6606: brk(0x0003BBD8) = 0
6606: brk(0x0003BFD8) = 0
6606: execve("/usr/bin/touch", 0x0003ADA8, 0x0003AF6C) argc = 2
6606: mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF3B0000
6606: resolvepath("/usr/bin/touch", "/usr/bin/touch", 1023) = 14
6606: resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16
6606: stat("/usr/bin/touch", 0xFFBFF148) = 0
6606: open("/var/ld/ld.config", O_RDONLY) = 3
6606: fstat(3, 0xFFBFEC00) = 0
6606: mmap(0x00000000, 184, PROT_READ, MAP_SHARED, 3, 0) = 0xFF3A0000
6606: close(3) = 0
6606: stat("/bb/data/sunlibs/6/libc.so.1", 0xFFBFEABC) = 0
6606: open("/bb/data/sunlibs/6/libc.so.1", O_RDONLY) = 3
6606: fstat(3, 0xFFBFEABC) = 0
6606: mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0xFF390000
6606: mmap(0x00000000, 802816, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0)
= 0xFF280000
6606: mmap(0xFF33C000, 24664, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 704512) = 0xFF33C000
6606: munmap(0xFF32C000, 65536) = 0
6606: resolvepath("/bb/data/sunlibs/6/libc.so.1",
"/bb/data/sunlibs/6/libc.so.1", 1023) = 28
6606: memcntl(0xFF280000, 117372, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
6606: close(3) = 0
6606: stat("/bb/data/sunlibs/6/libdl.so.1", 0xFFBFEABC) = 0
6606: open("/bb/data/sunlibs/6/libdl.so.1", O_RDONLY) = 3
6606: fstat(3, 0xFFBFEABC) = 0
6606: mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF390000
6606: resolvepath("/bb/data/sunlibs/6/libdl.so.1",
"/bb/data/sunlibs/6/libdl.so.1", 1023) = 29
6606: close(3) = 0
6606: stat("/usr/platform/SUNW,Sun-Fire/lib/libc_psr.so.1", 0xFFBFE8EC) = 0
6606: open("/usr/platform/SUNW,Sun-Fire/lib/libc_psr.so.1", O_RDONLY) = 3
6606: fstat(3, 0xFFBFE8EC) = 0
6606: mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0xFF380000
6606: resolvepath("/usr/platform/sun4u-us3/lib/libc_psr.so.1so.1",
"/usr/platform/sun4u-us3/lib/libc_psr.so.1", 1023) = 41
6606: close(3) = 0
6606: getustack(0xFFBFEFBC)
6606: getrlimit(RLIMIT_STACK, 0xFFBFEFB4) = 0
6606: getcontext(0xFFBFEDF0)
6606: setustack(0xFF343A5C)
6606: brk(0x00021E80) = 0
6606: brk(0x00023E80) = 0
6606: stat64("xyz", 0xFFBFF1B8) Err#2 ENOENT
6606: creat64("xyz", 0666) = 3
6606: close(3) = 0
6606: stat64("xyz", 0xFFBFF1B8) = 0
6606: utimes("xyz", 0x00000000) = 0
6606: _exit(0)