Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Oct 2009 00:21:04 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Dylan Cochran <heliocentric@gmail.com>
Cc:        "freebsd-stable@freebsd.org" <freebsd-stable@freebsd.org>
Subject:   Re: Possible scheduler (SCHED_ULE) bug?
Message-ID:  <20091023212104.GH2160@deviant.kiev.zoral.com.ua>
In-Reply-To: <bdf82f800910231328tfa4decfncd70ae0daad2bef6@mail.gmail.com>
References:  <CF092998EA82AE4D83AF9C9ECA9A8BDE02EB411A85@ATLAS.msg.local> <bdf82f800910231328tfa4decfncd70ae0daad2bef6@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--c5s4KQzYKKhDo6IA
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Oct 23, 2009 at 04:28:59PM -0400, Dylan Cochran wrote:
> On 10/23/09, Jaime Bozza <jbozza@mindsites.com> wrote:
> > I believe I found a problem with the ULE scheduler - At least the fact =
that
> > there is a problem, but I'm not sure where to go from here.   The system
> > locks all processes, but doesn't panic, so I have no output to give.
> >
> > I was able to duplicate this on three different machines and solved it =
by
> > switching to the scheduler to 4BSD.
> >
> > Here's the environment:
> >
> > FreeBSD 7.2 i386, installed from bootonly ISO, Custom install, minimal,=
 no
> > other changes other than setting timezone, changing root password, and
> > turning on sshd (allowing root and password connection).
> >
> > Running portsnap (fetch, then extract) to get latest ports tree.
> >
> > >From ports, make installs of lang/php5 and www/lighttpd, using default=
s for
> > all ports installed.
> >
> > Modified lighttpd.conf for PHP (attached diff), created a short script
> > called uploadfile.php (attached).  File was installed at
> > /usr/local/www/data/uploadfile.php
> >
> > Start lighttpd (lighttpd_enable=3D"YES" in rc.conf,
> > /usr/local/etc/rc.d/lighttpd start), connect and run script.
> >
> > As long as I upload a file less than 64K, everything works fine.  If I =
try
> > to upload something larger than 64K, system no longer responds.   Conso=
le
> > prompt at login will allow me to enter username/password, but nothing
> > happens after that.  Console prompt logged in will allow me to type a s=
ingle
> > line, but if I press enter, nothing after that.
> >
> > No errors get written anywhere - console, logs, etc.
> >
> > I'm at a loss of what to do next.  Can anyone give me ideas of what els=
e I
> > can do?
>=20
> Superficially, this seams identical to a deadlock I reported for
> 7.1-RC1. Would you mind compiling a kernel with these options:
>=20
> options DDB
> options KDB
> options SW_WATCHDOG
> options DEBUG_VFS_LOCKS
>=20
>=20
> then add the following to /etc/rc.conf:
>=20
> watchdogd_enable=3D"YES"
> watchdogd_flags=3D"-e 'ls -al /etc'"
>=20
> This should force a panic when the lockup happens again, which will
> drop to a debugger.
>=20
> Please check the backtrace, and tell me if the call stack is the same
> as this one (between the --- interrupt, and --- syscall sections):
>=20
> KDB: stack backtrace:
> db_trace_self_wrapper(c0b55b52,e66e0ae0,c07615e9,c0b50617,8ca93,...)
> at db_trace_self_wrapper+0x26
> kdb_backtrace(c0b50617,8ca93,0,c41a7690,2,...) at kdb_backtrace+0x29
> hardclock(0,c07ff29d,0,0,4,...) at hardclock+0x1f9
> lapic_handle_timer(e66e0b08) at lapic_handle_timer+0x9c
> Xtimerint() at Xtimerint+0x1f
> --- interrupt, eip =3D 0xc07ff29d, esp =3D 0xe66e0b48, ebp =3D 0xe66e0c34=
 ---
> kern_sendfile(c41a7690,e66e0cfc,0,0,0,...) at kern_sendfile+0x90d
> do_sendfile(e66e0d2c,c0aba265,c41a7690,e66e0cfc,20,...) at do_sendfile+0x=
b1
> sendfile(c41a7690,e66e0cfc,20,16,e66e0d2c,...) at sendfile+0x13
> syscall(e66e0d38) at syscall+0x335
> Xint0x80_syscall() at Xint0x80_syscall+0x20
> --- syscall (393, FreeBSD ELF32, sendfile), eip =3D 0x282cb0cb, esp =3D
> 0xbfbfc7cc, ebp =3D 0xbfbfe848 ---
> KDB: enter: watchdog timeout

Can you look up the source line for kern_sendfile+0x90d in your
kernel ? Do kgdb kernel.debug, then execute "list *(kern_sendfile+0x90d)".

--c5s4KQzYKKhDo6IA
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEARECAAYFAkriHkAACgkQC3+MBN1Mb4i1YwCg4Mjn8r+5R1w+yPhgb7BTmAKb
hy0AnAwMCgcB+au+TeqM3I1JQGjcxCkL
=5VbK
-----END PGP SIGNATURE-----

--c5s4KQzYKKhDo6IA--



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