Print

Print


Dear experts,

I noticed a reproducible crash when enabling  XrdThrottle (together with XrdHttpTPC, XrdAccSciTokens, XrdMacaroons, XrdMultiuser). It always happens as

211101 13:52:44 22855 XrootdBridge: unknown.24:[log in to unmask] login as nobody
211101 13:52:44 22855 multiuser_UserSentry: Anonymous client; no user set, cannot change FS UIDs
211101 13:52:44 22855 multiuser_UserSentry: Switching FS uid for user prdcms001
INFO in AuthzFun: Lookup with key /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=sciaba/CN=430796/CN=Andrea Sciaba::cms:/cms/Role=production,/cms,/cms/ALARM,/cms/GGUSExpert,/cms/TEAM,::
INFO in AuthzFun: Using cached entity with username prdcms001
211101 13:52:47 22907 multiuser_UserSentry: Anonymous client; no user set, cannot change FS UIDs
211101 13:52:47 22855 TPC_PullRequest: event=PULL_START, local=/store/unmerged/SAM/se_webdav_20211101_125243_etf-01.mcpy, remote=https://cmsxrd.ts.infn.it:1094/store/unmerged/SAM/se_webdav_20211101_125243_etf-01.mwrt, user=(anonymous); Starting a push request
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct null not valid

and similarly for Push requests. The problem disappears when disabling XrdThrottle.

The output from strace looks like this (hopefully these are the relevant lines):

[pid 22855] writev(2, [{iov_base="211101 13:52:47 22855 ", iov_len=22}, {iov_base="TPC_", iov_len=4}, {iov_base="PullRequest", iov_len=11}, {iov_base=": ", iov_len=2}, {iov_base="event=PULL_START, local=/store/u"..., iov_len=220}, {iov_base="\n", iov_len=1}], 6) = 260
/usr/lib64/libc-2.17.so(writev+0x60) [0xf55d0]
/usr/lib64/libXrdUtils.so.3.0.0(XrdSysLogger::Put(int, iovec*)+0x177) [0x4a577]
/usr/lib64/libXrdUtils.so.3.0.0(XrdSysError::Emsg(char const*, char const*, char const*, char const*)+0x13b) [0x4574b]
/usr/lib64/libXrdHttpTPC-5.so(TPC::TPCHandler::logTransferEvent(TPC::LogMask, TPC::TPCHandler::TPCLogRecord const&, std::string const&, std::string const&)+0x5ea) [0x1355a]
/usr/lib64/libXrdHttpTPC-5.so(TPC::TPCHandler::ProcessPullReq(std::string const&, XrdHttpExtReq&)+0x143) [0x1d733]
/usr/lib64/libXrdHttpTPC-5.so(TPC::TPCHandler::ProcessReq(XrdHttpExtReq&)+0x1ad) [0x1ed0d]
/usr/lib64/libXrdHttpUtils.so.2.0.0(XrdHttpReq::ProcessHTTPReq()+0x110) [0x1ac60]
/usr/lib64/libXrdHttpUtils.so.2.0.0(XrdHttpProtocol::Process(XrdLink*)+0xf14) [0x128e4]
/usr/lib64/libXrdUtils.so.3.0.0(XrdLinkXeq::DoIt()+0x45) [0xa6095]
/usr/lib64/libXrdUtils.so.3.0.0(XrdLink::setProtocol(XrdProtocol*, bool, bool)+0x28) [0xa2868]
/usr/lib64/libXrdUtils.so.3.0.0(XrdScheduler::Run()+0x139) [0xa9169]
/usr/lib64/libXrdUtils.so.3.0.0(XrdStartWorking(void*)+0x8) [0xa9288]
/usr/lib64/libXrdUtils.so.3.0.0(XrdSysThread_Xeq+0x36) [0x4ebd6]
/usr/lib64/libpthread-2.17.so(start_thread+0xc4) [0x7ea4]
/usr/lib64/libc-2.17.so(__clone+0x6c) [0xfeb0c]

[pid 22855] futex(0x7fcf304d0190, FUTEX_WAKE_PRIVATE, 2147483647) = 0
/usr/lib64/libpthread-2.17.so(__pthread_once_slow+0x86) [0x6230]
/usr/lib64/libgcc_s-4.8.5-20150702.so.1() [0xf74d]
/usr/lib64/libgcc_s-4.8.5-20150702.so.1(_Unwind_RaiseException+0x3d) [0xfbbd]
/usr/lib64/libstdc++.so.6.0.19(__cxa_throw+0x65) [0x5ec45]
/usr/lib64/libstdc++.so.6.0.19(std::__throw_logic_error(char const*)+0x76) [0xb3856]
/usr/lib64/libstdc++.so.6.0.19(char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag)+0xa0) [0xbf5e0]
/usr/lib64/libstdc++.so.6.0.19(std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)+0x37) [0xbf997]
/usr/lib64/libXrdThrottle-5.so(XrdThrottle::File::File(char const*, std::unique_ptr<XrdSfsFile, std::default_delete<XrdSfsFile> >, XrdThrottleManager&, XrdSysError&)+0x70) [0x7a70]
/usr/lib64/libXrdThrottle-5.so(XrdThrottle::FileSystem::newFile(char*, int)+0x49) [0x55e9]
/usr/lib64/libXrdHttpTPC-5.so(TPC::TPCHandler::ProcessPullReq(std::string const&, XrdHttpExtReq&)+0x1c7) [0x1d7b7]
/usr/lib64/libXrdHttpTPC-5.so(TPC::TPCHandler::ProcessReq(XrdHttpExtReq&)+0x1ad) [0x1ed0d]
/usr/lib64/libXrdHttpUtils.so.2.0.0(XrdHttpReq::ProcessHTTPReq()+0x110) [0x1ac60]
/usr/lib64/libXrdHttpUtils.so.2.0.0(XrdHttpProtocol::Process(XrdLink*)+0xf14) [0x128e4]
/usr/lib64/libXrdUtils.so.3.0.0(XrdLinkXeq::DoIt()+0x45) [0xa6095]
/usr/lib64/libXrdUtils.so.3.0.0(XrdLink::setProtocol(XrdProtocol*, bool, bool)+0x28) [0xa2868]
/usr/lib64/libXrdUtils.so.3.0.0(XrdScheduler::Run()+0x139) [0xa9169]
/usr/lib64/libXrdUtils.so.3.0.0(XrdStartWorking(void*)+0x8) [0xa9288]
/usr/lib64/libXrdUtils.so.3.0.0(XrdSysThread_Xeq+0x36) [0x4ebd6]
/usr/lib64/libpthread-2.17.so(start_thread+0xc4) [0x7ea4]
/usr/lib64/libc-2.17.so(__clone+0x6c) [0xfeb0c]

Please let me know if some more details about our configuration, log file entries or lines from strace can be useful.

Thanks in advance !

Best regards,
Giuseppe.

-- 
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/1544

########################################################################
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