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 2010/09/10 19:20:34 UTC

[jira] Updated: (TS-396) Accept Failure / Crash on OS X

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

Leif Hedstrom updated TS-396:
-----------------------------

    Fix Version/s: 2.3.0
                       (was: 2.1.3)

Moving this out to v2.3.0, unless someone else picks this up and fixes the code to be cross platform. The other option is to take the patch, and make it compile time optional only for Linux (where it does seem to work).

If someone else wants to work on this, please assign the bug accordingly.

This bug also depends on TS-18, and it's basically an issue where TS-18 causes the network stack to fail on platforms other than Linux.

> Accept Failure / Crash on OS X
> ------------------------------
>
>                 Key: TS-396
>                 URL: https://issues.apache.org/jira/browse/TS-396
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Network
>    Affects Versions: 2.1.2
>            Reporter: Paul Querna
>            Assignee: Andrew Hsu
>            Priority: Blocker
>             Fix For: 2.3.0
>
>
> Trunk crashes, but pre-r953510 (the IPV6 patch), it works.
> $ sudo gdb ./traffic_server 
> GNU gdb 6.3.50-20050815 (Apple version gdb-1461.2) (Fri Mar  5 04:43:10 UTC 2010)
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "x86_64-apple-darwin"...Reading symbols for shared libraries ............. done
> (gdb) run
> Starting program: /opt/ats/bin/traffic_server 
> Reading symbols for shared libraries .++++++++++++ done
> [TrafficServer] using root directory '/opt/ats'
> [Jun 26 09:41:42.541] {140735072865248} STATUS: opened /opt/ats/var/log/trafficserver/diags.log
> [Jun 26 09:41:42.798] Server {4412067840} FATAL: <HttpAccept.cc:98 (mainEvent)> HTTP accept received fatal error: errno = 9
> Program received signal EXC_BAD_ACCESS, Could not access memory.
> Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000070
> [Switching to process 9710]
> UDPReadContinuation::~UDPReadContinuation (this=0x100486670) at UnixUDPNet.cc:295
> 295       completionUtil::destroy(event);
> (gdb) where
> #0  UDPReadContinuation::~UDPReadContinuation (this=0x100486670) at UnixUDPNet.cc:295
> #1  0x00007fff803e4c58 in __cxa_finalize ()
> #2  0x00007fff803e4b70 in exit ()
> #3  0x00000001000224d0 in MachineFatalClass::raise (this=<value temporarily unavailable, due to optimizations>, ap=<value temporarily unavailable, due to optimizations>, prefix=<value temporarily unavailable, due to optimizations>) at Error.cc:112
> #4  0x0000000100022469 in ErrorClass::operator() (this=0x1018551f0, aformat_string=<value temporarily unavailable, due to optimizations>) at Error.cc:50
> #5  0x00000001000b1b4b in HttpAccept::mainEvent (this=0x100cc84b0, event=3, data=0xfffffffffffffff7) at HttpAccept.cc:98
> #6  0x0000000100263743 in Ptr<NetAcceptAction>::operator-> () at /Users/chip/work/asf/traffic/libinktomi++/Ptr.h:147
> #7  0x0000000100263743 in NetAccept::do_blocking_accept (this=0x100cc84f0, master_na=0x100cc84f0, t=0x106dab000) at UnixNetAccept.cc:295
> #8  0x000000010026412e in net_accept_main_blocking [inlined] () at /Users/chip/work/asf/traffic/iocore/net/UnixNetAccept.cc:156
> #9  0x000000010026412e in NetAccept::acceptLoopEvent (this=0x100cc84f0, event=<value temporarily unavailable, due to optimizations>, e=<value temporarily unavailable, due to optimizations>) at UnixNetAccept.cc:295
> #10 0x000000010028a187 in EThread::execute (this=0x106dab000) at UnixEThread.cc:288
> #11 0x0000000100288e4a in spawn_thread_internal (a=0x100cc8680) at Thread.cc:85
> #12 0x00007fff8040b8b6 in _pthread_start ()
> #13 0x00007fff8040b769 in thread_start ()
> (gdb)
> The cause seems to be a BADFD is being passed to accept, and with all the IPv6 patch, I'm betting something about binding to the socket is busted on Darwin.
> Reportedly, Solaris has a similar regression.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.