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