public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Jure Pecar <pegasus@telemach.net>
Cc: linux-kernel@vger.kernel.org, jef@acme.com
Subject: Re: linux 2.2.19pre and thttpd (VM-global problem?)
Date: Fri, 29 Dec 2000 16:36:45 +0100	[thread overview]
Message-ID: <20001229163645.B12791@athlon.random> (raw)
In-Reply-To: <3A4BE9B0.5C809AAC@telemach.net> <20001229032953.A9810@athlon.random> <3A4C4E16.52AAAFE1@telemach.net>
In-Reply-To: <3A4C4E16.52AAAFE1@telemach.net>; from pegasus@telemach.net on Fri, Dec 29, 2000 at 09:40:54AM +0100

On Fri, Dec 29, 2000 at 09:40:54AM +0100, Jure Pecar wrote:
> problem on a similary configured 2.2.17 with VM-global patch 3. gcc

Good. Can you try to reproduce with 2.2.19pre3? (if you absolutely need raid
0.90 you can try again with 2.2.19pre3aa3 after backing out 04_wake-one-3 that
introduces a deadlocks spotted by Chris and that I'm debugging right now)

> select(7, [5], [6], NULL, {98, 547000}) = 1 (in [5], left {98, 210000})

	num_ready = fdwatch( tmr_mstimeout( &tv ) );
	if ( num_ready < 0 )
	    {
	    if ( errno == EINTR )
		continue;       /* try again */
	    syslog( LOG_ERR, "fdwatch - %m" );
	    exit( 1 );
	    }

> gettimeofday({978078109, 324744}, NULL) = 0

	(void) gettimeofday( &tv, (struct timezone*) 0 );

> accept(5, {sin_family=AF_INET, sin_port=htons(3687),
> sin_addr=inet_addr("62.76.36.242")}, [16]) = 7

httpd_get_conn( httpd_server* hs, int listen_fd, httpd_conn* hc )
[..]
    hc->conn_fd = accept( listen_fd, &sa.sa, &sz );

> fcntl(7, F_SETFD, FD_CLOEXEC)           = 0

    (void) fcntl( hc->conn_fd, F_SETFD, 1 );

> fcntl(7, F_GETFL)                       = 0x2 (flags O_RDWR)

	flags = fcntl( c->hc->conn_fd, F_GETFL, 0 );

> fcntl(7, F_SETFL, O_RDWR|O_NONBLOCK)    = 0

	else if ( fcntl( c->hc->conn_fd, F_SETFL, flags | O_NDELAY ) < 0 )

> brk(0x8078000)                          = 0x8077000
> brk(0x8078000)                          = 0x8077000

for some unknown reason it doesn't notice it has to handle the new connection.

> time([978078109])                       = 978078109
> getpid()                                = 22061
> send(3, "<27>Dec 29 09:21:49 thttpd[22061"..., 69, 0) = 69

    shut_down();
    syslog( LOG_NOTICE, "exiting" );

> munmap(0x125000, 4096)                  = 0
> _exit(1)                                = ?

However according to the latest sources (2.20b) shut_down() should at least
call gettimeofday at once and that's not the case for you:

shut_down( void )
    {
    int cnum;
    struct timeval tv;

#ifdef STATS_TIME
    show_stats( JunkClientData, (struct timeval*) 0 );
#endif /* STATS_TIME */
    (void) gettimeofday( &tv, (struct timezone*) 0 );

So you aren't using thttpd version 2.20b (or it's not the vanilla source).

Well, this would look like an userspace bug, but I understand it's strange that
it works well for three days.... Can you try to upgrade thttpd to the latest
version compiled from vanilla sources?

But regardless of the userspace upgrade, I still recommend to upgrade to
2.2.19pre3 or 2.2.19pre3aa3 minus 04_wake-one-3 (once I'll fix wake-one-3 I'll
release -4 revision and pre3aa4).

Thanks,
Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

  parent reply	other threads:[~2000-12-29 16:07 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-12-29  1:32 linux 2.2.19pre and thttpd (VM-global problem?) Jure Pecar
2000-12-29  2:29 ` Andrea Arcangeli
2000-12-29  2:47   ` Andrea Arcangeli
2000-12-29  7:38     ` Petru Paler
2000-12-29 15:53       ` Andrea Arcangeli
2000-12-29 18:04         ` Petru Paler
2000-12-29 18:13           ` Jakob Østergaard
2000-12-29 18:21             ` Petru Paler
2000-12-29 18:56               ` Alan Cox
2000-12-29 19:11                 ` Andrea Arcangeli
2000-12-29 18:50         ` Alan Cox
2000-12-29 19:06           ` Andrea Arcangeli
2000-12-29 19:14             ` Andi Kleen
2000-12-29 22:40             ` Jakob Østergaard
2000-12-30  4:21             ` dean gaudet
2000-12-30 17:43               ` Andrea Arcangeli
2000-12-29  8:40   ` Jure Pecar
2000-12-29 11:37     ` Alan Cox
2000-12-29 15:36     ` Andrea Arcangeli [this message]
  -- strict thread matches above, loose matches on Subject: below --
2000-12-29 16:38 Daniel R. Kegel
2000-12-29 21:23 ` Aaron Sethman
2000-12-29 19:29 Matt Liotta
2000-12-29 19:43 ` Andrea Arcangeli
2001-01-01  1:04 Jure Pecar
2001-01-01 21:56 Jure Pecar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20001229163645.B12791@athlon.random \
    --to=andrea@suse.de \
    --cc=jef@acme.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pegasus@telemach.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox