If a partial header was read, we previously did not return to the poll loop. Instead, a read into the data buffer was attempted. If that read actually succeeded (that is, a packet arrived between the two read calls), then the next attempt to read the header resulted in garbage size/offsets being attempted. The fix is to simply check for a partial header read and return to the poll loop immediately if one occurred. You can merge this Pull Request by running: git pull https://github.com/bbockelm/xrootd-1 fix_readv_headers Or you can view, comment on it, or merge it online at: https://github.com/xrootd/xrootd/pull/108 -- Commit Summary -- * Correctly handle reads of a partial header. #45 -- File Changes -- M src/XrdCl/XrdClXRootDMsgHandler.cc (6) -- Patch Links -- https://github.com/xrootd/xrootd/pull/108.patch https://github.com/xrootd/xrootd/pull/108.diff --- Reply to this email directly or view it on GitHub: https://github.com/xrootd/xrootd/pull/108 ######################################################################## 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