Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 29450 - xinetd does not permit connections to single-threaded servers (wait=yes)
Summary: xinetd does not permit connections to single-threaded servers (wait=yes)
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: SpanKY
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-09-23 11:50 UTC by Ivan Raikov
Modified: 2004-10-09 22:46 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Raikov 2003-09-23 11:50:51 UTC
I have an application which I want to access via xinetd in single-threaded mode
(option wait=yes). However, any attempt to connect to the port where xinetd is
listening fails, and the xinetd log shows message 
"Deactivating service foo due to excessive incoming connections." If I change
the option "wait" to "no", for multi-threaded mode, everything works.

Reproducible: Always
Steps to Reproduce:
1. Create a single threaded xinetd service, e.g. the following. I have used
aspell as an example, but any application that reads stdin and writes to stdout
will do.

service ispell
{
    disable             = no    
    flags               = NORETRY NOLIBWRAP
    protocol            = tcp
    socket_type         = stream
    wait                = yes
    user                = root
    instances           = 1
    server              = /usr/bin/aspell 
    server_args         = -a
    bind                = localhost
    log_on_success      += HOST
    log_type            = SYSLOG daemon debug
    
}

2. Add an entry in /etc/services for the service you just created, e.g.:
ispell          8091/tcp

3. Restart xinetd and try to telnet to that port:
telnet localhost ispell




Actual Results:  
telnet localhost ispell
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

Here's the relevant contents of /var/log/syslog:

Sep 23 14:43:43 pequod xinetd[6171]: xinetd Version 2.3.12 started with libwrap
loadavg options compiled in.
Sep 23 14:43:43 pequod xinetd[6171]: Started working: 2 available services
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6178 from=<no address>
Sep 23 14:43:48 pequod xinetd[6178]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6179 from=<no address>
Sep 23 14:43:48 pequod xinetd[6179]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6180 from=<no address>
Sep 23 14:43:48 pequod xinetd[6180]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6181 from=<no address>
Sep 23 14:43:48 pequod xinetd[6181]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6182 from=<no address>
Sep 23 14:43:48 pequod xinetd[6182]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6183 from=<no address>
Sep 23 14:43:48 pequod xinetd[6183]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6184 from=<no address>
Sep 23 14:43:48 pequod xinetd[6184]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6185 from=<no address>
Sep 23 14:43:48 pequod xinetd[6185]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6186 from=<no address>
Sep 23 14:43:48 pequod xinetd[6186]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6187 from=<no address>
Sep 23 14:43:48 pequod xinetd[6187]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6188 from=<no address>
Sep 23 14:43:48 pequod xinetd[6188]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6189 from=<no address>
Sep 23 14:43:48 pequod xinetd[6189]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6190 from=<no address>
Sep 23 14:43:48 pequod xinetd[6189]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6190 from=<no address>
Sep 23 14:43:48 pequod xinetd[6190]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6191 from=<no address>
Sep 23 14:43:48 pequod xinetd[6191]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6192 from=<no address>
Sep 23 14:43:48 pequod xinetd[6192]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6193 from=<no address>
Sep 23 14:43:48 pequod xinetd[6193]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6194 from=<no address>
Sep 23 14:43:48 pequod xinetd[6194]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6195 from=<no address>
Sep 23 14:43:48 pequod xinetd[6195]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6196 from=<no address>
Sep 23 14:43:48 pequod xinetd[6196]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6197 from=<no address>
Sep 23 14:43:48 pequod xinetd[6197]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6198 from=<no address>
Sep 23 14:43:48 pequod xinetd[6198]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6199 from=<no address>
Sep 23 14:43:48 pequod xinetd[6199]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6200 from=<no address>
Sep 23 14:43:48 pequod xinetd[6200]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6201 from=<no address>
Sep 23 14:43:48 pequod xinetd[6201]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: START: ispell pid=6202 from=<no address>
Sep 23 14:43:48 pequod xinetd[6202]: FAIL: ispell address from=<no address>
Sep 23 14:43:48 pequod xinetd[6171]: Deactivating service ispell due to
excessive incoming connections.  Restarting in 30 seconds.
Sep 23 14:43:48 pequod xinetd[6171]: FAIL: ispell connections per second
from=<no address>



Expected Results:  
xinetd should have permitted connection to the service, as it does in
multi-threaded mode.

emerge info
Portage 2.0.49-r3 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1, 2.4.22-rthal5)
=================================================================
System uname: 2.4.22-rthal5 i686 Intel(R) Xeon(TM) CPU 1.70GHz
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium3 -funroll-loops -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config
/usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O3 -march=pentium3 -funroll-loops -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="sandbox ccache autoaddcvs"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 oss apm arts foomaticdb java jpeg gnome libg++ mad spell truetype xml2
alsa svga esd xv slang readline gpm berkdb mmx sse gdbm tcpd pam libwww ssl nls
perl python imlib sdl oggvorbis gtk X qt kde motif opengl avi png tiff gif cdr
crypt cups dga doc emacs encode leim maildir mikmod mozilla mpeg ncurses pdflib
plotutils quicktime sasl tcltk tetex usb Xaw3d xmms zlib"
Comment 1 Martin Holzer (RETIRED) gentoo-dev 2004-04-13 10:49:10 UTC
how about 2.3.13 ?
Comment 2 SpanKY gentoo-dev 2004-05-23 16:01:49 UTC
any luck with 2.3.13 ?
Comment 3 bpawletz 2004-09-20 13:50:23 UTC
Reproduced issue on sparc 2.3.13
Comment 4 SpanKY gentoo-dev 2004-10-09 22:46:20 UTC
ok ...
Comment 5 SpanKY gentoo-dev 2004-10-09 22:46:51 UTC
i tried talking to upstream but got no response ... best to try contacting them since you guys have the systems with which to reproduce :/