Cedric - a few thoughts:

  1. I think Andy's onto something with the buffer allocation he mentioned. Worth chasing down in the curl code.
  2. 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).
  3. 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.
  4. 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, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/xrootd/xrootd/issues/1531#issuecomment-940052497", "url": "https://github.com/xrootd/xrootd/issues/1531#issuecomment-940052497", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

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