It looks like a response is received twice ... or that XrdCl tries to process it twice. The second time after `class BlockResponseHandler : public XrdOucCacheIOCB` has already been deleted. ``` ==2395896== Thread 75: ==2395896== Invalid write of size 4 ==2395896== at 0x10225F7D: XrdPosixFileRH::HandleResponse(XrdCl::XRootDStatus*, XrdCl::AnyObject*) (XrdPosixFileRH.cc:140) ==2395896== by 0x105A6495: (anonymous namespace)::PgReadSubstitutionHandler::HandleResponseWithHosts(XrdCl::XRootDStatus*, XrdCl::AnyObject*, std::vector<XrdCl::HostInfo, std::allocator<XrdCl::HostInfo> >*) (XrdClFileStateHandler.cc:378) ==2395896== by 0x105B3815: (anonymous namespace)::StatefulHandler::HandleResponseWithHosts(XrdCl::XRootDStatus*, XrdCl::AnyObject*, std::vector<XrdCl::HostInfo, std::allocator<XrdCl::HostInfo> >*) (XrdClFileStateHandler.cc:567) ==2395896== by 0x1058BA87: XrdCl::XRootDMsgHandler::HandleResponse() (XrdClXRootDMsgHandler.cc:1603) ==2395896== by 0x1058F472: XrdCl::XRootDMsgHandler::Process() (XrdClXRootDMsgHandler.cc:937) ==2395896== by 0x10566D4D: XrdCl::Stream::HandleIncMsgJob::Run(void*) (XrdClStream.hh:321) ==2395896== by 0x105E6A0C: XrdCl::JobManager::RunJobs() (XrdClJobManager.cc:153) ==2395896== by 0x105E6A78: RunRunnerThread (XrdClJobManager.cc:34) ==2395896== by 0x61A817E: start_thread (in /usr/lib64/libpthread-2.28.so) ==2395896== by 0x63F9D82: clone (in /usr/lib64/libc-2.28.so) ==2395896== Address 0x35cbdb60 is 80 bytes inside a block of size 88 free'd ==2395896== at 0x4C3A299: operator delete(void*, unsigned long) (vg_replace_malloc.c:935) ==2395896== by 0x11037762: XrdPfc::File::free_block(XrdPfc::Block*) (XrdPfcFile.cc:1113) ==2395896== by 0x11037B2C: XrdPfc::File::WriteBlockToDisk(XrdPfc::Block*) (XrdPfcFile.cc:992) ==2395896== by 0x110255BE: XrdPfc::Cache::ProcessWriteTasks() (XrdPfc.cc:342) ==2395896== by 0x11025630: ProcessWriteTaskThread(void*) (XrdPfc.cc:65) ==2395896== by 0x51A1DE6: XrdSysThread_Xeq (XrdSysPthread.cc:86) ==2395896== by 0x61A817E: start_thread (in /usr/lib64/libpthread-2.28.so) ==2395896== by 0x63F9D82: clone (in /usr/lib64/libc-2.28.so) ==2395896== Block was alloc'd at ==2395896== at 0x4C38145: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:530) ==2395896== by 0x1103A460: XrdPfc::File::PrepareBlockRequest(int, XrdPfc::IO*, bool) (XrdPfcFile.cc:555) ==2395896== by 0x1103BFC9: XrdPfc::File::Read(XrdPfc::IO*, char*, long long, int) (XrdPfcFile.cc:737) ==2395896== by 0x110438BA: XrdPfc::IOEntireFile::Read(char*, long long, int) (XrdPfcIOEntireFile.cc:173) ==2395896== by 0x51C4E5D: XrdOucCacheIO::Read(XrdOucCacheIOCB&, char*, long long, int) (XrdOucCache.hh:334) ==2395896== by 0x10006691: XrdPssFile::Read(XrdSfsAio*) (XrdPssAio.cc:170) ==2395896== by 0x4EC21AD: read (XrdOfs.cc:1414) ==2395896== by 0x4EC21AD: XrdOfsFile::read(XrdSfsAio*) (XrdOfs.cc:1386) ==2395896== by 0x4EA2932: CopyF2L_Add2Q (XrdXrootdNormAio.cc:131) ==2395896== by 0x4EA2932: XrdXrootdNormAio::CopyF2L_Add2Q(XrdXrootdAioBuff*) (XrdXrootdNormAio.cc:114) ==2395896== by 0x4EA3382: XrdXrootdNormAio::CopyF2L() (XrdXrootdNormAio.cc:218) ==2395896== by 0x52110D6: XrdScheduler::Run() (XrdScheduler.cc:406) ==2395896== by 0x52111F8: XrdStartWorking(void*) (XrdScheduler.cc:89) ==2395896== by 0x51A1DE6: XrdSysThread_Xeq (XrdSysPthread.cc:86) ==2395896== ``` -- Reply to this email directly or view it on GitHub: https://github.com/xrootd/xrootd/issues/1616#issuecomment-1035652916 You are receiving this because you commented. Message ID: <[log in to unmask]> ######################################################################## 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