@clundst found a segfault in xrootd scitokens, apparently related to iterator use. <details> <summary>backtrace from 5.3.0-1.1.osg35up.el7 with jemalloc junk:true</summary> ``` #5 0x00007f53c4e800c8 in signalHandler (sig=11, info=0x7f53cc7decf0, uc=0x7f53cc7debc0) at /usr/src/debug/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64/openjdk/hotspot/src/os/linux/vm/os_linux.cpp:4588 #6 <signal handler called> #7 local_Rb_tree_increment (__x=0x5a5a5a5a5a5a5a5a, __x@entry=0x7f53bd80a440) at ../../../../../libstdc++-v3/src/c++98/tree.cc:65 #8 std::_Rb_tree_increment (__x=__x@entry=0x7f53bd80a440) at ../../../../../libstdc++-v3/src/c++98/tree.cc:85 #9 0x00007f53c2e3fe85 in operator++ (this=<synthetic pointer>) at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/stl_tree.h:295 #10 Check (now=12020703, this=0x7f53cd7c6800) at /usr/src/debug/xrootd/xrootd/src/XrdSciTokens/XrdSciTokensAccess.cc:959 #11 XrdAccSciTokens::Access (this=0x7f53cd7c6800, Entity=0x7f53bd80d038, path=0x7f53bd94d800 "/store/user/clundst/test12.root", oper=AOP_Stat, env=0x7f53cc7df6c0) at /usr/src/debug/xrootd/xrootd/src/XrdSciTokens/XrdSciTokensAccess.cc:317 #12 0x00007f53c038932d in Macaroons::Authz::Access (this=0x7f53cc38fe90, Entity=0x7f53bd80d038, path=0x7f53bd94d800 "/store/user/clundst/test12.root", oper=<optimized out>, env=0x7f53cc7df6c0) at /usr/src/debug/xrootd/xrootd/src/XrdMacaroons/XrdMacaroonsAuthz.cc:167 #13 0x00007f53d2359a6e in XrdOfs::stat (this=0x7f53d25d8360 <XrdSfsGetDefaultFileSystem(XrdSfsFileSystem*, XrdSysLogger*, char const*, XrdOucEnv*)::XrdDefaultOfsFS>, path=0x7f53bd94d800 "/store/user/clundst/test12.root", buf=0x7f53cc7df770, einfo=..., client=0x7f53bd80d038, info=<optimized out>) at /usr/src/debug/xrootd/xrootd/src/XrdOfs/XrdOfs.cc:2296 #14 0x00007f53d234eece in XrdXrootdProtocol::do_Stat (this=this@entry=0x7f53bd926008) at /usr/src/debug/xrootd/xrootd/src/XrdXrootd/XrdXrootdXeq.cc:2808 ``` </details> When m_map is modified, iter is invalidated, and when iter is incremented it may cause a segfault. (Note that this PR assumes C++11.) You can view, comment on, or merge this pull request online at: https://github.com/xrootd/xrootd/pull/1574 -- Commit Summary -- * [XrdSciTokens] Modifying std::map invalidates iterator -- File Changes -- M src/XrdSciTokens/XrdSciTokensAccess.cc (6) -- Patch Links -- https://github.com/xrootd/xrootd/pull/1574.patch https://github.com/xrootd/xrootd/pull/1574.diff -- 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/pull/1574 ######################################################################## 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