From owner-freebsd-net@FreeBSD.ORG Sun May 27 16:27:04 2012 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 840E8106564A for ; Sun, 27 May 2012 16:27:04 +0000 (UTC) (envelope-from darrenr@freebsd.org) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by mx1.freebsd.org (Postfix) with ESMTP id 37ACF8FC0A for ; Sun, 27 May 2012 16:27:04 +0000 (UTC) Received: from compute5.internal (compute5.nyi.mail.srv.osa [10.202.2.45]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 7698A21165 for ; Sun, 27 May 2012 12:20:49 -0400 (EDT) Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160]) by compute5.internal (MEProxy); Sun, 27 May 2012 12:20:49 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:date:from:reply-to :mime-version:to:subject:content-type:content-transfer-encoding; s=smtpout; bh=PCBkJ29XSxrF4ejSxcdtQrsmb2E=; b=f2idciQf4+qvJXoib SGKd8hOwZnyVdjA/8Wn3GAfwy5sDI8Z69uwgDvQ1yYwpPwdBVYw0bpcafUjSrP6U FJKMQy3MkYkzksd2yeYm2t2qcnGrI6n6MQDFMpdoEeYv8BX4j6CeJaGZze8fVpBg o6BSLNn0j4IdFLkPSU6oQFs+0E= X-Sasl-enc: MfKTju1NQ3I/I5N4ywK0bQ/BHlYs6DToZ+QXDME+sdYH 1338135648 Received: from [192.168.1.124] (unknown [202.45.110.141]) by mail.messagingengine.com (Postfix) with ESMTPA id 303D58E01F1 for ; Sun, 27 May 2012 12:20:47 -0400 (EDT) Message-ID: <4FC254C9.1050408@freebsd.org> Date: Mon, 28 May 2012 02:22:33 +1000 From: Darren Reed Organization: FreeBSD User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1 MIME-Version: 1.0 To: freebsd-net@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: rsh forking to infinity and beyond X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: darrenr@freebsd.org List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 May 2012 16:27:04 -0000 I've run into a rather strange problem with rsh on FreeBSD 9.0 where rsh seems to become a fork bomb. How or why this happens, I do not know. If I run it from the command line with a shell, it behaves perfectly normal. Even inside $() with pdksh. But when I put it in my script... What does the problem look like? See below. The script in question does this: x=$(truss -o rsh.$host.tr -f ${RSH} -l root ${host} echo hello_world) ... Normally there would be no truss, but I'm trying to work out why this is happening. Unfortunately, truss does not reveal any amount of nested forking. I'm at a loss to explain what's going on. Anyone? Darren -+= 00001 root /sbin/init -- |--= 00127 root adjkerntz -i |--= 00743 root /sbin/devd |--= 00909 root /usr/sbin/syslogd -s |-+= 01149 root /usr/sbin/sshd | \-+= 01255 root sshd: darrenr [priv] (sshd) | \-+- 01258 darrenr sshd: darrenr@pts/0 (sshd) | \-+= 01259 darrenr -tcsh (tcsh) | \-+= 01328 root su root -c exec tcsh | \-+= 01329 root tcsh | |-+= 01392 root /bin/ksh ./setup.sh (ksh93) | | \-+- 01394 root truss -o rsh.freebsd.tr -f rsh -l root freebsd ec ho hello_world | | |-+- 01395 root rsh -l root freebsd echo hello_world | | | \--- 01454 root | | |--- 01400 root | | \--- 01455 root | \-+= 02045 root pstree | \--- 02046 root ps -axwwo user,pid,ppid,pgid,command |--= 01156 root sendmail: accepting connections (sendmail) |--= 01160 smmsp sendmail: Queue runner@00:30:00 for /var/spool/clientmqueue (s endmail) |--= 01166 root /usr/sbin/cron -s |--= 01191 root /usr/sbin/inetd -wW -C 60 |--= 01226 root /usr/libexec/getty Pc ttyv0 |--= 01227 root /usr/libexec/getty Pc ttyv1 |--= 01228 root /usr/libexec/getty Pc ttyv2 |--= 01229 root /usr/libexec/getty Pc ttyv3 |--= 01230 root /usr/libexec/getty Pc ttyv4 |--= 01231 root /usr/libexec/getty Pc ttyv5 |--= 01232 root /usr/libexec/getty Pc ttyv6 |--= 01233 root /usr/libexec/getty Pc ttyv7 |-+- 01397 root rsh freebsd -l root echo hello_world | \--- 01401 root |-+- 01399 root rsh freebsd -l root echo hello_world | \--- 01404 root |-+- 01403 root rsh freebsd -l root echo hello_world | \--- 01407 root |-+- 01406 root rsh freebsd -l root echo hello_world | \--- 01410 root |-+- 01409 root rsh freebsd -l root echo hello_world | \--- 01413 root |-+- 01412 root rsh freebsd -l root echo hello_world | \--- 01416 root |-+- 01415 root rsh freebsd -l root echo hello_world ... |-+- 02026 root rsh freebsd -l root echo hello_world | \--- 02030 root |-+- 02029 root rsh freebsd -l root echo hello_world | \--- 02033 root |-+- 02032 root rsh freebsd -l root echo hello_world | \--- 02036 root |-+- 02035 root rsh freebsd -l root echo hello_world | \--- 02039 root \-+- 02038 root rsh freebsd -l root echo hello_world \-+- 02040 root rsh freebsd -l root echo hello_world \--- 02041 root rsh freebsd -l root echo hello_world