Accept Failure / Crash on OS X
------------------------------

                 Key: TS-396
                 URL: https://issues.apache.org/jira/browse/TS-396
             Project: Traffic Server
          Issue Type: Bug
    Affects Versions: 2.1.2
            Reporter: Paul Querna


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.

Reply via email to