From owner-freebsd-bugs Wed Jul 21 1:42:29 1999 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 62C0C15471 for ; Wed, 21 Jul 1999 01:42:23 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id BAA36416; Wed, 21 Jul 1999 01:40:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: by hub.freebsd.org (Postfix, from userid 32767) id 8DB8614C39; Wed, 21 Jul 1999 01:39:21 -0700 (PDT) Message-Id: <19990721083921.8DB8614C39@hub.freebsd.org> Date: Wed, 21 Jul 1999 01:39:21 -0700 (PDT) From: pfeifer@dbai.tuwien.ac.at To: freebsd-gnats-submit@freebsd.org X-Send-Pr-Version: www-1.0 Subject: kern/12730: poll() causes indeterministic program hangs on 3.2 but not 3.1 Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 12730 >Category: kern >Synopsis: poll() causes indeterministic program hangs on 3.2 but not 3.1 >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Jul 21 01:40:00 PDT 1999 >Closed-Date: >Last-Modified: >Originator: Gerald Pfeifer >Release: FreeBSD 3.2-RELEASE >Organization: Vienna University of Technology >Environment: FreeBSD polaris.dbai.tuwien.ac.at 3.2-RELEASE FreeBSD 3.2-RELEASE #0: Tue May 18 04:05:08 GMT 1999 jkh@cathair:/usr/src/sys/compile/GENERIC i386 >Description: Since we switched some hosts from 3.1 to 3.2, Pine regularily (though not deterministically) hangs infinitely when sending e-mail. A backtrace in the debugger (gcore followed by gdb) reveals the following: (gdb) bt #0 0x282c80f8 in poll () from /usr/lib/libc.so.3 #1 0x282e5279 in res_send () from /usr/lib/libc.so.3 #2 0x282e1fbf in res_query () from /usr/lib/libc.so.3 #3 0x282dba98 in _gethostbydnsaddr () from /usr/lib/libc.so.3 #4 0x282da5b2 in gethostbyaddr () from /usr/lib/libc.so.3 #5 0x81817c2 in tcp_localhost (stream=0x82ca000) at tcp_unix.c:659 #6 0x817c044 in net_localhost (stream=0x82ba530) at mail.c:4645 #7 0x818ac67 in smtp_open_full (dv=0x0, hostlist=0x829fb10, service=0x822d247 "smtp", port=25, options=65) at smtp.c:166 #8 0x8128c36 in call_mailer () #9 0x8125463 in pine_send () #10 0x811f054 in compose_mail () #11 0x811e025 in compose_screen () #12 0x80bdcd5 in process_cmd () #13 0x80d0707 in index_lister () #14 0x80cf71a in mail_index_screen () #15 0x810c84c in main () #16 0x804a539 in _start () This is not a Pine problem, the very same Pine 4.10 binary has been working just fine on 3.1 for a couple of months. Home directories and /var/mail are NFS mounted from a Solaris 2.6 host. Originally we used Pine as distributed by its authors, but also applying the patches from the FreeBSD ports collection did not change anything. Some additional information from a message of mine to freebsd-stable@freebsd.org. As you see, something similiar happened with FreeBSD 3.1 but we managed to fix it, but FreeBSD 3.2 breaks again. Subject: Re: NFSv3 seriously broken in 3.1 On Mon, 28 Jun 1999, David O'Brien wrote: >How-To-Repeat: NFS mount /var/mail and home directory from a Solaris 2.6 server. Send lots of e-mail from a FreeBSD 3.2 client until Pine hangs. >Fix: >Release-Note: >Audit-Trail: >Unformatted: >> Just to make sure, there has been no change between FreeBSD 3.1 and 3.2, >> right? > 3.1 defaulted to v3/TCP. 3.2 defaults to v3/UDP (or at least should). > HOWEVER /etc/amd.map specifies v2/UDP. > > Are you able to use ``snoop -v'' on a Sun to verify the protocols used? > (or tcpdump if you don't have Solaris) Yes. I checked with `snoop -v` and indeed I only saw NFS2 requests going over the wire from that specific FreeBSD box. In addition to our AMD maps we statically mount /var/mail; either without any options or when forced to v2/UDP, a 3.2 client hangs now and then when sending mail from Pine. Finally, please note that we are on an extremely bad network with ~10% Ethernet collisions. Perhaps a history might be helpful? 1. 2.2.x clients against a SunOS 4.x host. No problems. 2. 2.2.x clients against a Solaris 2.6 host. No problems. 3. 3.1 clients have long hangs now and then; sending mail with Pine hangs forever now and then. 2.2.x clients are fine. 4. Force v2/UDP for all AMD maps. Both 2.2.x and 3.1 clients are fine. 5. 3.2 clients experience infinite hangs when sending mail with Pine now and then, all others are fine. 6. Force v2/UDP for /var/mail on 3.2 client. No change. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message