From: Reto Schuettel Date: 2006-04-18T18:15:14+09:00 Subject: Re: Strange problem with PTY.spawn() --AsxXAMtlQ5JHofzM Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit Hi Nobu Sorry for the long delay! On Tue, Apr 11, 2006 at 10:52:03PM +0900, nobu@ruby-lang.org wrote: > Seems grantpt() failed. Can't you try with this patch? I've applied the patch and rerun the test, here's output. The (new) truss output is attached. $ ruby1.8 -rpty -e 'PTY.spawn("/bin/telnet")' -e:1:in `spawn': No such file or directory - can't get Master/Slave device (Errno::ENOENT) from -e:1 Please tell me if you need anything else! Thanks, Reto Sch�ttel --AsxXAMtlQ5JHofzM Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: attachment; filename="pty-problem-2.truss" 26810: execve("/usr/local/bin/ruby1.8", 0xFFBEFAB4, 0xFFBEFAC8) argc = 4 26810: resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16 26810: open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT 26810: stat("/usr/local//lib/libruby1.8.so.1", 0xFFBEF1D4) = 0 26810: open("/usr/local//lib/libruby1.8.so.1", O_RDONLY) = 3 26810: fstat(3, 0xFFBEF1D4) = 0 26810: mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF3A0000 26810: mmap(0x00000000, 958464, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF280000 26810: mmap(0xFF280000, 794985, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF280000 26810: mmap(0xFF352000, 30592, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 794624) = 0xFF352000 26810: mmap(0xFF35A000, 58044, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF35A000 26810: munmap(0xFF344000, 57344) = 0 26810: mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF390000 26810: memcntl(0xFF280000, 103668, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 26810: close(3) = 0 26810: stat("/usr/local//lib/librt.so.1", 0xFFBEF1D4) Err#2 ENOENT 26810: stat("/usr/lib/librt.so.1", 0xFFBEF1D4) = 0 26810: open("/usr/lib/librt.so.1", O_RDONLY) = 3 26810: fstat(3, 0xFFBEF1D4) = 0 26810: mmap(0xFF3A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3A0000 26810: mmap(0x00000000, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF260000 26810: mmap(0xFF260000, 23994, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF260000 26810: mmap(0xFF276000, 1784, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 24576) = 0xFF276000 26810: munmap(0xFF266000, 65536) = 0 26810: memcntl(0xFF260000, 10032, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 26810: close(3) = 0 26810: stat("/usr/local//lib/libpthread.so.1", 0xFFBEF1D4) Err#2 ENOENT 26810: stat("/usr/lib/libpthread.so.1", 0xFFBEF1D4) = 0 26810: open("/usr/lib/libpthread.so.1", O_RDONLY) = 3 26810: fstat(3, 0xFFBEF1D4) = 0 26810: mmap(0xFF3A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3A0000 26810: mmap(0x00000000, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF240000 26810: mmap(0xFF240000, 16916, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF240000 26810: mmap(0xFF256000, 244, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 24576) = 0xFF256000 26810: munmap(0xFF246000, 65536) = 0 26810: memcntl(0xFF240000, 15340, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 26810: close(3) = 0 26810: stat("/usr/local//lib/libdl.so.1", 0xFFBEF1D4) Err#2 ENOENT 26810: stat("/usr/lib/libdl.so.1", 0xFFBEF1D4) = 0 26810: open("/usr/lib/libdl.so.1", O_RDONLY) = 3 26810: fstat(3, 0xFFBEF1D4) = 0 26810: mmap(0xFF3A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3A0000 26810: close(3) = 0 26810: stat("/usr/local//lib/libcrypt_i.so.1", 0xFFBEF1D4) Err#2 ENOENT 26810: stat("/usr/lib/libcrypt_i.so.1", 0xFFBEF1D4) = 0 26810: open("/usr/lib/libcrypt_i.so.1", O_RDONLY) = 3 26810: fstat(3, 0xFFBEF1D4) = 0 26810: mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF380000 26810: mmap(0x00000000, 81920, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF220000 26810: mmap(0xFF220000, 6800, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF220000 26810: mmap(0xFF232000, 1612, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 8192) = 0xFF232000 26810: munmap(0xFF222000, 65536) = 0 26810: memcntl(0xFF220000, 3628, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 26810: close(3) = 0 26810: stat("/usr/local//lib/libm.so.1", 0xFFBEF1D4) Err#2 ENOENT 26810: stat("/usr/lib/libm.so.1", 0xFFBEF1D4) = 0 26810: open("/usr/lib/libm.so.1", O_RDONLY) = 3 26810: fstat(3, 0xFFBEF1D4) = 0 26810: mmap(0xFF380000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF380000 26810: mmap(0x00000000, 155648, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF1F0000 26810: mmap(0xFF1F0000, 84962, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF1F0000 26810: mmap(0xFF214000, 4228, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 81920) = 0xFF214000 26810: munmap(0xFF206000, 57344) = 0 26810: memcntl(0xFF1F0000, 8144, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 26810: close(3) = 0 26810: stat("/usr/local//lib/libc.so.1", 0xFFBEF1D4) Err#2 ENOENT 26810: stat("/usr/lib/libc.so.1", 0xFFBEF1D4) = 0 26810: open("/usr/lib/libc.so.1", O_RDONLY) = 3 26810: fstat(3, 0xFFBEF1D4) = 0 26810: mmap(0xFF380000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF380000 26810: mmap(0x00000000, 802816, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF100000 26810: mmap(0xFF100000, 702344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF100000 26810: mmap(0xFF1BC000, 24772, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 704512) = 0xFF1BC000 26810: munmap(0xFF1AC000, 65536) = 0 26810: memcntl(0xFF100000, 113528, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 26810: close(3) = 0 26810: stat("/usr/lib/libaio.so.1", 0xFFBEF1D4) = 0 26810: open("/usr/lib/libaio.so.1", O_RDONLY) = 3 26810: fstat(3, 0xFFBEF1D4) = 0 26810: mmap(0xFF380000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF380000 26810: mmap(0x00000000, 106496, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF0E0000 26810: mmap(0xFF0E0000, 28861, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF0E0000 26810: mmap(0xFF0F8000, 1584, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 32768) = 0xFF0F8000 26810: munmap(0xFF0E8000, 65536) = 0 26810: memcntl(0xFF0E0000, 7184, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 26810: close(3) = 0 26810: stat("/usr/lib/libgen.so.1", 0xFFBEF1D4) = 0 26810: open("/usr/lib/libgen.so.1", O_RDONLY) = 3 26810: fstat(3, 0xFFBEF1D4) = 0 26810: mmap(0xFF380000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF380000 26810: mmap(0x00000000, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF1D0000 26810: mmap(0xFF1D0000, 23073, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF1D0000 26810: mmap(0xFF1E6000, 2335, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 24576) = 0xFF1E6000 26810: munmap(0xFF1D6000, 65536) = 0 26810: memcntl(0xFF1D0000, 6932, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 26810: close(3) = 0 26810: mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF370000 26810: stat("/usr/platform/SUNW,Sun-Fire-280R/lib/libc_psr.so.1", 0xFFBEEF9C) = 0 26810: open("/usr/platform/SUNW,Sun-Fire-280R/lib/libc_psr.so.1", O_RDONLY) = 3 26810: fstat(3, 0xFFBEEF9C) = 0 26810: mmap(0xFF380000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF380000 26810: close(3) = 0 26810: mprotect(0xFF280000, 794985, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 26810: mprotect(0xFF280000, 794985, PROT_READ|PROT_EXEC) = 0 26810: stat("/usr/lib/libthread.so.1", 0xFFBEEF9C) = 0 26810: open("/usr/lib/libthread.so.1", O_RDONLY) = 3 26810: fstat(3, 0xFFBEEF9C) = 0 26810: mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF0D0000 26810: mmap(0x00000000, 237568, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF090000 26810: mmap(0xFF090000, 113936, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF090000 26810: mmap(0xFF0BC000, 6588, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 114688) = 0xFF0BC000 26810: mmap(0xFF0BE000, 45568, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF0BE000 26810: munmap(0xFF0AC000, 65536) = 0 26810: memcntl(0xFF090000, 31116, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 26810: close(3) = 0 26810: munmap(0xFF0D0000, 8192) = 0 26810: lwp_self() = 1 26810: sigfillset(0xFF1C28D0) = 0 26810: brk(0x00020C60) = 0 26810: sysconfig(_CONFIG_PAGESIZE) = 8192 26810: sysconfig(_CONFIG_SEM_VALUE_MAX) = 2147483647 26810: getpid() = 26810 [26809] 26810: lwp_self() = 1 26810: getcontext(0xFFBEF540) 26810: getrlimit(RLIMIT_STACK, 0xFFBEF538) = 0 26810: sigprocmask(SIG_SETMASK, 0x00000000, 0xFFBEF528) = 0 26810: sigprocmask(SIG_SETMASK, 0xFF0BCFB8, 0x00000000) = 0 26810: sigaction(SIGLWP, 0xFF0BD7A8, 0x00000000) = 0 26810: sigaction(SIGCANCEL, 0xFF0BD7A8, 0x00000000) = 0 26810: sysconfig(_CONFIG_STACK_PROT) = 3 26810: mmap(0x00000000, 8454144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFE800000 26810: mprotect(0xFE800000, 8192, PROT_NONE) = 0 26810: mprotect(0xFE902000, 8192, PROT_NONE) = 0 26810: mprotect(0xFEA04000, 8192, PROT_NONE) = 0 26810: mprotect(0xFEB06000, 8192, PROT_NONE) = 0 26810: mprotect(0xFEC08000, 8192, PROT_NONE) = 0 26810: mprotect(0xFED0A000, 8192, PROT_NONE) = 0 26810: mprotect(0xFEE0C000, 8192, PROT_NONE) = 0 26810: mprotect(0xFEF0E000, 8192, PROT_NONE) = 0 26810: lwp_create(0xFFBEF260, __LWP_ASLWP, 0xFF00FDE4) = 2 26810: lwp_create() (returning as new lwp ...) = 0 26810: door_create(0xFF0A68D8, 0x00000000, 0x00000002) = 3 26810: lwp_schedctl(SC_STATE|SC_BLOCK, 3, 0xFFBEF464) = 0 26810: door_info(3, 0xFF0C29E0) = 0 26810: mmap(0x00000000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF080000 26810: mprotect(0xFF080000, 8192, PROT_NONE) = 0 26810: lwp_create(0xFFBEF248, LWP_DETACHED|LWP_SUSPENDED, 0xFF085DE4) = 3 26810: lwp_create() (returning as new lwp ...) = 0 26810: lwp_continue(3) = 0 26810: lwp_schedctl(SC_STATE|SC_BLOCK, -1, 0xFF085CD4) = 0 26810: close(3) = 0 26810: lwp_schedctl(SC_DOOR, 0, 0x00000000) = 3 26810: door_bind(3) = 0 26810: close(3) = 0 26810: sigaction(SIGWAITING, 0xFF0BCE08, 0x00000000) = 0 26810: door_return(0x00000000, 0, 0x00000000, 0) = 0 26810: signotifywait() = 32 26810: lwp_self() = 1 26810: lwp_sigredirect(0, SIGWAITING, 0x00000000) = 0 26810: sigaction(SIGWAITING, 0xFF0BCE28, 0x00000000) = 0 26810: mmap(0x00000000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF060000 26810: mmap(0x00000000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF070000 26810: mprotect(0xFF070000, 8192, PROT_NONE) = 0 26810: sysconfig(_CONFIG_SEM_VALUE_MAX) = 2147483647 26810: mprotect(0xFF060000, 8192, PROT_NONE) = 0 26810: lwp_create(0xFF085A00, LWP_DETACHED|LWP_SUSPENDED, 0xFF075DE4) = 4 26810: lwp_create() (returning as new lwp ...) = 0 26810: lwp_continue(4) = 0 26810: lwp_schedctl(SC_STATE|SC_BLOCK, -1, 0xFF075CD4) = 0 26810: lwp_schedctl(SC_DOOR, 0, 0x00000000) = 3 26810: door_bind(3) = 0 26810: close(3) = 0 26810: getrlimit64(RLIMIT_STACK, 0xFFBEF758) = 0 26810: brk(0x00020C60) = 0 26810: lwp_create(0xFF00FAB8, LWP_DETACHED|LWP_SUSPENDED, 0xFF063DE4) = 5 26810: lwp_create() (returning as new lwp ...) = 0 26810: brk(0x00022C60) = 0 26810: lwp_continue(5) = 0 26810: brk(0x00022C60) = 0 26810: lwp_schedctl(SC_STATE|SC_BLOCK, -1, 0xFF063CD4) = 0 26810: brk(0x0005CC60) = 0 26810: lwp_cond_wait(0xFF0C34E8, 0xFF0C34F8, 0xFF0BCD80) = 0 26810: getcontext(0xFFBEF7E0) 26810: brk(0x0005CC60) = 0 26810: brk(0x0005EC60) = 0 26810: brk(0x0005EC60) = 0 26810: brk(0x00060C60) = 0 26810: brk(0x00060C60) = 0 26810: brk(0x00062C60) = 0 26810: brk(0x00062C60) = 0 26810: brk(0x00064C60) = 0 26810: brk(0x00064C60) = 0 26810: brk(0x00066C60) = 0 26810: brk(0x00066C60) = 0 26810: brk(0x00068C60) = 0 26810: brk(0x00068C60) = 0 26810: brk(0x0006AC60) = 0 26810: brk(0x0006AC60) = 0 26810: brk(0x0006CC60) = 0 26810: brk(0x0006CC60) = 0 26810: brk(0x0006EC60) = 0 26810: brk(0x0006EC60) = 0 26810: brk(0x00070C60) = 0 26810: brk(0x00070C60) = 0 26810: brk(0x00072C60) = 0 26810: brk(0x00072C60) = 0 26810: brk(0x00074C60) = 0 26810: brk(0x00074C60) = 0 26810: brk(0x00076C60) = 0 26810: brk(0x00076C60) = 0 26810: brk(0x00078C60) = 0 26810: brk(0x00078C60) = 0 26810: brk(0x0007AC60) = 0 26810: brk(0x0007AC60) = 0 26810: brk(0x0007CC60) = 0 26810: brk(0x0007CC60) = 0 26810: brk(0x0007EC60) = 0 26810: brk(0x0007EC60) = 0 26810: brk(0x00080C60) = 0 26810: brk(0x00080C60) = 0 26810: brk(0x00082C60) = 0 26810: brk(0x00082C60) = 0 26810: brk(0x00084C60) = 0 26810: brk(0x00084C60) = 0 26810: brk(0x00086C60) = 0 26810: sigaction(SIGINT, 0xFFBEF4D8, 0xFFBEF5D8) = 0 26810: sigaction(SIGHUP, 0xFFBEF4D8, 0xFFBEF5D8) = 0 26810: sigaction(SIGQUIT, 0xFFBEF4D8, 0xFFBEF5D8) = 0 26810: sigaction(SIGALRM, 0xFFBEF4D8, 0xFFBEF5D8) = 0 26810: sigaction(SIGUSR1, 0xFFBEF4D8, 0xFFBEF5D8) = 0 26810: sigaction(SIGUSR2, 0xFFBEF4D8, 0xFFBEF5D8) = 0 26810: sigaction(SIGBUS, 0xFFBEF4D8, 0xFFBEF5D8) = 0 26810: sigaction(SIGSEGV, 0xFFBEF4D8, 0xFFBEF5D8) = 0 26810: sigaction(SIGPIPE, 0xFFBEF4D8, 0xFFBEF5D8) = 0 26810: sigaction(SIGCLD, 0xFFBEF4C8, 0xFFBEF5C8) = 0 26810: sigaction(SIGCLD, 0xFFBEF538, 0xFFBEF638) = 0 26810: brk(0x00086C60) = 0 26810: brk(0x00088C60) = 0 26810: getuid() = 5006 [5006] 26810: getgid() = 10 [10] 26810: brk(0x00088C60) = 0 26810: brk(0x0008AC60) = 0 26810: brk(0x0008AC60) = 0 26810: brk(0x0008CC60) = 0 26810: getuid() = 5006 [5006] 26810: getuid() = 5006 [5006] 26810: getgid() = 10 [10] 26810: getgid() = 10 [10] 26810: getcontext(0xFFBEF7E8) 26810: brk(0x0008CC60) = 0 26810: brk(0x0008EC60) = 0 26810: getcontext(0xFFBEF400) 26810: getcontext(0xFFBEF180) 26810: stat64("/usr/local/lib/site_ruby/1.8/pty.rb", 0xFFBEEF78) Err#2 ENOENT 26810: stat64("/usr/local/lib/site_ruby/1.8/pty.so", 0xFFBEEF78) Err#2 ENOENT 26810: stat64("/usr/local/lib/site_ruby/1.8/sparc-solaris2.8/pty.rb", 0xFFBEEF78) Err#2 ENOENT 26810: stat64("/usr/local/lib/site_ruby/1.8/sparc-solaris2.8/pty.so", 0xFFBEEF78) Err#2 ENOENT 26810: stat64("/usr/local/lib/site_ruby/pty.rb", 0xFFBEEF78) Err#2 ENOENT 26810: stat64("/usr/local/lib/site_ruby/pty.so", 0xFFBEEF78) Err#2 ENOENT 26810: stat64("/usr/local//lib/ruby/1.8/pty.rb", 0xFFBEEF78) Err#2 ENOENT 26810: stat64("/usr/local//lib/ruby/1.8/pty.so", 0xFFBEEF78) Err#2 ENOENT 26810: stat64("/usr/local//lib/ruby/1.8/sparc-solaris2.8/pty.rb", 0xFFBEEF78) Err#2 ENOENT 26810: stat64("/usr/local//lib/ruby/1.8/sparc-solaris2.8/pty.so", 0xFFBEEF78) = 0 26810: open64("/usr/local//lib/ruby/1.8/sparc-solaris2.8/pty.so", O_RDONLY) = 3 26810: llseek(3, 0, SEEK_CUR) = 0 26810: close(3) = 0 26810: stat64("/usr/local/lib/site_ruby/1.8/pty.so", 0xFFBEEF78) Err#2 ENOENT 26810: stat64("/usr/local/lib/site_ruby/1.8/sparc-solaris2.8/pty.so", 0xFFBEEF78) Err#2 ENOENT 26810: stat64("/usr/local/lib/site_ruby/pty.so", 0xFFBEEF78) Err#2 ENOENT 26810: stat64("/usr/local//lib/ruby/1.8/pty.so", 0xFFBEEF78) Err#2 ENOENT 26810: stat64("/usr/local//lib/ruby/1.8/sparc-solaris2.8/pty.so", 0xFFBEEF78) = 0 26810: open64("/usr/local//lib/ruby/1.8/sparc-solaris2.8/pty.so", O_RDONLY) = 3 26810: llseek(3, 0, SEEK_CUR) = 0 26810: close(3) = 0 26810: stat("/usr/local//lib/ruby/1.8/sparc-solaris2.8/pty.so", 0xFFBEEA24) = 0 26810: open("/usr/local//lib/ruby/1.8/sparc-solaris2.8/pty.so", O_RDONLY) = 3 26810: fstat(3, 0xFFBEEA24) = 0 26810: mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF050000 26810: mmap(0x00000000, 81920, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF030000 26810: mmap(0xFF030000, 7860, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF030000 26810: mmap(0xFF040000, 9116, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF040000 26810: munmap(0xFF032000, 57344) = 0 26810: memcntl(0xFF030000, 4664, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 26810: close(3) = 0 26810: mprotect(0xFF030000, 7860, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 26810: mprotect(0xFF030000, 7860, PROT_READ|PROT_EXEC) = 0 26810: munmap(0xFF050000, 8192) = 0 26810: getcontext(0xFFBEF700) 26810: open64("/dev/ptmx", O_RDWR) = 3 26810: sigaction(SIGCLD, 0xFFBEE320, 0xFFBEE420) = 0 26810: fork1() = 26811 26811: fork1() (returning as child ...) = 26810 26810: lwp_cond_wait(0xFF0C34E8, 0xFF0C34F8, 0xFF0BCD80) = 0 26810: lwp_cond_wait(0xFF0C34E8, 0xFF0C34F8, 0xFF0BCD80) = 0 26811: getpid() = 26811 [26810] 26810: lwp_mutex_wakeup(0xFF0C34F8) = 0 26810: lwp_mutex_lock(0xFF0C34F8) = 0 26810: lwp_mutex_lock(0xFF0C34F8) = 0 26811: munmap(0xFF060000, 16384) = 0 26811: munmap(0xFF070000, 24576) = 0 26811: munmap(0xFF080000, 24576) = 0 26811: munmap(0xFEF0E000, 1056768) = 0 26811: munmap(0xFEE0C000, 1056768) = 0 26811: munmap(0xFED0A000, 1056768) = 0 26811: munmap(0xFEC08000, 1056768) = 0 26811: munmap(0xFEB06000, 1056768) = 0 26811: munmap(0xFEA04000, 1056768) = 0 26811: munmap(0xFE902000, 1056768) = 0 26811: munmap(0xFE800000, 1056768) = 0 26811: mmap(0x00000000, 8454144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFE800000 26811: mprotect(0xFE800000, 8192, PROT_NONE) = 0 26811: mprotect(0xFE902000, 8192, PROT_NONE) = 0 26811: mprotect(0xFEA04000, 8192, PROT_NONE) = 0 26811: mprotect(0xFEB06000, 8192, PROT_NONE) = 0 26811: mprotect(0xFEC08000, 8192, PROT_NONE) = 0 26811: mprotect(0xFED0A000, 8192, PROT_NONE) = 0 26811: mprotect(0xFEE0C000, 8192, PROT_NONE) = 0 26811: mprotect(0xFEF0E000, 8192, PROT_NONE) = 0 26811: lwp_create(0xFFBEE090, __LWP_ASLWP, 0xFF00FDE4) = 2 26811: lwp_create() (returning as new lwp ...) = 0 26811: door_create(0xFF0A68D8, 0x00000000, 0x00000002) = 4 26811: lwp_schedctl(SC_STATE|SC_BLOCK, 4, 0xFFBEE294) = 0 26811: door_info(4, 0xFF0C29E0) = 0 26811: mmap(0x00000000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF080000 26811: mprotect(0xFF080000, 8192, PROT_NONE) = 0 26811: lwp_create(0xFFBEE078, LWP_DETACHED|LWP_SUSPENDED, 0xFF085DE4) = 3 26811: lwp_create() (returning as new lwp ...) = 0 26811: lwp_continue(3) = 0 26811: close(4) = 0 26811: lwp_schedctl(SC_STATE|SC_BLOCK, -1, 0xFF085CD4) = 0 26811: sigaction(SIGWAITING, 0xFF0BCE08, 0x00000000) = 0 26811: lwp_mutex_wakeup(0xFF0C34F8) = 0 26811: signotifywait() = 32 26811: lwp_mutex_lock(0xFF0C34F8) = 0 26811: lwp_sigredirect(0, SIGWAITING, 0x00000000) = 0 26811: lwp_mutex_wakeup(0xFF0C34F8) = 0 26811: lwp_mutex_lock(0xFF0C34F8) = 0 26811: lwp_self() = 1 26811: lwp_schedctl(SC_DOOR, 0, 0x00000000) Err#22 EINVAL 26811: sigaction(SIGWAITING, 0xFF0BCE28, 0x00000000) = 0 26811: lwp_mutex_wakeup(0xFF0C34F8) = 0 26811: lwp_mutex_lock(0xFF0C34F8) = 0 26811: execve("/usr/lib/pt_chmod", 0xFFBEE340, 0xFFBEFAC8) 26811: *** cannot trace across exec() of /usr/lib/pt_chmod *** 26810: waitid(P_PID, 26811, 0xFFBEE2D8, 0403 ) = 0 26810: close(3) = 0 26810: setcontext(0xFFBEDF58) 26810: getcontext(0xFFBEF498) 26810: getcontext(0xFFBEF700) 26810: getcontext(0xFFBEF420) 26810: getcontext(0xFFBEF420) -e:1:in `spawn'26810: write(2, " - e : 1 : i n ` s p a".., 15) = 15 26810: getcontext(0xFFBEF420) 26810: getcontext(0xFFBEF420) : 26810: write(2, " : ", 2) = 2 No such file or directory - can't get Master/Slave device26810: write(2, " N o s u c h f i l e".., 57) = 57 (26810: write(2, " (", 2) = 2 Errno::ENOENT26810: write(2, " E r r n o : : E N O E N".., 13) = 13 ) 26810: write(2, " )\n", 2) = 2 from -e:1 26810: write(2, "\t f r o m - e : 1\n", 11) = 11 26810: sigaction(SIGINT, 0xFFBEF4E0, 0xFFBEF5E0) = 0 26810: llseek(0, 0, SEEK_CUR) = 122048 26810: _exit(1) --AsxXAMtlQ5JHofzM--