[ https://issues.apache.org/jira/browse/DISPATCH-2039?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jiri Daněk updated DISPATCH-2039: --------------------------------- Summary: Memory pool should be manually poisoned so that ASAN works with it (was: Memory pool should be manually poisoned so that ASAN works with them) > Memory pool should be manually poisoned so that ASAN works with it > ------------------------------------------------------------------ > > Key: DISPATCH-2039 > URL: https://issues.apache.org/jira/browse/DISPATCH-2039 > Project: Qpid Dispatch > Issue Type: Wish > Affects Versions: 1.15.0 > Reporter: Jiri Daněk > Priority: Minor > > From https://github.com/google/sanitizers/wiki/AddressSanitizerManualPoisoning > bq. A user may poison/unpoison a region of memory manually. Use this feature > with caution. In many cases good old malloc+free is a better way to find heap > bugs than using custom allocators with manual poisoning. > As far as I can tell, it is nowadays not possible to turn off the pool > allocation and use malloc/free, because the pool mechanism also implements > the weak pointers and ref counters. That means giving hints to ASAN is the > only way to discover memory bugs of the type (if what Chuck speculated is > true) of DISPATCH-2032. > bq. If you have a custom allocation arena, the typical workflow would be to > poison the entire arena first, and then unpoison allocated chunks of memory > leaving poisoned redzones between them. The allocated chunks should start > with 8-aligned addresses. > Alternatively, the current memory debugging machinery for the pool could take > care of it on its own... but using ASAN seems sensible to me. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org