Print

Print


Cedric - a few thoughts:

0.  I think Andy's onto something with the buffer allocation he mentioned.  Worth chasing down in the curl code.
1.  `valgrind` can sometimes be too disruptive to operations, especially if the problem is race conditions (as the extra-slow program can sometimes lose the race).
2.  Another useful trick is setting `MALLOC_CONF=junk:true` and using jemalloc.  That causes junk values to be written to memory allocations and can be a good way to detect reliance on uninitialized data.
3. A third trick is compiling with `-fsanitize=memory`.  That will activate the MemorySanitizer features (I think also available in GCC these days; definitely in clang) which is able to detect most of the errors valgrind does but at far less (though still significant) runtime cost.  You will need to compile both libcurl and xrootd with this to make it useful, however.

-- 
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/1531#issuecomment-940052497

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