Leif Hedstrom created TS-1377:
---------------------------------

             Summary: Range: requests will segfault
                 Key: TS-1377
                 URL: https://issues.apache.org/jira/browse/TS-1377
             Project: Traffic Server
          Issue Type: Bug
          Components: Cache
            Reporter: Leif Hedstrom
             Fix For: 3.3.0


It seems Range: requests will now always segfault. I haven't examined it 
thoroughly, but "od" is always NULL when we try to use it in the new code.
E.g.

{code}
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff624c700 (LWP 829)]
CacheVC::is_pread_capable (this=0x4f654f0) at 
../../../../iocore/cache/P_CacheInternal.h:762
762       return od->vector.count() <= 1;
Missing separate debuginfos, use: debuginfo-install 
gperftools-libs-2.0-5.fc17.x86_64
(gdb) bt
#0  CacheVC::is_pread_capable (this=0x4f654f0) at 
../../../../iocore/cache/P_CacheInternal.h:762
#1  0x0000000000519308 in HttpSM::do_range_setup_if_necessary (this=0x4ef62f0) 
at ../../../../proxy/http/HttpSM.cc:4089
#2  0x000000000055170a in HttpTransact::build_response_from_cache (s=0x4ef6358, 
warning_code=HTTP_WARNING_CODE_NONE) at 
../../../../proxy/http/HttpTransact.cc:2725
#3  0x0000000000551f77 in HttpTransact::HandleCacheOpenReadHit (s=0x4ef6358) at 
../../../../proxy/http/HttpTransact.cc:2636
#4  0x000000000051e642 in HttpSM::call_transact_and_set_next_state 
(this=0x4ef62f0, f=<optimized out>) at ../../../../proxy/http/HttpSM.cc:6601
#5  0x000000000052933c in HttpSM::set_next_state (this=0x4ef62f0) at 
../../../../proxy/http/HttpSM.cc:6808
#6  0x000000000052933c in HttpSM::set_next_state (this=0x4ef62f0) at 
../../../../proxy/http/HttpSM.cc:6808
#7  0x0000000000526e96 in HttpSM::state_cache_open_read (this=0x4ef62f0, 
event=1102, data=0x4f654f0) at ../../../../proxy/http/HttpSM.cc:2388
#8  0x0000000000526c5d in HttpSM::main_handler (this=0x4ef62f0, event=1102, 
data=0x4f654f0) at ../../../../proxy/http/HttpSM.cc:2447
#9  0x0000000000504caa in handleEvent (data=0x4f654f0, event=1102, 
this=<optimized out>) at ../../../../iocore/eventsystem/I_Continuation.h:146
#10 HttpCacheSM::state_cache_open_read (this=0x4ef83e0, event=<optimized out>, 
data=0x4f654f0) at ../../../../proxy/http/HttpCacheSM.cc:118
#11 0x0000000000640e3f in handleEvent (data=0x4f654f0, event=<optimized out>, 
this=<optimized out>) at ../../../../iocore/eventsystem/I_Continuation.h:146
#12 CacheVC::callcont (this=0x4f654f0, event=<optimized out>) at 
../../../../iocore/cache/P_CacheInternal.h:637
#13 0x000000000063e690 in CacheVC::openReadStartHead (this=0x4f654f0, 
event=3900, e=0x0) at ../../../../iocore/cache/CacheRead.cc:1161
#14 0x000000000063bfbb in handleEvent (data=0x0, event=3900, this=0x4f654f0) at 
../../../../iocore/eventsystem/I_Continuation.h:146
#15 Cache::open_read (this=<optimized out>, cont=0x4ef83e0, key=<optimized 
out>, request=0x4ef69e8, params=0x4ef63e0, type=<optimized out>, 
hostname=0x48ed831 "l.yimg.coma/lib/ycs/bench/100.bmpl.yimg.com", host_len=10) 
at ../../../../iocore/cache/CacheRead.cc:153
#16 0x000000000061a0bf in Cache::open_read (this=0x114f320, cont=0x4ef83e0, 
url=0x4ef6a00, request=0x4ef69e8, params=<optimized out>, type=<optimized out>) 
at ../../../../iocore/cache/P_CacheInternal.h:1040
#17 0x0000000000504ee4 in do_cache_open_read (this=0x4ef83e0) at 
../../../../proxy/http/HttpCacheSM.cc:216
#18 HttpCacheSM::open_read (this=0x4ef83e0, url=<optimized out>, hdr=<optimized 
out>, params=<optimized out>, pin_in_cache=<optimized out>) at 
../../../../proxy/http/HttpCacheSM.cc:248
#19 0x0000000000519518 in HttpSM::do_cache_lookup_and_read 
(this=this@entry=0x4ef62f0) at ../../../../proxy/http/HttpSM.cc:4150
#20 0x0000000000529a99 in HttpSM::set_next_state (this=0x4ef62f0) at 
../../../../proxy/http/HttpSM.cc:6738
#21 0x000000000052933c in HttpSM::set_next_state (this=0x4ef62f0) at 
../../../../proxy/http/HttpSM.cc:6808
#22 0x0000000000529992 in HttpSM::set_next_state (this=0x4ef62f0) at 
../../../../proxy/http/HttpSM.cc:6659
#23 0x000000000052933c in HttpSM::set_next_state (this=0x4ef62f0) at 
../../../../proxy/http/HttpSM.cc:6808
#24 0x000000000052933c in HttpSM::set_next_state (this=0x4ef62f0) at 
../../../../proxy/http/HttpSM.cc:6808
#25 0x00000000005215df in HttpSM::state_read_client_request_header 
(this=0x4ef62f0, event=<optimized out>, data=<optimized out>) at 
../../../../proxy/http/HttpSM.cc:783
#26 0x0000000000526c5d in HttpSM::main_handler (this=0x4ef62f0, event=100, 
data=0x4ba4688) at ../../../../proxy/http/HttpSM.cc:2447
#27 0x000000000066dbb3 in handleEvent (data=0x4ba4688, event=100, 
this=<optimized out>) at ../../../../iocore/eventsystem/I_Continuation.h:146
#28 read_signal_and_update (vc=0x4ba4580, event=100) at 
../../../../iocore/net/UnixNetVConnection.cc:138
#29 read_from_net (nh=0x15bb1d8, vc=0x4ba4580, thread=<optimized out>) at 
../../../../iocore/net/UnixNetVConnection.cc:320
#30 0x0000000000667514 in NetHandler::mainNetEvent (this=0x15bb1d8, 
event=<optimized out>, e=<optimized out>) at 
../../../../iocore/net/UnixNet.cc:372
#31 0x0000000000693a65 in handleEvent (data=0x1b0dca0, event=5, this=<optimized 
out>) at ../../../../iocore/eventsystem/I_Continuation.h:146
#32 process_event (e=0x1b0dca0, this=0x15b8000, calling_code=<optimized out>) 
at ../../../../iocore/eventsystem/UnixEThread.cc:142
#33 EThread::execute (this=0x15b8000) at 
../../../../iocore/eventsystem/UnixEThread.cc:264
#34 0x0000000000691a82 in spawn_thread_internal (a=0x114d910) at 
../../../../iocore/eventsystem/Thread.cc:88
#35 0x00000037a1807d14 in start_thread (arg=0x7ffff624c700) at 
pthread_create.c:309
#36 0x00000037a0cf199d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:115
{code}


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

        

Reply via email to