lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lynx-dev lynx: generates too many processes?


From: Bela Lubkin
Subject: Re: lynx-dev lynx: generates too many processes?
Date: Fri, 2 Oct 1998 15:20:20 -0700

David Combs wrote:

>                          Lynx 2.8.1pre.5 (30 Sep 1998) ([1]development 
> version) - [2]compile time settings

> It got so I couldn't send mail, run man, or
> anything -- except ps (and logout!).
> 
> Here is a ps:
> 
> {netcom19:313} ^C
> {netcom19:313} ps
>   PID TT STAT  TIME COMMAND
> 11800 pf S     0:00 -csh (csh)
> 11839 pf TW    0:04 /u13/wcheung/bin/lynxtest -useragent=Mozilla/4.02 -vikeys 
> -cache=60 lynx_bookmarks.html
> 11901 pf Z     0:00 <defunct>
> 12007 pf Z     0:00 <defunct>

[16 defunct processes...]

> The ONLY program I had yet run is (a) lynx and 
> also vi and fmt and mail.  THAT'S IT!
> 
> ---
> 
> 
> Other problems, similar, recently:
>  
>   "Can't fork, blah blah..."
> 
> (sunos)
> 
> I learned quickly to quickly run trn, lynx,
> etc, and put them in background, because
> "fg" DID work ok.  Never knew whether it
> was new version of trn or lynx -- well, today
> I hadn't yet run trn.  Must be lynx.
> 
> Any comments, ideas, whatever?

Defunct processes are processes which have forked, subsequently exited,
but which were not waited for by the parent.  There are definite
opportunities for this to happen in the NSL_FORK code.

Two things you can do.  As a workaround, you can disable NSL_FORK by
using "configure ... --disable-nsl-fork" rather than "--enable-nsl-fork".
Of course, then you won't be able to interrupt host name lookups, and
this bug won't be fixed for other people.

Better, you should run:

  truss -o ~/lynx.truss lynx -trace http://somewhere

Visit a few web pages at different sites, until you get the "Can't fork"
message.  Then quit and send me copies of /~lynx.truss and ~/lynx.Trace.
They will probably be pretty big, so don't post them to the list...

`truss` is a program on some flavors of Unix (Solaris 2.x, for one)
which traces system call activity.  If you really meant "SunOS"
("Solaris 1.x"), you might need a different program.  Try `trace`,
`strace`, or `apropos trace` (or someone here can supply the name?)  The
"-o" (write the trace to the following filename) option might also be
different.  And if there's a flag that says "show what both parent and
child are doing", add that in as well.

This is probably a bug I introduced recently, so should be fixed before
2.8.1 final.

Please correspond directly with me.  I have some ideas to have you try,
but it'll involve a lot of silly back-and-forth mail with patches that
should not be applied to the final code.

>Bela<

reply via email to

[Prev in Thread] Current Thread [Next in Thread]