The log file below shows what I'm trying to do, including the HTTP request headers. It seems that when the sum of the byte ranges requested in `Range` gets long enough, there's a `Read vector is too long` error that gets propagated as a `500 Internal Server Error`. This is quite surprising, as the total data requested here is not particularly large at all (130 MiB). ``` 230323 20:08:36 3065540 http_Protocol: rc:81 got hdr line: GET //home/mproffit/iris/tmp/00DF0A73-17C2-E511-B086-E41D2D08DE30.root HTTP/1.1^M 230323 20:08:36 3065540 http_Protocol: Parsing first line: GET //home/mproffit/iris/tmp/00DF0A73-17C2-E511-B086-E41D2D08DE30.root HTTP/1.1^M 230323 20:08:36 3065540 http_Protocol: rc:22 got hdr line: Host: localhost:1094^M 230323 20:08:36 3065540 http_Protocol: rc:27 got hdr line: Accept-Encoding: identity^M 230323 20:08:36 3065540 http_Protocol: rc:136 got hdr line: Range: bytes=53445211-77058188, 77130795-100499541, 100572148-124999036, 125071643-148689343, 148761950-170010705, 170083313-190163055^M 230323 20:08:36 3065540 http_Protocol: rc:2 got hdr line: ^M 230323 20:08:36 3065540 http_Protocol: rc:2 detected header end. 230323 20:08:36 3065540 XrootdBridge: unknown.7:22@localhost login as nobody 230323 20:08:36 3065540 unknown.7:22@localhost http_Protocol: Process. lp:0x7fb80c0051b8 reqstate: 0 230323 20:08:36 3065540 unknown.7:22@localhost XrootdProtocol: 0000 Bridge req=3017 dlen=67 blen=67 230323 20:08:36 3065540 unknown.7:22@localhost http_Protocol: Process is exiting rc:0 230323 20:08:36 3065540 unknown.7:22@localhost XrootdProtocol: 0000 rc=0 stat /home/mproffit/iris/tmp/00DF0A73-17C2-E511-B086-E41D2D08DE30.root 230323 20:08:36 3065540 unknown.7:22@localhost XrootdResponse: 0000 sending 88 data bytes 230323 20:08:36 3065540 http_Req: XrdHttpReq::Data! final=False 230323 20:08:36 3065540 unknown.7:22@localhost http_Req: PostProcessHTTPReq req: 2 reqstate: 0 230323 20:08:36 3065540 unknown.7:22@localhost http_Req: Stat for GET /home/mproffit/iris/tmp/00DF0A73-17C2-E511-B086-E41D2D08DE30.root stat=243313213033154561 212708063 48 1679595730 1679595730 1679595722 0644 mproffit mproffit 230323 20:08:36 3065540 unknown.7:22@localhost http_Protocol: Process. lp:(nil) reqstate: 0 230323 20:08:36 3065540 unknown.7:22@localhost XrootdProtocol: 0000 Bridge req=3010 dlen=67 blen=67 230323 20:08:36 3065540 unknown.7:22@localhost http_Protocol: Process is exiting rc:0 230323 20:08:36 3065540 unknown.7:22@localhost XrootdProtocol: 0000 open rt //home/mproffit/iris/tmp/00DF0A73-17C2-E511-B086-E41D2D08DE30.root 230323 20:08:36 3065540 unknown.7:22@localhost XrootdResponse: 0000 sending 100 data bytes; status=0 230323 20:08:36 3065540 http_Req: XrdHttpReq::Data! final=True 230323 20:08:36 3065540 unknown.7:22@localhost http_Req: PostProcessHTTPReq req: 2 reqstate: 1 230323 20:08:36 3065540 unknown.7:22@localhost http_Req: fhandle:0:0:0:0 230323 20:08:36 3065540 unknown.7:22@localhost http_Protocol: Sending resp: 206 header len:159 230323 20:08:36 3065540 http_Protocol: Sending 159 bytes 230323 20:08:36 3065540 unknown.7:22@localhost http_Protocol: Process. lp:(nil) reqstate: 1 230323 20:08:36 3065540 unknown.7:22@localhost XrootdProtocol: 0000 Bridge req=3025 dlen=16720 blen=16720 230323 20:08:36 3065540 unknown.7:22@localhost http_Protocol: Process is exiting rc:0 230323 20:08:36 3065540 unknown.7:22@localhost XrootdResponse: 0000 sending err 3002: Read vector is too long 230323 20:08:36 3065540 http_Req: XrdHttpReq::Error 230323 20:08:36 3065540 unknown.7:22@localhost http_Req: PostProcessHTTPReq req: 2 reqstate: 2 230323 20:08:36 3065540 unknown.7:22@localhost http_Req: PostProcessHTTPReq mapping Xrd error [3002] to status code [500] 230323 20:08:36 3065540 unknown.7:22@localhost http_Protocol: Sending resp: 500 header len:100 230323 20:08:36 3065540 http_Protocol: Sending 100 bytes 230323 20:08:36 3065540 http_Protocol: Sending 24 bytes 230323 20:08:36 3065540 http_Req: XrdHttpReq request ended. 230323 20:08:36 3065540 http_Protocol: Cleanup 230323 20:08:36 3065540 http_Protocol: Reset 230323 20:08:36 3065540 http_Req: XrdHttpReq request ended. 230323 20:08:36 3065540 XrootdXeq: unknown.7:22@localhost disc 0:00:00 (send failure) ``` This is with XRootD v5.5.3. I first saw this on the UNL server and then tested that I could reproduce it locally. -- Reply to this email directly or view it on GitHub: https://github.com/xrootd/xrootd/issues/1976 You are receiving this because you are subscribed to this thread. 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