You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by "Eric Balsa (JIRA)" <ji...@apache.org> on 2010/03/18 01:06:27 UTC

[jira] Created: (TS-252) seg fault using cache inspector

seg fault using cache inspector
-------------------------------

                 Key: TS-252
                 URL: https://issues.apache.org/jira/browse/TS-252
             Project: Traffic Server
          Issue Type: Bug
    Affects Versions: 2.0.1
         Environment: OSX
            Reporter: Eric Balsa


segfault using cache inspector in reverse proxy mode:

enable cache inspector: 
CONFIG proxy.config.http_ui_enabled INT 1

remap.config
map / http://{cache}

browse to http://localhost
observe segfault:

backtrace:
(gdb) bt
#0  0x00007fff88b4cfe6 in __kill ()
#1  0x00007fff88bede32 in abort ()
#2  0x00007fff88b05155 in free ()
#3  0x0000000100011ef6 in xfree [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/libinktomi++/ink_resource.h:89
#4  0x0000000100011ef6 in IOBufferData::dealloc () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:335
#5  0x0000000100011ef6 in IOBufferData::free (this=0x106d53570) at ink_resource.h:346
#6  0x0000000100011bac in IOBufferBlock::free (this=0x106d51b40) at Ptr.h:390
#7  0x0000000100011b52 in IOBufferBlock::clear () at P_IOBuffer.h:443
#8  0x0000000100011b52 in IOBufferBlock::dealloc () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:472
#9  0x0000000100011b52 in IOBufferBlock::free (this=0x106d51b80) at P_IOBuffer.h:478
#10 0x00000001000030d6 in Ptr<IOBufferBlock>::operator= (this=0x106d6e648, p=<value temporarily unavailable, due to optimizations>) at Ptr.h:390
#11 0x000000010011b3d9 in IOBufferReader::clear () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:690
#12 0x000000010011b3d9 in MIOBuffer::dealloc_reader () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:1127
#13 0x000000010011b3d9 in MIOBuffer::dealloc_all_readers () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:1147
#14 0x000000010011b3d9 in free_MIOBuffer [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:783
#15 0x000000010011b3d9 in HttpTunnel::deallocate_buffers (this=0x10821ef08) at P_IOBuffer.h:544
#16 0x00000001000db36a in HttpSM::kill_this (this=0x10821d570) at HttpSM.cc:6794
#17 0x00000001000dbb7b in HttpSM::main_handler (this=0x10821d570, event=2301, data=0x10821ef08) at HttpSM.cc:2698
#18 0x000000010011ce9f in Continuation::handleEvent () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/I_Continuation.h:1496
#19 0x000000010011ce9f in HttpTunnel::main_handler (this=0x10821ef08, event=<value temporarily unavailable, due to optimizations>, data=<value temporarily unavailable, due to optimizations>) at HttpTunnel.cc:1496
#20 0x000000010026d9f2 in write_signal_and_update [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/net/UnixNetVConnection.cc:159
#21 0x000000010026d9f2 in write_signal_done [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/net/UnixNetVConnection.cc:186
#22 0x000000010026d9f2 in write_to_net_io (nh=0x100e85098, vc=0x10201e9b0, thread=<value temporarily unavailable, due to optimizations>) at UnixNetVConnection.cc:501
#23 0x00000001002616ab in NetHandler::mainNetEvent (this=0x100e85098, event=<value temporarily unavailable, due to optimizations>, e=<value temporarily unavailable, due to optimizations>) at UnixNet.cc:482
#24 0x00000001002860a1 in MutexTryLock::release () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/I_Lock.h:132
#25 0x00000001002860a1 in EThread::process_event (this=0x100e84000, e=0x1011127c0, calling_code=5) at UnixEThread.cc:135
#26 0x00000001002868e9 in EThread::execute (this=0x100e84000) at UnixEThread.cc:254
#27 0x0000000100068f68 in main (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>) at Main.cc:2134


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


[jira] Commented: (TS-252) seg fault using cache inspector

Posted by "John Plevyak (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12847030#action_12847030 ] 

John Plevyak commented on TS-252:
---------------------------------

Someone took it upon themselves to "clean up" a memory leak by adding a destructor to
ShowCont in proxy/Show.h.  I know because I wrote that code and I never use destructors.

In this case the destructor is causing a double free because the buffer was handed off
to HttpSM:

Here is a minimal patch which leaves the bogus deconstructor and just clears the pointer
after the handoff:

+++ b/proxy/Show.h
@@ -79,6 +79,7 @@ struct ShowCont:Continuation
     if (!action.cancelled) {
       StatPageData data(start, buf - start);
       action.continuation->handleEvent(STAT_PAGE_SUCCESS, &data);
+      start = 0;
     } else {
       xfree(start);
       start = NULL;


> seg fault using cache inspector
> -------------------------------
>
>                 Key: TS-252
>                 URL: https://issues.apache.org/jira/browse/TS-252
>             Project: Traffic Server
>          Issue Type: Bug
>    Affects Versions: 2.1.0
>         Environment: OSX
>            Reporter: Eric Balsa
>
> segfault using cache inspector in reverse proxy mode:
> enable cache inspector: 
> CONFIG proxy.config.http_ui_enabled INT 1
> remap.config
> map / http://{cache}
> browse to http://localhost
> observe segfault:
> backtrace:
> (gdb) bt
> #0  0x00007fff88b4cfe6 in __kill ()
> #1  0x00007fff88bede32 in abort ()
> #2  0x00007fff88b05155 in free ()
> #3  0x0000000100011ef6 in xfree [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/libinktomi++/ink_resource.h:89
> #4  0x0000000100011ef6 in IOBufferData::dealloc () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:335
> #5  0x0000000100011ef6 in IOBufferData::free (this=0x106d53570) at ink_resource.h:346
> #6  0x0000000100011bac in IOBufferBlock::free (this=0x106d51b40) at Ptr.h:390
> #7  0x0000000100011b52 in IOBufferBlock::clear () at P_IOBuffer.h:443
> #8  0x0000000100011b52 in IOBufferBlock::dealloc () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:472
> #9  0x0000000100011b52 in IOBufferBlock::free (this=0x106d51b80) at P_IOBuffer.h:478
> #10 0x00000001000030d6 in Ptr<IOBufferBlock>::operator= (this=0x106d6e648, p=<value temporarily unavailable, due to optimizations>) at Ptr.h:390
> #11 0x000000010011b3d9 in IOBufferReader::clear () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:690
> #12 0x000000010011b3d9 in MIOBuffer::dealloc_reader () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:1127
> #13 0x000000010011b3d9 in MIOBuffer::dealloc_all_readers () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:1147
> #14 0x000000010011b3d9 in free_MIOBuffer [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:783
> #15 0x000000010011b3d9 in HttpTunnel::deallocate_buffers (this=0x10821ef08) at P_IOBuffer.h:544
> #16 0x00000001000db36a in HttpSM::kill_this (this=0x10821d570) at HttpSM.cc:6794
> #17 0x00000001000dbb7b in HttpSM::main_handler (this=0x10821d570, event=2301, data=0x10821ef08) at HttpSM.cc:2698
> #18 0x000000010011ce9f in Continuation::handleEvent () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/I_Continuation.h:1496
> #19 0x000000010011ce9f in HttpTunnel::main_handler (this=0x10821ef08, event=<value temporarily unavailable, due to optimizations>, data=<value temporarily unavailable, due to optimizations>) at HttpTunnel.cc:1496
> #20 0x000000010026d9f2 in write_signal_and_update [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/net/UnixNetVConnection.cc:159
> #21 0x000000010026d9f2 in write_signal_done [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/net/UnixNetVConnection.cc:186
> #22 0x000000010026d9f2 in write_to_net_io (nh=0x100e85098, vc=0x10201e9b0, thread=<value temporarily unavailable, due to optimizations>) at UnixNetVConnection.cc:501
> #23 0x00000001002616ab in NetHandler::mainNetEvent (this=0x100e85098, event=<value temporarily unavailable, due to optimizations>, e=<value temporarily unavailable, due to optimizations>) at UnixNet.cc:482
> #24 0x00000001002860a1 in MutexTryLock::release () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/I_Lock.h:132
> #25 0x00000001002860a1 in EThread::process_event (this=0x100e84000, e=0x1011127c0, calling_code=5) at UnixEThread.cc:135
> #26 0x00000001002868e9 in EThread::execute (this=0x100e84000) at UnixEThread.cc:254
> #27 0x0000000100068f68 in main (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>) at Main.cc:2134

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


[jira] Updated: (TS-252) seg fault using cache inspector

Posted by "Leif Hedstrom (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leif Hedstrom updated TS-252:
-----------------------------

    Fix Version/s: 2.1.0

> seg fault using cache inspector
> -------------------------------
>
>                 Key: TS-252
>                 URL: https://issues.apache.org/jira/browse/TS-252
>             Project: Traffic Server
>          Issue Type: Bug
>    Affects Versions: 2.1.0
>         Environment: OSX
>            Reporter: Eric Balsa
>             Fix For: 2.1.0
>
>
> segfault using cache inspector in reverse proxy mode:
> enable cache inspector: 
> CONFIG proxy.config.http_ui_enabled INT 1
> remap.config
> map / http://{cache}
> browse to http://localhost
> observe segfault:
> backtrace:
> (gdb) bt
> #0  0x00007fff88b4cfe6 in __kill ()
> #1  0x00007fff88bede32 in abort ()
> #2  0x00007fff88b05155 in free ()
> #3  0x0000000100011ef6 in xfree [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/libinktomi++/ink_resource.h:89
> #4  0x0000000100011ef6 in IOBufferData::dealloc () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:335
> #5  0x0000000100011ef6 in IOBufferData::free (this=0x106d53570) at ink_resource.h:346
> #6  0x0000000100011bac in IOBufferBlock::free (this=0x106d51b40) at Ptr.h:390
> #7  0x0000000100011b52 in IOBufferBlock::clear () at P_IOBuffer.h:443
> #8  0x0000000100011b52 in IOBufferBlock::dealloc () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:472
> #9  0x0000000100011b52 in IOBufferBlock::free (this=0x106d51b80) at P_IOBuffer.h:478
> #10 0x00000001000030d6 in Ptr<IOBufferBlock>::operator= (this=0x106d6e648, p=<value temporarily unavailable, due to optimizations>) at Ptr.h:390
> #11 0x000000010011b3d9 in IOBufferReader::clear () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:690
> #12 0x000000010011b3d9 in MIOBuffer::dealloc_reader () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:1127
> #13 0x000000010011b3d9 in MIOBuffer::dealloc_all_readers () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:1147
> #14 0x000000010011b3d9 in free_MIOBuffer [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:783
> #15 0x000000010011b3d9 in HttpTunnel::deallocate_buffers (this=0x10821ef08) at P_IOBuffer.h:544
> #16 0x00000001000db36a in HttpSM::kill_this (this=0x10821d570) at HttpSM.cc:6794
> #17 0x00000001000dbb7b in HttpSM::main_handler (this=0x10821d570, event=2301, data=0x10821ef08) at HttpSM.cc:2698
> #18 0x000000010011ce9f in Continuation::handleEvent () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/I_Continuation.h:1496
> #19 0x000000010011ce9f in HttpTunnel::main_handler (this=0x10821ef08, event=<value temporarily unavailable, due to optimizations>, data=<value temporarily unavailable, due to optimizations>) at HttpTunnel.cc:1496
> #20 0x000000010026d9f2 in write_signal_and_update [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/net/UnixNetVConnection.cc:159
> #21 0x000000010026d9f2 in write_signal_done [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/net/UnixNetVConnection.cc:186
> #22 0x000000010026d9f2 in write_to_net_io (nh=0x100e85098, vc=0x10201e9b0, thread=<value temporarily unavailable, due to optimizations>) at UnixNetVConnection.cc:501
> #23 0x00000001002616ab in NetHandler::mainNetEvent (this=0x100e85098, event=<value temporarily unavailable, due to optimizations>, e=<value temporarily unavailable, due to optimizations>) at UnixNet.cc:482
> #24 0x00000001002860a1 in MutexTryLock::release () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/I_Lock.h:132
> #25 0x00000001002860a1 in EThread::process_event (this=0x100e84000, e=0x1011127c0, calling_code=5) at UnixEThread.cc:135
> #26 0x00000001002868e9 in EThread::execute (this=0x100e84000) at UnixEThread.cc:254
> #27 0x0000000100068f68 in main (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>) at Main.cc:2134

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (TS-252) seg fault using cache inspector

Posted by "Eric Balsa (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Balsa updated TS-252:
--------------------------

    Affects Version/s:     (was: 2.0.1)
                       2.1.0

> seg fault using cache inspector
> -------------------------------
>
>                 Key: TS-252
>                 URL: https://issues.apache.org/jira/browse/TS-252
>             Project: Traffic Server
>          Issue Type: Bug
>    Affects Versions: 2.1.0
>         Environment: OSX
>            Reporter: Eric Balsa
>
> segfault using cache inspector in reverse proxy mode:
> enable cache inspector: 
> CONFIG proxy.config.http_ui_enabled INT 1
> remap.config
> map / http://{cache}
> browse to http://localhost
> observe segfault:
> backtrace:
> (gdb) bt
> #0  0x00007fff88b4cfe6 in __kill ()
> #1  0x00007fff88bede32 in abort ()
> #2  0x00007fff88b05155 in free ()
> #3  0x0000000100011ef6 in xfree [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/libinktomi++/ink_resource.h:89
> #4  0x0000000100011ef6 in IOBufferData::dealloc () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:335
> #5  0x0000000100011ef6 in IOBufferData::free (this=0x106d53570) at ink_resource.h:346
> #6  0x0000000100011bac in IOBufferBlock::free (this=0x106d51b40) at Ptr.h:390
> #7  0x0000000100011b52 in IOBufferBlock::clear () at P_IOBuffer.h:443
> #8  0x0000000100011b52 in IOBufferBlock::dealloc () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:472
> #9  0x0000000100011b52 in IOBufferBlock::free (this=0x106d51b80) at P_IOBuffer.h:478
> #10 0x00000001000030d6 in Ptr<IOBufferBlock>::operator= (this=0x106d6e648, p=<value temporarily unavailable, due to optimizations>) at Ptr.h:390
> #11 0x000000010011b3d9 in IOBufferReader::clear () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:690
> #12 0x000000010011b3d9 in MIOBuffer::dealloc_reader () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:1127
> #13 0x000000010011b3d9 in MIOBuffer::dealloc_all_readers () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:1147
> #14 0x000000010011b3d9 in free_MIOBuffer [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/P_IOBuffer.h:783
> #15 0x000000010011b3d9 in HttpTunnel::deallocate_buffers (this=0x10821ef08) at P_IOBuffer.h:544
> #16 0x00000001000db36a in HttpSM::kill_this (this=0x10821d570) at HttpSM.cc:6794
> #17 0x00000001000dbb7b in HttpSM::main_handler (this=0x10821d570, event=2301, data=0x10821ef08) at HttpSM.cc:2698
> #18 0x000000010011ce9f in Continuation::handleEvent () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/I_Continuation.h:1496
> #19 0x000000010011ce9f in HttpTunnel::main_handler (this=0x10821ef08, event=<value temporarily unavailable, due to optimizations>, data=<value temporarily unavailable, due to optimizations>) at HttpTunnel.cc:1496
> #20 0x000000010026d9f2 in write_signal_and_update [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/net/UnixNetVConnection.cc:159
> #21 0x000000010026d9f2 in write_signal_done [inlined] () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/net/UnixNetVConnection.cc:186
> #22 0x000000010026d9f2 in write_to_net_io (nh=0x100e85098, vc=0x10201e9b0, thread=<value temporarily unavailable, due to optimizations>) at UnixNetVConnection.cc:501
> #23 0x00000001002616ab in NetHandler::mainNetEvent (this=0x100e85098, event=<value temporarily unavailable, due to optimizations>, e=<value temporarily unavailable, due to optimizations>) at UnixNet.cc:482
> #24 0x00000001002860a1 in MutexTryLock::release () at /Users/ericb/Documents/trafficserver/traffic/trunk/iocore/eventsystem/I_Lock.h:132
> #25 0x00000001002860a1 in EThread::process_event (this=0x100e84000, e=0x1011127c0, calling_code=5) at UnixEThread.cc:135
> #26 0x00000001002868e9 in EThread::execute (this=0x100e84000) at UnixEThread.cc:254
> #27 0x0000000100068f68 in main (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>) at Main.cc:2134

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