From owner-freebsd-current@FreeBSD.ORG Sat Sep 10 04:04:21 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47AC11065672 for ; Sat, 10 Sep 2011 04:04:21 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-vw0-f50.google.com (mail-vw0-f50.google.com [209.85.212.50]) by mx1.freebsd.org (Postfix) with ESMTP id 021668FC12 for ; Sat, 10 Sep 2011 04:04:20 +0000 (UTC) Received: by vws14 with SMTP id 14so2377949vws.37 for ; Fri, 09 Sep 2011 21:04:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=references:in-reply-to:mime-version:content-transfer-encoding :content-type:message-id:cc:x-mailer:from:subject:date:to; bh=WAiRSMqCV76yU8dwGlr9VttfYbpyV3it9M5vOChqsss=; b=AzLIiwl31kD/59H01hB484GZ6p0ON5vQh7mpkrRzQJfAdz//35PFr7D4WAq6HSgP6N 2OQ6NJpOjKJM/rLGm0YKtKsIHvH8KBxz1kG/6aQ3jinfIvf1H9Bz7cv+SilIsJepAVjz vPFij4hl5vEwrJnUq1+J5k4MscVpK6MDmrXTY= Received: by 10.52.98.161 with SMTP id ej1mr258318vdb.236.1315627460218; Fri, 09 Sep 2011 21:04:20 -0700 (PDT) Received: from [10.69.7.49] ([166.205.138.87]) by mx.google.com with ESMTPS id q1sm3838572vdj.18.2011.09.09.21.04.15 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 09 Sep 2011 21:04:19 -0700 (PDT) References: <4E5E46A4.3060705@citrin.ru> <4E6A99A9.1000204@delphij.net> In-Reply-To: <4E6A99A9.1000204@delphij.net> Mime-Version: 1.0 (iPhone Mail 8L1) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Message-Id: X-Mailer: iPhone Mail (8L1) From: Garrett Cooper Date: Fri, 9 Sep 2011 21:04:08 -0700 To: "d@delphij.net" Cc: "freebsd-current@freebsd.org" , Anton Yuzhaninov Subject: Re: truss X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Sep 2011 04:04:21 -0000 On Sep 9, 2011, at 3:56 PM, Xin LI wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 >=20 > On 08/31/11 07:35, Anton Yuzhaninov wrote: >> It seems to be truss(1) is broken on current >>=20 >> :~> truss /bin/echo x x truss: can not get etype: No such process >>=20 >> FreeBSD 9.0-BETA1 #0 r224884M i386 >>=20 >> from ktrace of turss >>=20 >> 3162 truss CALL >> __sysctl(0xbfbfea00,0x4,0xbfbfe9e0,0xbfbfea10,0,0) 3162 truss >> SCTL "kern.proc.sv_name.3163" 3162 truss RET __sysctl -1 >> errno 3 No such process >=20 > Can't seem to be reproducable here, did I missed anything? (note that > you may need a full world/kernel build). >=20 >> truss /bin/echo x > mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D > 34366255104 (0x800637000) > issetugid(0x800638015,0x80062cd9e,0x800848810,0x8008487e0,0xb277,0x0) > =3D 0 (0x0) > open("/etc/libmap.conf",O_RDONLY,0666) =3D 3 (0x3) > fstat(3,{ mode=3D-rw-r--r-- ,inode=3D1668471,size=3D712,blksize=3D4096 }) =3D= 0 > (0x0) > read(3,"libpthread.so.2\tlibthr.so.2\nli"...,4096) =3D 712 (0x2c8) > read(3,0x80063b000,4096) =3D 0 (0x0) > close(3) =3D 0 (0x0) > open("/var/run/ld-elf.so.hints",O_RDONLY,0160) =3D 3 (0x3) > read(3,"Ehnt\^A\0\0\0\M^@\0\0\0\M-\\^A\0"...,128) =3D 128 (0x80) > lseek(3,0x80,SEEK_SET) =3D 128 (0x80) > read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,476) =3D 476 (0x1dc) > close(3) =3D 0 (0x0) > mmap(0x0,36864,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D > 34366287872 (0x80063f000) > access("/lib/libc.so.7",0) =3D 0 (0x0) > open("/lib/libc.so.7",O_RDONLY,040737600) =3D 3 (0x3) > fstat(3,{ mode=3D-r--r--r-- ,inode=3D2664100,size=3D1310888,blksize=3D1310= 72 > }) =3D 0 (0x0) > pread(0x3,0x80083af60,0x1000,0x0,0x101010101010101,0x8080808080808080) > =3D 4096 (0x1000) > mmap(0x0,3432448,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D > 34368425984 (0x800849000) > mmap(0x800849000,1179648,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOC= ORE,3,0x0) > =3D 34368425984 (0x800849000) > mmap(0x800b69000,45056,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0x1200= 00) > =3D 34371702784 (0x800b69000) > mprotect(0x800b74000,110592,PROT_READ|PROT_WRITE) =3D 0 (0x0) > close(3) =3D 0 (0x0) > sysarch(0x81,0x7fffffffcfc0,0x80063d6c8,0x0,0xffffffffffad0580,0x800865370= ) > =3D 0 (0x0) > munmap(0x800642000,24576) =3D 0 (0x0) > mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D > 34366300160 (0x800642000) > sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTER= M|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFS= Z|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) > =3D 0 (0x0) > sigprocmask(SIG_SETMASK,0x0,0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTER= M|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFS= Z|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) > =3D 0 (0x0) > sigprocmask(SIG_SETMASK,0x0,0x0) =3D 0 (0x0) > readlink("/etc/malloc.conf","aj",1024) =3D 2 (0x2) > issetugid(0x800945ba1,0x7fffffffd220,0x6a,0x0,0x2,0x2) =3D 0 (0x0) > break(0x800000) =3D 0 (0x0) > mmap(0x0,4194304,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D > 34371858432 (0x800b8f000) > mmap(0x800f8f000,462848,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) > =3D 34376052736 (0x800f8f000) > munmap(0x800b8f000,462848) =3D 0 (0x0) > x > writev(0x1,0x800c07040,0x2,0x7fffffffdad0,0x600d10,0x7fffffffcd60) =3D 2 > (0x2) > sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTER= M|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFS= Z|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) > =3D 0 (0x0) > sigprocmask(SIG_SETMASK,0x0,0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTER= M|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFS= Z|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) > =3D 0 (0x0) > sigprocmask(SIG_SETMASK,0x0,0x0) =3D 0 (0x0) > process exit, rval =3D 0 Truss isn't broken for me this way either. It just doesn't detach from proce= sses properly if I do ctrl c, which seems like a ptrace bug to me. It would help to know how truss was compiled (file would be helpful), and wh= at environment it's being executed in (32bit on 64bit, a chroot/jail, etc). Thanks, -Garrett=