Huh do you think that checking ib prot->Bridge is nonzero would be sufficient? f Il 12/04/20 10:25, Elvin Sindrilaru ha scritto: > This crash happened in one of the DOMA tests. Apparently, there an issue > with the "state machine" represented by the CurrentReq.reqstate since > its value is "-1" and no external handler is called for the HTTP request > but also no Bridge object is created. Note there is an external handler > that should deal with such GET requests but since reqstate is non-0 this > never gets invoked. Below you can find a backtrace of the crash and > other relevant information. This happens with XRootD 4.11.3. A full > coredump is available here: > > |lxfsre09a02.cern.ch:/var/spool/abrt/ccpp-2020-04-09-20:06:50-3949| > > The backtrace: > > |(gdb) f 0 #0 0x00007f2cfdae8e8f in XrdHttpReq::ProcessHTTPReq > (this=this@entry=0x7f2cdd8a9520) at > /usr/src/debug/xrootd-4.11.3/src/XrdHttp/XrdHttpReq.cc:1240 1240 if > (!prot->Bridge->Run((char *) &xrdreq, 0, 0)) { (gdb) bt #0 > 0x00007f2cfdae8e8f in XrdHttpReq::ProcessHTTPReq > (this=this@entry=0x7f2cdd8a9520) at > /usr/src/debug/xrootd-4.11.3/src/XrdHttp/XrdHttpReq.cc:1240 #1 > 0x00007f2cfdae1105 in XrdHttpProtocol::Process (this=0x7f2cdd8a9400, > lp=<optimized out>) at > /usr/src/debug/xrootd-4.11.3/src/XrdHttp/XrdHttpProtocol.cc:988 #2 > 0x00007f2d00845a59 in XrdLink::DoIt (this=0x7f2ca6385818) at > /usr/src/debug/xrootd-4.11.3/src/Xrd/XrdLink.cc:441 #3 > 0x00007f2d00848def in XrdScheduler::Run (this=0x610e78 > <XrdMain::Config+440>) at > /usr/src/debug/xrootd-4.11.3/src/Xrd/XrdScheduler.cc:357 #4 > 0x00007f2d00848f39 in XrdStartWorking (carg=<optimized out>) at > /usr/src/debug/xrootd-4.11.3/src/Xrd/XrdScheduler.cc:87 #5 > 0x00007f2d0080ea67 in XrdSysThread_Xeq (myargs=0x7f2caac5cde0) at > /usr/src/debug/xrootd-4.11.3/src/XrdSys/XrdSysPthread.cc:86 #6 > 0x00007f2d003c2e65 in start_thread () from /lib64/libpthread.so.0 #7 > 0x00007f2cff6c488d in clone () from /lib64/libc.so.6 (gdb) p > prot->Bridge $10 = (XrdXrootd::Bridge *) 0x0 (gdb) f 1 #1 > 0x00007f2cfdae1105 in XrdHttpProtocol::Process (this=0x7f2cdd8a9400, > lp=<optimized out>) at > /usr/src/debug/xrootd-4.11.3/src/XrdHttp/XrdHttpProtocol.cc:988 988 rc = > CurrentReq.ProcessHTTPReq(); (gdb) p CurrentReq.reqstate $11 = -1 (gdb) > p CurrentReq $12 = {<XrdXrootd::Bridge::Result> = {_vptr.Result = > 0x7f2cfdcf5ad0 <vtable for XrdHttpReq+16>}, httpStatusCode = 0, > httpStatusText = "", m_transfer_encoding_chunked = false, > m_current_chunk_offset = 0, m_current_chunk_size = -1, prot = > 0x7f2cdd8a9400, ralist = 0x0, request = XrdHttpReq::rtGET, requestverb = > "GET", allheaders = std::map with 6 elements = {["Accept-Encoding"] = > "gzip,deflate", ["Authorization"] = "Bearer > MDAxNGxvY2F0aW9uIGVvc3BwcwowMDM0aWRlbnRpZmllciA3ODUxMWY3YS1jOGQ4LTQ2MDAtODFhMS1kZTgxMGRjMzg5NGEKMDAxNmNpZCBuYW1lOnRiZWVybWFuCjAwNTJjaWQgYWN0aXZpdHk6UkVBRF9NRVRBREFUQSxVUExPQUQsRE9XTkxPQUQsREVMR"..., > ["Connection"] = "Keep-Alive", ["Host"] = "lxfsre09a02.cern.ch:9001", > ["User-Agent"] = "dCache/5.2.16", ["Want-Digest"] = "adler32;q=1, > md5;q=0.8"}, resource = { _vptr.XrdOucString = 0x7f2d00a6dc10 <vtable > for XrdOucString+16>, str = 0x7f2c9dc36150 > "/eos/opstest/tpc/https/domatest/file4_cfad65f5-4487-4901-9f0e-af2d20f95c7a", > len = 74, siz = 75, static blksize = -1}, opaque = 0x7f2c8fa3f400, > resourceplusopaque = {_vptr.XrdOucString = 0x7f2d00a6dc10 <vtable for > XrdOucString+16>, str = 0x7f2cdd96b800 > "/eos/opstest/tpc/https/domatest/file4_cfad65f5-4487-4901-9f0e-af2d20f95c7a?encURI=%26cap.sym%3Dv%2FTsLkR%2BAYK5TGUAdartlwDahHY%3D%26cap.msg%3DEHPrLOVsWhX%2FV5EHdHgLLXWEibD9RoqwyG9fTh%2BVylyiMajoSE0x7O"..., > len = 947, siz = 964, static blksize = -1}, headerok = true, rwOps = > std::vector of length 0, capacity 0, rwOps_split = std::vector of length > 0, capacity 0, keepalive = true, length = 0, depth = 0, sendcontinue = > false, host = "lxfsre09a02.cern.ch:9001", destination = "", m_req_digest > = "adler32;q=1, md5;q=0.8", m_resource_with_digest = { > _vptr.XrdOucString = 0x7f2d00a6dc10 <vtable for XrdOucString+16>, str = > 0x7f2cdd80e098 "", len = 0, siz = 1, static blksize = -1}, > m_digest_header = "", hdr2cgistr = "", m_appended_hdr2cgistr = false, > rwOpDone = 0, rwOpPartialDone = 0, xrdreq = {header = {streamid = > "\000", requestid = 47883, body = '\000' <repeats 15 times>, dlen = 0}, > admin = {streamid = "\000", requestid = 47883, reserved = '\000' > <repeats 15 times>, dlen = 0}, auth = {streamid = "\000", requestid = > 47883, reserved = '\000' <repeats 11 times>, credtype = "\000\000\000", > dlen = 0}, bind = {streamid = "\000", requestid = 47883, sessid = '\000' > <repeats 15 times>, dlen = 0}, chmod = {streamid = "\000", requestid = > 47883, reserved = '\000' <repeats 13 times>, mode = 0, dlen = 0}, close > = {streamid = "\000", requestid = 47883, fhandle = "\000\000\000", fsize > = 0, reserved = "\000\000\000", dlen = 0}, decrypt = {streamid = "\000", > requestid = 47883, expectrid = 0, version = 0 '\000', flags = 0 '\000', > reserved = '\000' <repeats 11 times>, dlen = 0}, dirlist = {streamid = > "\000", requestid = 47883, reserved = '\000' <repeats 14 times>, options > = "", dlen = 0}, endsess = {streamid = "\000", requestid = 47883, sessid > = '\000' <repeats 15 times>, dlen = 0}, getfile = {streamid = "\000", > requestid = 47883, options = 0, reserved = > "\000\000\000\000\000\000\000", buffsz = 0, dlen = 0}, locate = > {streamid = "\000", requestid = 47883, options = 0, reserved = '\000' > <repeats 13 times>, dlen = 0}, login = { streamid = "\000", requestid = > 47883, pid = 0, username = "\000\000\000\000\000\000\000", reserved = 0 > '\000', ability = 0 '\000', capver = "", role = "", dlen = 0}, mkdir = > {streamid = "\000", requestid = 47883, options = "", reserved = '\000' > <repeats 12 times>, mode = 0, dlen = 0}, mv = {streamid = "\000", > requestid = 47883, reserved = '\000' <repeats 13 times>, arg1len = 0, > dlen = 0}, open = {streamid = "\000", requestid = 47883, mode = 0, > options = 0, reserved = '\000' <repeats 11 times>, dlen = 0}, ping = > {streamid = "\000", requestid = 47883, reserved = '\000' <repeats 15 > times>, dlen = 0}, prepare = {streamid = "\000", requestid = 47883, > options = 0 '\000', prty = 0 '\000', port = 0, optionX = 0, reserved = > "\000\000\000\000\000\000\000\000\000", dlen = 0}, protocol = {streamid > = "\000", requestid = 47883, clientpv = 0, flags = 0 '\000', reserved = > "\000\000\000\000\000\000\000\000\000\000", dlen = 0}, putfile = > {streamid = "\000", requestid = 47883, options = 0, reserved = > "\000\000\000\000\000\000\000", buffsz = 0, dlen = 0}, query = {streamid > = "\000", requestid = 47883, infotype = 0, reserved1 = "\000", fhandle = > "\000\000\000", reserved2 = "\000\000\000\000\000\000\000", dlen = 0}, > read = {streamid = "\000", requestid = 47883, fhandle = "\000\000\000", > offset = 0, rlen = 0, dlen = 0}, readv = {streamid = "\000", requestid = > 47883, reserved = '\000' <repeats 14 times>, pathid = 0 '\000', dlen = > 0}, rm = {streamid = "\000", requestid = 47883, reserved = '\000' > <repeats 15 times>, dlen = 0}, rmdir = {streamid = "\000", requestid = > 47883, reserved = '\000' <repeats 15 times>, dlen = 0}, set = { streamid > = "\000", requestid = 47883, reserved = '\000' <repeats 14 times>, > modifier = 0 '\000', dlen = 0}, sigver = {streamid = "\000", requestid = > 47883, expectrid = 0, version = 0 '\000', flags = 0 '\000', seqno = 0, > crypto = 0 '\000', rsvd2 = "\000\000", dlen = 0}, stat = {streamid = > "\000", requestid = 47883, options = 0 '\000', reserved = > "\000\000\000\000\000\000\000\000\000\000", fhandle = "\000\000\000", > dlen = 0}, sync = {streamid = "\000", requestid = 47883, fhandle = > "\000\000\000", reserved = '\000' <repeats 11 times>, dlen = 0}, > truncate = {streamid = "\000", requestid = 47883, fhandle = > "\000\000\000", offset = 0, reserved = "\000\000\000", dlen = 0}, write > = { streamid = "\000", requestid = 47883, fhandle = "\000\000\000", > offset = 0, pathid = 0 '\000', reserved = "\000\000", dlen = 0}, writev > = {streamid = "\000", requestid = 47883, options = 0 '\000', reserved = > '\000' <repeats 14 times>, dlen = 0, static doSync = 1}}, xrdresp = > kXR_ok, xrderrcode = kXR_noErrorYet, etext = "", redirdest = { > _vptr.XrdOucString = 0x7f2d00a6dc10 <vtable for XrdOucString+16>, str = > 0x7f2cdd80e088 "", len = 0, siz = 1, static blksize = -1}, iovP = 0x0, > iovN = 0, iovL = 0, final = false, filesize = 0, fileflags = 0, > filemodtime = 0, fhandle = "\000\000\000", fopened = false, stringresp = > "", reqstate = -1, writtenbytes = 0} (gdb) | > > The actual log lines corresponding to this request: > > |200409 20:06:49 14876 ?:[log in to unmask] sysXrdHttp: received dlen: > 16 200409 20:06:49 14876 ?:[log in to unmask] sysXrdHttp: received > dump: 71 69 84 32 47 101 111 115 47 111 112 115 116 101 115 00 200409 > 20:06:49 14876 ?:[log in to unmask] sysXrdHttp: Protocol matched. > https: 0 200409 20:06:49 14876 ?:[log in to unmask] sysXrdHttp: > Process. lp:0x7f2ca6385818 reqstate: 0 200409 20:06:49 14876 > ?:[log in to unmask] sysXrdHttp: Setting host: [::ffff:192.41.230.26] > 200409 20:06:49 14876 sysXrdHttp: getDataOneShot BuffAvailable: 1048576 > maxread: 1048576 200409 20:06:49 14876 sysXrdHttp: read 1448 of 1048576 > bytes 200409 20:06:49 14876 sysXrdHttp: rc:962 got hdr line: GET > /eos/opstest/tpc/https/domatest/file4_cfad65f5-4487-4901-9f0e-af2d20f95c7a?encURI=%26cap.sym%3Dv%2FTsLkR%2BAYK5TGUAdartlwDahHY%3D%26cap.msg%3DEHPrLOVsWhX%2FV5EHdHgLLXWEibD9RoqwyG9fTh%2BVylyiMajoSE0x7OiUlf630hWmuQQ13VLqh8%2FXxc5VS0VgaxQmDYDaZFYxUMbRvQR135ukoGAsHrrKsxXLo6gmQr2H%2BPHYLEU8xZp9wQXIQnOS8IsE545QWMLXpLnQjHvcJHd24aixCEEj8qPsWRaCGAl%2BxmaLX3IgZGvdNhSeac1tWW17AtPqPv37aE6KlFkvEOmQv42DGEtjckhTgQ4%2BVx9%2BHyDOwYgRpalieGEUqy%2F1Rj5zORWA3E7qbWsHBojBaIAB4pL4BNdNNkkHFvnF5k9ECME%2BkL%2Bhf6K5iXcPN%2F06BWDpRk9YV1jIRzYC0zffHbyQHH04p%2FNLhzUsV6r1%2FaxH00X3lWwEkWrImcl8obM7DzZeDBXHct8KvddyDXvYv95PTsfFxK5OA0icR6y1qSHbtQ%2FPl44Vf9x4lgRBbfaBruo0WMTiY3zFc93Y67Aw0fKygeQ6cM5EzEm2ZjG2PO3tIaNCRbfgya73gS5GWICUkf36OhTzdMBl587OH12l9Us%3D%26mgm.logid%3De2392620-7a8c-11ea-8e3e-fa163ec4aef9%26mgm.blockchecksum%3Dignore%26mgm.replicaindex%3D0%26mgm.replicahead%3D0%26mgm.etag%3D%221275783243513200640:88708a07%22%26mgm.id%3D11b47e19c%26mgm.mtime%3D1586451760 > HTTP/1.1 200409 20:06:49 14876 sysXrdHttp: Parsing first line: GET > /eos/opstest/tpc/https/domatest/file4_cfad65f5-4487-4901-9f0e-af2d20f95c7a?encURI=%26cap.sym%3Dv%2FTsLkR%2BAYK5TGUAdartlwDahHY%3D%26cap.msg%3DEHPrLOVsWhX%2FV5EHdHgLLXWEibD9RoqwyG9fTh%2BVylyiMajoSE0x7OiUlf630hWmuQQ13VLqh8%2FXxc5VS0VgaxQmDYDaZFYxUMbRvQR135ukoGAsHrrKsxXLo6gmQr2H%2BPHYLEU8xZp9wQXIQnOS8IsE545QWMLXpLnQjHvcJHd24aixCEEj8qPsWRaCGAl%2BxmaLX3IgZGvdNhSeac1tWW17AtPqPv37aE6KlFkvEOmQv42DGEtjckhTgQ4%2BVx9%2BHyDOwYgRpalieGEUqy%2F1Rj5zORWA3E7qbWsHBojBaIAB4pL4BNdNNkkHFvnF5k9ECME%2BkL%2Bhf6K5iXcPN%2F06BWDpRk9YV1jIRzYC0zffHbyQHH04p%2FNLhzUsV6r1%2FaxH00X3lWwEkWrImcl8obM7DzZeDBXHct8KvddyDXvYv95PTsfFxK5OA0icR6y1qSHbtQ%2FPl44Vf9x4lgRBbfaBruo0WMTiY3zFc93Y67Aw0fKygeQ6cM5EzEm2ZjG2PO3tIaNCRbfgya73gS5GWICUkf36OhTzdMBl587OH12l9Us%3D%26mgm.logid%3De2392620-7a8c-11ea-8e3e-fa163ec4aef9%26mgm.blockchecksum%3Dignore%26mgm.replicaindex%3D0%26mgm.replicahead%3D0%26mgm.etag%3D%221275783243513200640:88708a07%22%26mgm.id%3D11b47e19c%26mgm.mtime%3D1586451760 > HTTP/1.1 200409 20:06:49 14876 sysXrdHttp: rc:37 got hdr line: > Want-Digest: adler32;q=1, md5;q=0.8 200409 20:06:49 14876 > ?:[log in to unmask] sysXrdHttp: rc:0Header not yet complete. 200409 > 20:06:49 3980 sysXrdHttp: Sending 1048576 bytes 200409 20:06:49 14927 > ?:[log in to unmask] sysXrdHttp: Process. lp:0x7f2ca6385818 reqstate: > -1 200409 20:06:49 14927 sysXrdHttp: getDataOneShot BuffAvailable: > 1047128 maxread: 1047128 200409 20:06:49 14927 sysXrdHttp: read 195 of > 1047128 bytes 200409 20:06:49 14927 sysXrdHttp: rc:528 got hdr line: > Authorization: Bearer > MDAxNGxvY2F0aW9uIGVvc3BwcwowMDM0aWRlbnRpZmllciA3ODUxMWY3YS1jOGQ4LTQ2MDAtODFhMS1kZTgxMGRjMzg5NGEKMDAxNmNpZCBuYW1lOnRiZWVybWFuCjAwNTJjaWQgYWN0aXZpdHk6UkVBRF9NRVRBREFUQSxVUExPQUQsRE9XTkxPQUQsREVMRVRFLE1BTkFHRSxVUERBVEVfTUVUQURBVEEsTElTVAowMDFmY2lkIGFjdGl2aXR5OkRPV05MT0FELExJU1QKMDA1OGNpZCBwYXRoOi9lb3Mvb3BzdGVzdC90cGMvaHR0cHMvZG9tYXRlc3QvZmlsZTRfY2ZhZDY1ZjUtNDQ4Ny00OTAxLTlmMGUtYWYyZDIwZjk1YzdhCjAwMjRjaWQgYmVmb3JlOjIwMjAtMDQtMDlUMjA6NDM6NDZaCjAwMmZzaWduYXR1cmUgA0mewhQwo5ODcWyejOZ05Uo67s7XJdi380Tf53KAFx4K > 200409 20:06:49 14927 sysXrdHttp: rc:32 got hdr line: Host: > lxfsre09a02.cern.ch:9001 200409 20:06:49 14927 sysXrdHttp: rc:24 got hdr > line: Connection: Keep-Alive 200409 20:06:49 14927 sysXrdHttp: rc:27 got > hdr line: User-Agent: dCache/5.2.16 200409 20:06:49 14927 sysXrdHttp: > rc:31 got hdr line: Accept-Encoding: gzip,deflate 200409 20:06:49 14927 > sysXrdHttp: rc:2 got hdr line: 200409 20:06:49 14927 sysXrdHttp: rc:2 > detected header end. 200409 20:07:58 2811 Starting on Linux > 3.10.0-1062.9.1.el7.x86_64 Copr. 2004-2012 Stanford University, xrd > version v4.11.3 | > > — > You are receiving this because you are subscribed to this thread. > Reply to this email directly, view it on GitHub > <https://github.com/xrootd/xrootd/issues/1176>, or unsubscribe > <https://github.com/notifications/unsubscribe-auth/ABJBUTZKZHDQTDSPVLHYIX3RMF3HHANCNFSM4MGKNQOA>. > -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/xrootd/xrootd/issues/1176#issuecomment-613406821 ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-DEV list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1