You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Leif Hedstrom (JIRA)" <ji...@apache.org> on 2011/04/18 20:00:07 UTC

[jira] [Assigned] (TS-741) `traffic_manager' handles sockets incorrectly: loops error 88: Socket operation on non-socket

     [ https://issues.apache.org/jira/browse/TS-741?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leif Hedstrom reassigned TS-741:
--------------------------------

    Assignee: Leif Hedstrom

> `traffic_manager' handles sockets incorrectly: loops error 88: Socket operation on non-socket
> ---------------------------------------------------------------------------------------------
>
>                 Key: TS-741
>                 URL: https://issues.apache.org/jira/browse/TS-741
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Management
>    Affects Versions: 2.1.8, 2.1.7
>         Environment: ATS 2.1.7/trunk as of today: Debian AMD64, gcc 4.5.2; FreeBSD 8.2, gcc 4.2.1
>            Reporter: Arno Toell
>            Assignee: Leif Hedstrom
>         Attachments: strace.out
>
>
> traffic_manager fails to read from its sockets. This is the logging output from the first start of traffic_manager:
> {code}
> root@build:/home/arno/build-area# traffic_manager 
> [E. Mgmt] log ==> [TrafficManager] using root directory '/usr'
> [Apr 15 21:13:25.167] {140016265324320} STATUS: opened /var/log/trafficserver/manager.log
> [Apr 15 21:13:25.167] {140016265324320} NOTE: updated diags config
> [Apr 15 21:13:25.220] Manager {140016265324320} NOTE: [ClusterCom::ClusterCom] Node running on OS: 'Linux' Release: '2.6.32-5-amd64'
> [Apr 15 21:13:25.228] Manager {140016265324320} NOTE: [LocalManager::listenForProxy] Listening on port: 8080
> [Apr 15 21:13:25.228] Manager {140016265324320} NOTE: [TrafficManager] Setup complete
> [Apr 15 21:13:26.292] Manager {140016265324320} NOTE: [LocalManager::startProxy] Launching ts process
> [TrafficServer] using root directory '/usr'
> [Apr 15 21:13:26.402] Manager {140016265324320} NOTE: [LocalManager::pollMgmtProcessServer] New process connecting fd '11'
> [Apr 15 21:13:26.402] Manager {140016265324320} NOTE: [Alarms::signalAlarm] Server Process born
> [Apr 15 21:13:27.497] {47891714364896} STATUS: opened /var/log/trafficserver/diags.log
> [Apr 15 21:13:27.501] {47891714364896} NOTE: updated diags config
> [Apr 15 21:13:27.528] Server {47891714364896} NOTE: cache clustering disabled
> [Apr 15 21:13:27.528] Server {47891714364896} NOTE: clearing statistics
> [Apr 15 21:13:27.729] Server {47891714364896} NOTE: file '/var/run/trafficserver/host.db' size changed from 0.00MB to 30.91MB
> [Apr 15 21:13:27.866] Server {47891714364896} WARNING: header missing/corrupt: [hostdb.config] : reinitializing database
> [Apr 15 21:13:27.866] Server {47891714364896} NOTE: reconfiguring host database
> [Apr 15 21:13:28.110] Server {47891714364896} NOTE: cache clustering disabled
> [Apr 15 21:13:28.113] Server {47891714364896} WARNING: cache unable to open '/var/cache/trafficserver/cache.db': Permission denied
> [Apr 15 21:13:28.113] Server {47891714364896} WARNING: unable to open cache disk(s): Cache Disabled
> [Apr 15 21:13:28.495] Server {47891714364896} NOTE: logging initialized[7], logging_mode = 3
> [Apr 15 21:13:28.572] Server {47891714364896} NOTE: traffic server running
> [Apr 15 21:13:30.074] Manager {140016199149312} ERROR: [drainIncomingChannel] error accepting reliable connection
> [Apr 15 21:13:30.074] Manager {140016199149312} ERROR:  (last system error 88: Socket operation on non-socket)
> [Apr 15 21:13:30.074] Manager {140016199149312} ERROR: [drainIncomingChannel] error accepting reliable connection
> [Apr 15 21:13:30.074] Manager {140016199149312} ERROR:  (last system error 88: Socket operation on non-socket)
> [Apr 15 21:13:30.074] Manager {140016199149312} ERROR: [drainIncomingChannel] error accepting reliable connection
> ... loops until stopped
> {code}
> Nothing more happens beyond this point but to loop socket error 88 each time the process polls the file descriptor. I attached a strace of the traffic_manager binary. This looks all a bit odd, the select() does nothing but fail apparently. I have no clue where the gettimeofday() spam comes from. 
> {code}
> gettimeofday({1302902814, 227582}, NULL) = 0
> gettimeofday({1302902814, 228426}, NULL) = 0
> write(11, "\27'\0\0\2\0\0\0000\0", 10)  = 10
> write(11, "\31'\0\0`o\2\0\3\0\0\0\30\0\0\0`o\2\0`o\2\0\304\2\0\0\0\0\0\0"..., 159592) = 159592
> munmap(0x7f08d9ee4000, 159744)          = 0
> write(11, "\31'\0\0`o\2\0\5\0\0\0\30\0\0\0`o\2\0`o\2\0\304\2\0\0\0\0\0\0"..., 159592) = 159592
> madvise(0x7f08d009d000, 28672, MADV_DONTNEED) = 0
> select(1024, [5 11], NULL, NULL, {1, 0}) = 0 (Timeout)
> gettimeofday({1302902815, 321699}, NULL) = 0
> {code}
> FreeBSD is the same (but the errno):
> {code}
> [Apr 15 23:21:11.811] Manager {34391239808} ERROR: [drainIncomingChannel] error accepting reliable connection
> [Apr 15 23:21:11.813] Manager {34391239808} ERROR:  (last system error 38: Socket operation on non-socket)
> {code}
> ./configure was (yes, redundancy with {{--enable-layout}} is intentional):
> {code}
> ./configure --prefix=/usr --sysconfdir=/etc/trafficserver \
>     --localstatedir=/var/run --includedir=/usr/include \
>     --libdir=/usr/lib --datadir=/var/cache/trafficserver \
>     --enable-layout=Debian --with-user=root \
>     --with-group=root
> {code}
> I previously tested ATS 2.1.5 which isn't affected by this problem. 
> Debian versions of packages trafficserver is linked against:
> {code}
> ii  libc6                   2.11.2-13        Embedded GNU C Library: Shared lib
> ii  libexpat1               2.0.1-7          XML parsing C library - runtime li
> ii  libgcc1                 1:4.6.0-2        GCC support library
> ii  libpcre3                8.12-3           Perl 5 Compatible Regular Expressi
> ii  libssl1.0.0             1.0.0d-2         SSL shared libraries
> ii  libstdc++6              4.6.0-2          The GNU Standard C++ Library v3
> ii  tcl8.4                  8.4.19-4         Tcl (the Tool Command Language) v8
> ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime
> {code}
> Tell me if can further help you

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira