Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Sep 2003 12:02:42 -0400
From:      "James F.  Hranicky" <jfh@cise.ufl.edu>
To:        Robert Watson <rwatson@FreeBSD.org>
Cc:        freebsd-bugs@FreeBSD.org
Subject:   Re: conf/56031: ipfw hangs on every invocation
Message-ID:  <20030902120242.19519cf9.jfh@cise.ufl.edu>
In-Reply-To: <Pine.NEB.3.96L.1030828100627.34202J-100000@fledge.watson.org>
References:  <200308271118.h7RBIU0T041697@palm.cise.ufl.edu> <Pine.NEB.3.96L.1030828100627.34202J-100000@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 28 Aug 2003 10:07:55 -0400 (EDT)
Robert Watson <rwatson@FreeBSD.org> wrote:

> 
> On Wed, 27 Aug 2003, James F. Hranicky wrote:
> 
> > 	Upon upgrade to 4.8-STABLE #30: Tue Aug 12 11:51:33 EDT 2003, ipfw hangs each
> >         time it is called. 

[ ... ] 

> Could you send the output of "ps axlwww" showing the hung ipfw process, as
> well as its parent process?  When you run ipfw on the command line using
> the same arguments found in the periodic script, does it hang?  If so,
> what do you see when you press Ctrl-T?

Yes, any invocation of ipfw hangs. Here is the strace output -- oddly enough, 
it looks like some kind of terminal issue:

    # strace -f ipfw list
    execve("/sbin/ipfw", ["ipfw", "list"], [/* 27 vars */]) = 0
    readlink("/etc/malloc.conf", 0xbfbff950, 63) = -1 ENOENT (No such file or directory)
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0x28087000
    break(0x8098000)                        = 0
    break(0x8099000)                        = 0
    ioctl(0, TIOCGETA, {B38400 opost isig icanon echo ...}) = 0
    break(0x809a000)                        = 0
    socket(PF_INET, SOCK_RAW, IPPROTO_RAW)  = 3
    getsockopt(3, IPPROTO_IP, 54, [0], [176]) = 0
    fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(5, 0), ...}) = 0
    break(0x809b000)                        = 0
    ioctl(1, TIOCGETA, {B38400 opost isig icanon echo ...}) = 0

The parent process is /bin/sh when called from cron:

    # p | grep ipfw
    root   root   43032 42979  0.0  0.1   644  260  ??  I    Sat03AM   0:00.00 
    /bin/sh - /etc/periodic/security/500.ipfwdenied

    root   root   43034 43032 23.7  0.0   488  164  ??  R    Sat03AM 2459:26.28 ipfw -a l

    root   root   56542 56489  0.0  0.1   644  264  ??  I    Sun03AM   0:00.00 
    /bin/sh - /etc/periodic/security/500.ipfwdenied

    root   root   56544 56542 23.9  0.0   488  164  ??  R    Sun03AM 1164:21.71 ipfw -a l

    root   root   67717 67664  0.0  0.1   644  264  ??  I    Mon03AM   0:00.00 
    /bin/sh - /etc/periodic/security/500.ipfwdenied

    root   root   67719 67717 24.2  0.0   488  164  ??  R    Mon03AM 512:16.35 ipfw -a l

    root   root   78835 78782  0.0  0.1   644  268  ??  I     3:01AM   0:00.00 
    /bin/sh - /etc/periodic/security/500.ipfwdenied

    root   root   78837 78835 23.5  0.0   488  164  ??  R     3:01AM  83:18.34 ipfw -a l

The parent process is zsh from the command line:

    0   377   357   0  18  0  2248 1964 pause  I     p0    0:00.11 zsh
    0   449   377 139  45  0   464  288 -      R+    p0    0:32.93 ipfw list

Ctrl-T shows this when run from the command line:
    
    <root@palm:~> # ipfw list
    load: 0.32  cmd: ipfw 396 [running] 1.45u 0.00s 4% 288k
    load: 0.32  cmd: ipfw 396 [running] 3.04u 0.00s 9% 288k
    load: 0.32  cmd: ipfw 396 [running] 4.68u 0.00s 18% 288k
    load: 0.37  cmd: ipfw 396 [running] 6.09u 0.00s 25% 288k
    load: 0.37  cmd: ipfw 396 [running] 7.79u 0.00s 29% 288k
    load: 0.37  cmd: ipfw 396 [running] 9.47u 0.00s 36% 288k
    load: 0.42  cmd: ipfw 396 [running] 11.12u 0.00s 42% 288k
    
This goes to 99% CPU utiliztion quickly.

An upgrade to 

     4.9-PRERELEASE #31: Tue Sep  2 08:35:32

does not seem to fix the problem.

Let me know if I can provide any more info.

Jim



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030902120242.19519cf9.jfh>