[squid-users] [ext] Re: ftp related crash in squid-6.0.0-20220905-r9358e99f9
Ralf Hildebrandt
Ralf.Hildebrandt at charite.de
Mon Jun 19 20:44:08 UTC 2023
I hope I got it all cut&pasted
> frame 3
#3 0x000055555570e9c2 in FwdState::completed (this=this at entry=0x55556c0a4748) at FwdState.cc:299
299 assert(!storedWholeReply_);
> print this
$1 = (FwdState * const) 0x55556c0a4748
$2 = {
<Lock> = {
_vptr.Lock = 0x555555b6c3b8 <vtable for FwdState+88>,
count_ = 2
},
<PeerSelectionInitiator> = {
<CbdataParent> = {
_vptr.CbdataParent = 0x555555b6c378 <vtable for FwdState+24>
},
members of PeerSelectionInitiator:
subscribed = false
},
members of FwdState:
entry = 0x55555e31aaf0,
request = 0x55562827ab90,
al = {
p_ = 0x5555b6ecaec0
},
self = {
p_ = 0x55556c0a4748
},
err = 0x0,
clientConn = {
p_ = 0x5555dafd6ea0
},
start_t = 1687188676,
n_tries = 1,
flags = {
connected_okay = true,
dont_retry = false,
forward_completed = true,
destinationsFound = true
},
transportWait = {
<JobWaitBase> = {
job_ = {
cbc = 0x0,
lock = 0x0
},
callback_ = {
p_ = 0x0
}
},
members of JobWait<HappyConnOpener>:
typedJob_ = {
cbc = 0x55566ccd1888,
lock = 0x55566ccd1888
}
},
encryptionWait = {
<JobWaitBase> = {
job_ = {
cbc = 0x0,
lock = 0x0
},
callback_ = {
p_ = 0x0
}
},
members of JobWait<Security::PeerConnector>:
typedJob_ = {
cbc = 0x0,
lock = 0x0
}
},
peerWait = {
<JobWaitBase> = {
job_ = {
cbc = 0x0,
lock = 0x0
},
callback_ = {
p_ = 0x0
}
},
members of JobWait<Http::Tunneler>:
typedJob_ = {
cbc = 0x0,
lock = 0x0
}
},
waitingForDispatched = false,
destinations = {
p_ = 0x555654304b50
},
serverConn = {
p_ = 0x0
},
destinationReceipt = {
connection_ = {
p_ = 0x0
},
position_ = 18446744073709551615
},
closeHandler = {
p_ = 0x0
},
pconnRace = FwdState::raceImpossible,
storedWholeReply_ = 0x555555a94350 "ftpReadTransferDone code 226 or 250"
}
> print *entry
$3 = {
<hash_link> = {
key = 0x55556bfa3d50,
next = 0x5555b6b68468
},
<Packable> = {
_vptr.Packable = 0x555555b6ec50 <vtable for StoreEntry+16>
},
members of StoreEntry:
mem_obj = 0x55559cd62ca0,
repl = {
data = 0x0
},
timestamp = -1,
lastref = 1687188676,
expires = -1,
lastModified_ = -1,
swap_file_sz = 0,
refcount = 1,
flags = 1216,
swap_filen = -1,
swap_dirn = -1,
mem_status = NOT_IN_MEMORY,
ping_status = PING_DONE,
store_status = STORE_PENDING,
swap_status = SWAPOUT_NONE,
cachedESITree = {
p_ = 0x0
},
lock_count = 3,
shareableWhenPrivate = false,
deferredProducer = {
p_ = 0x0
}
}
> print *entry->mem_obj
$4 = {
appliedUpdates = false,
method = {
theMethod = Http::METHOD_GET,
theImage = {
id = {
value = 99694914
},
store_ = {
p_ = 0x555555cb57d0
},
off_ = 0,
len_ = 0
}
},
data_hdr = {
inmem_hi = 0,
nodes = {
head = 0x0,
elements = 0
}
},
inmem_lo = 0,
clients = {
head = 0x55555acdbe30,
tail = 0x55555acdbe30
},
nclients = 1,
swapout = {
queue_offset = 0,
sio = {
p_ = 0x0
},
decision = MemObject::SwapOut::swNeedsCheck
},
xitTable = {
index = -1,
io = Store::ioUndecided
},
memCache = {
index = -1,
offset = 0,
io = Store::ioUndecided
},
request = {
p_ = 0x55562827ab90
},
start_ping = {
tv_sec = 0,
tv_usec = 0
},
ping_reply_callback = 0x0,
ircb_data = 0x0,
abortCallback = {
p_ = 0x5556543f35b0
},
repl = {
data = 0x0
},
id = 105121620,
object_sz = -1,
swap_hdr_sz = 0,
vary_headers = {
id = {
value = 99694915
},
store_ = {
p_ = 0x555555cb57d0
},
off_ = 0,
len_ = 0
},
reply_ = {
p_ = 0x55563217e040
},
updatedReply_ = {
p_ = 0x0
},
storeId_ = {
size_ = 40,
len_ = 35,
buf_ = 0x5555df5d7a50 "ftp://ftp.nimblestorage.com/upload/"
},
logUri_ = {
size_ = 40,
len_ = 35,
buf_ = 0x5555e78446a0 "ftp://ftp.nimblestorage.com/upload/"
},
deferredReads = {
deferredReads = {
head = {
p_ = 0x0
},
tail = {
p_ = 0x0
},
length = 0
}
}
}
> frame 10
#10 0x00005555558816f6 in Ftp::Gateway::handleControlReply (this=0x5555662702c8) at FtpGateway.cc:1176
1176 FTP_SM_FUNCS[state] (this);
> print this
$5 = (Ftp::Gateway * const) 0x5555662702c8
> print *this
$6 = {
<Ftp::Client> = {
<Client> = {
<Adaptation::Initiator> = {
<AsyncJob> = {
<CbdataParent> = {
_vptr.CbdataParent = 0x555555b78ec8 <vtable for Ftp::Gateway+520>
},
members of AsyncJob:
id = {
value = 201681648
},
stopReason = 0x0,
typeName = 0x555555a9355f "FtpStateData",
inCall = {
p_ = 0x5555ff888600
},
started_ = true,
swanSang_ = false
},
members of Adaptation::Initiator:
_vptr.Initiator = 0x555555b78cd8 <vtable for Ftp::Gateway+24>
},
<BodyProducer> = {
members of BodyProducer:
_vptr.BodyProducer = 0x555555b78e18 <vtable for Ftp::Gateway+344>
},
<BodyConsumer> = {
members of BodyConsumer:
_vptr.BodyConsumer = 0x555555b78e50 <vtable for Ftp::Gateway+400>
},
members of Client:
completed = true,
currentOffset = 0,
responseBodyBuffer = 0x0,
entry = 0x55555e31aaf0,
fwd = {
p_ = 0x55556c0a4748
},
request = {
p_ = 0x55562827ab90
},
requestBodySource = {
p_ = 0x0
},
requestSender = {
p_ = 0x0
},
virginBodyDestination = {
p_ = 0x0
},
adaptedHeadSource = {
cbc = 0x0,
lock = 0x0
},
adaptedBodySource = {
p_ = 0x0
},
adaptationAccessCheckPending = false,
startedAdaptation = false,
receivedWholeAdaptedReply = false,
receivedWholeRequestBody = false,
doneWithFwd = 0x555555a92a12 "completeForwarding()",
theVirginReply = 0x0,
theFinalReply = 0x0
},
members of Ftp::Client:
ctrl = {
<Ftp::Channel> = {
conn = {
p_ = 0x0
},
listenConn = {
p_ = 0x0
},
closer = {
p_ = 0x0
}
},
members of Ftp::CtrlChannel:
buf = 0x5556084e8f30 "221 Goodbye.\r\nsend OK.\r\ntory listing.\r\n226 Directory send OK.\r\n####\r\n220-Welcome to the HPE NimbleStorage FTP Server.\r\n220-\r\n220-Please prepend files to be uploaded with your case number\r\n220-so that "...,
size = 4096,
offset = 0,
message = 0x5555b1cb8b80,
last_command = 0x5555a99543f0 "QUIT\r\n",
last_reply = 0x5555bb4e65a0 "Goodbye.",
replycode = 221
},
data = {
<Ftp::Channel> = {
conn = {
p_ = 0x0
},
listenConn = {
p_ = 0x0
},
closer = {
p_ = 0x0
}
},
members of Ftp::DataChannel:
readBuf = 0x55555e493418,
host = 0x5555bb42a4e0 "198.54.168.47",
port = 6892,
read_pending = false
},
ftp_state_t = Ftp::Client::BEGIN,
state = 18,
old_request = 0x0,
old_reply = 0x0,
dataConnWait = {
<JobWaitBase> = {
job_ = {
cbc = 0x0,
lock = 0x0
},
callback_ = {
p_ = 0x0
}
},
members of JobWait<Comm::ConnOpener>:
typedJob_ = {
cbc = 0x55557d0ec1b8,
lock = 0x55557d0ec1b8
}
},
shortenReadTimeout = false
},
members of Ftp::Gateway:
user = "anonymous", '\000' <repeats 8182 times>,
password = "Squid@", '\000' <repeats 8185 times>,
password_url = 0,
reply_hdr = 0x0,
reply_hdr_state = 0,
clean_url = {
size_ = 0,
len_ = 0,
buf_ = 0x0
},
title_url = {
size_ = 40,
len_ = 35,
buf_ = 0x5555d58c86b0 "ftp://ftp.nimblestorage.com/upload/"
},
base_href = {
size_ = 40,
len_ = 36,
buf_ = 0x55559dd8c4f0 "ftp://ftp.nimblestorage.com/upload//"
},
conn_att = 0,
login_att = 0,
mdtm = -1,
theSize = -1,
pathcomps = 0x0,
filepath = 0x0,
dirpath = 0x5555e4136d90 "upload",
restart_offset = 0,
proxy_host = 0x0,
list_width = 0,
cwd_message = {
size_ = 40,
len_ = 36,
buf_ = 0x5555c4d14f00 "\n250 Directory successfully changed."
},
old_filepath = 0x0,
typecode = 0 '\000',
listing = {
<Packable> = {
_vptr.Packable = 0x555555b6cab0 <vtable for MemBuf+16>
},
members of MemBuf:
buf = 0x5555cc7050c0 "",
size = 0,
max_capacity = 2097152000,
capacity = 2048,
stolen = 0
},
flags = {
pasv_supported = true,
epsv_all_sent = false,
pasv_only = false,
pasv_failed = false,
authenticated = false,
tried_auth_anonymous = true,
tried_auth_nopass = false,
isdir = true,
skip_whitespace = false,
rest_supported = true,
http_header_sent = false,
tried_nlst = false,
need_base_href = false,
dir_slash = false,
root_dir = false,
no_dotdot = false,
binary = false,
try_slash_hack = false,
put = false,
put_mkdir = false,
listformat_unknown = false,
listing = true,
completed_forwarding = true
}
}
--
Ralf Hildebrandt
Charité - Universitätsmedizin Berlin
Geschäftsbereich IT | Abteilung Netzwerk
Campus Benjamin Franklin (CBF)
Haus I | 1. OG | Raum 105
Hindenburgdamm 30 | D-12203 Berlin
Tel. +49 30 450 570 155
ralf.hildebrandt at charite.de
https://www.charite.de
More information about the squid-users
mailing list