Skip to content

Conversation

@jkew
Copy link
Contributor

@jkew jkew commented Feb 28, 2013

CLEANUP: Virtual IPs were once managed such that within a cluster they
would automatically rebalance themselves between nodes by bringing
subinterfaces up and down. After ATS was open sourced the original
setuid tool, vip_config (or traffic_vip_config) was inadvertently
removed; but the code which depended on this tool was not cleaned
up.

   Since modern deployments either do not use this tool at all
   (because it was broken for a few years) and modern deployments also
   have some central system for managing cluster state reliably, we
   do not need VMap to implement some scheme for automatically
   rebalancing the ips.

   This CL keeps much of the code for detecting ip address conflicts
   and for receiving the multicast messages from the cluster; but we
   remove all instances where we either bring up/down an interface.

   Deployments should manage this through external state systems.

   Note: VIPs do not actually bind to the specific addresses in
   vaddrs; this is just an operations convience to ensure that a
   cluster has no ip conflicts or unmanaged vips.

   Note: The *right* thing to do here may be to recall that old tool and let
   VMap do it's thing.

   Note: Another *right* thing to do may be to remove VMap entirely, along
   with the associated cluster messages. At least with this exiting changeset
   we can detect ip address conflicts.

Reviewed-by: TBD

       would automatically rebalance themselves between nodes by bringing
       subinterfaces up and down. After ATS was open source the original
       setuid tools, vip_config (or traffic_vip_config) was inadvertently
       removed; but the code which depended on this tool was not cleaned
       up.

       Since modern deployments either do not use this tool at all
       (because it was broken for a few years) and modern deployments also
       have some central system for managing cluster state reliably, we
       do not need VMap to implement some scheme for automatically
       rebalancing the ips.

       This CL keeps much of the code for detecting ip address conflicts
       and for receiving the multicast messages from the cluster; but we
       remove all instances where we either bring up/down an interface.

       Deployments should manage this through external state systems.

       Note: VIPs do not actually bind to the specific addresses in
       vaddrs; this is just an operations convience to ensure that a
       cluster has no ip conflicts or unmanaged vips.

Reviewed-by: TBD
@jkew
Copy link
Contributor Author

jkew commented Feb 28, 2013

To be clear; as long as VMap does not actually bind to those addresses; I'm not dependent on VMap at all. This was sort of a long deep dive into one part of the code which was a little confusing from the configuration files.

@jpeach
Copy link
Contributor

jpeach commented May 30, 2013

@jkew jkew closed this May 30, 2013
mingzym added a commit to mingzym/trafficserver that referenced this pull request Nov 16, 2013
iake123 added a commit to iake123/trafficserver that referenced this pull request Mar 8, 2017
(gdb) bt
#0  0x000000000058e4db in _acquire_session (bucket=0x11c0, ip=0x2ae24f9006d0, hostname_hash=..., sm=0x2ae24f900000) at HttpSessionManager.cc:234
apache#1  0x000000000058e97b in HttpSessionManager::acquire_session (this=0xc77b60 <httpSessionManager>, cont=0x2ae24f900000, ip=0x2ae24f9006d0, hostname=0x2ae24fa80019 "127.0.0.1", ua_session=0x2ae243e60000, sm=0x2ae24f900000)
    at HttpSessionManager.cc:317
apache#2  0x000000000059d960 in HttpSM::do_http_server_open (this=0x2ae24f900000, raw=false) at HttpSM.cc:4587
apache#3  0x00000000005a5421 in HttpSM::set_next_state (this=0x2ae24f900000) at HttpSM.cc:7091
apache#4  0x00000000005a4941 in HttpSM::call_transact_and_set_next_state (this=0x2ae24f900000, f=0x0) at HttpSM.cc:6925
apache#5  0x00000000005969f3 in HttpSM::state_cache_open_write (this=0x2ae24f900000, event=1108, data=0x2ae243ee0000) at HttpSM.cc:2564
apache#6  0x0000000000597228 in HttpSM::main_handler (this=0x2ae24f900000, event=1108, data=0x2ae243ee0000) at HttpSM.cc:2683
apache#7  0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f900000, event=1108, data=0x2ae243ee0000) at ../iocore/eventsystem/I_Continuation.h:146
apache#8  0x000000000057f7e6 in HttpCacheSM::state_cache_open_write (this=0x2ae24f901808, event=1108, data=0x2ae243ee0000) at HttpCacheSM.cc:180
apache#9  0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f901808, event=1108, data=0x2ae243ee0000) at ../iocore/eventsystem/I_Continuation.h:146
apache#10 0x00000000006fdf28 in CacheVC::callcont (this=0x2ae243ee0000, event=1108) at P_CacheInternal.h:837
apache#11 0x00000000007058b3 in Cache::open_write (this=0x835e160, cont=0x2ae24f901808, key=0x2ae1bf337ea0, info=0x0, apin_in_cache=0, key1=0x0, type=CACHE_FRAG_TYPE_HTTP,
    hostname=0x2ae24f88000b "127.0.0.1:57890/synthetic.txt HTTP/1.0\r\n\r\n", host_len=9) at CacheWrite.cc:1823
apache#12 0x00000000006df28a in Cache::open_write (this=0x835e160, cont=0x2ae24f901808, url=0x2ae24f900750, request=0x2ae24f900738, old_info=0x0, pin_in_cache=0, type=CACHE_FRAG_TYPE_HTTP) at P_CacheInternal.h:1281
apache#13 0x00000000006db86c in CacheProcessor::open_write (this=0x11b56e0 <cacheProcessor>, cont=0x2ae24f901808, expected_size=0, url=0x2ae24f900750, cluster_cache_local=true, request=0x2ae24f900738, old_info=0x0, pin_in_cache=0,
    type=CACHE_FRAG_TYPE_HTTP) at Cache.cc:3991
apache#14 0x000000000057fc9b in HttpCacheSM::open_write (this=0x2ae24f901808, url=0x2ae24f900750, request=0x2ae24f900738, old_info=0x0, pin_in_cache=0, retry=true, allow_multiple=false) at HttpCacheSM.cc:335
apache#15 0x000000000059d2d9 in HttpSM::do_cache_prepare_action (this=0x2ae24f900000, c_sm=0x2ae24f901808, object_read_info=0x0, retry=true, allow_multiple=false) at HttpSM.cc:4490
apache#16 0x00000000005ab9da in HttpSM::do_cache_prepare_write (this=0x2ae24f900000) at HttpSM.cc:4404
apache#17 0x00000000005a57d5 in HttpSM::set_next_state (this=0x2ae24f900000) at HttpSM.cc:7179
apache#18 0x00000000005a4941 in HttpSM::call_transact_and_set_next_state (this=0x2ae24f900000, f=0x0) at HttpSM.cc:6925
apache#19 0x0000000000593e8f in HttpSM::handle_api_return (this=0x2ae24f900000) at HttpSM.cc:1611
apache#20 0x000000000059e298 in HttpSM::do_api_callout_internal (this=0x2ae24f900000) at HttpSM.cc:4783
apache#21 0x00000000005ab93c in HttpSM::do_api_callout (this=0x2ae24f900000) at HttpSM.cc:576
apache#22 0x00000000005ab97e in HttpSM::setup_cache_lookup_complete_api (this=0x2ae24f900000) at HttpSM.cc:2573
apache#23 0x0000000000596e95 in HttpSM::state_cache_open_read (this=0x2ae24f900000, event=1103, data=0xffffffffffffb050) at HttpSM.cc:2630
apache#24 0x0000000000597228 in HttpSM::main_handler (this=0x2ae24f900000, event=1103, data=0xffffffffffffb050) at HttpSM.cc:2683
apache#25 0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f900000, event=1103, data=0xffffffffffffb050) at ../iocore/eventsystem/I_Continuation.h:146
apache#26 0x000000000057f61d in HttpCacheSM::state_cache_open_read (this=0x2ae24f901808, event=1103, data=0xffffffffffffb050) at HttpCacheSM.cc:145
apache#27 0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f901808, event=1103, data=0xffffffffffffb050) at ../iocore/eventsystem/I_Continuation.h:146
apache#28 0x00000000006f8415 in Cache::open_read (this=0x835e160, cont=0x2ae24f901808, key=0x2ae1bf3385b0, request=0x2ae24f900738, params=0x2ae24f900108, type=CACHE_FRAG_TYPE_HTTP,
    hostname=0x2ae24f88000b "127.0.0.1:57890/synthetic.txt HTTP/1.0\r\n\r\n", host_len=9) at CacheRead.cc:162
apache#29 0x00000000006df1f9 in Cache::open_read (this=0x835e160, cont=0x2ae24f901808, url=0x2ae24f900750, request=0x2ae24f900738, params=0x2ae24f900108, type=CACHE_FRAG_TYPE_HTTP) at P_CacheInternal.h:1262
apache#30 0x00000000006db738 in CacheProcessor::open_read (this=0x11b56e0 <cacheProcessor>, cont=0x2ae24f901808, url=0x2ae24f900750, cluster_cache_local=1, request=0x2ae24f900738, params=0x2ae24f900108, pin_in_cache=0,
    type=CACHE_FRAG_TYPE_HTTP) at Cache.cc:3967
apache#31 0x000000000057f969 in HttpCacheSM::do_cache_open_read (this=0x2ae24f901808) at HttpCacheSM.cc:233
apache#32 0x000000000057fa55 in HttpCacheSM::open_read (this=0x2ae24f901808, url=0x2ae24f900750, hdr=0x2ae24f900738, params=0x2ae24f900108, pin_in_cache=0) at HttpCacheSM.cc:265
apache#33 0x000000000059ccf2 in HttpSM::do_cache_lookup_and_read (this=0x2ae24f900000) at HttpSM.cc:4349
apache#34 0x00000000005a5264 in HttpSM::set_next_state (this=0x2ae24f900000) at HttpSM.cc:7055
apache#35 0x00000000005a4941 in HttpSM::call_transact_and_set_next_state (this=0x2ae24f900000, f=0x0) at HttpSM.cc:6925
apache#36 0x0000000000593e8f in HttpSM::handle_api_return (this=0x2ae24f900000) at HttpSM.cc:1611
apache#37 0x000000000059e298 in HttpSM::do_api_callout_internal (this=0x2ae24f900000) at HttpSM.cc:4783
apache#38 0x00000000005ab93c in HttpSM::do_api_callout (this=0x2ae24f900000) at HttpSM.cc:576
apache#39 0x00000000005a49b0 in HttpSM::set_next_state (this=0x2ae24f900000) at HttpSM.cc:6959
apache#40 0x00000000005a4941 in HttpSM::call_transact_and_set_next_state (this=0x2ae24f900000, f=0x0) at HttpSM.cc:6925
apache#41 0x0000000000595ff6 in HttpSM::state_hostdb_reverse_lookup (this=0x2ae24f900000, event=500, data=0x0) at HttpSM.cc:2313
apache#42 0x0000000000597228 in HttpSM::main_handler (this=0x2ae24f900000, event=500, data=0x0) at HttpSM.cc:2683
apache#43 0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f900000, event=500, data=0x0) at ../iocore/eventsystem/I_Continuation.h:146
apache#44 0x000000000067399e in HostDBContinuation::probeEvent (this=0x2ae24fb48000, event=1, e=0x2ae1bff5bf60) at HostDB.cc:2018
apache#45 0x000000000050a288 in Continuation::handleEvent (this=0x2ae24fb48000, event=1, data=0x2ae1bff5bf60) at ../iocore/eventsystem/I_Continuation.h:146
apache#46 0x000000000074758d in EThread::process_event (this=0x2ae1bf13a010, e=0x2ae1bff5bf60, calling_code=1) at UnixEThread.cc:142
apache#47 0x000000000074775e in EThread::execute (this=0x2ae1bf13a010) at UnixEThread.cc:193
apache#48 0x0000000000746820 in spawn_thread_internal (a=0x2a168d0) at Thread.cc:88
apache#49 0x00002ae1a6ab7df5 in start_thread () from /lib64/libpthread.so.0
apache#50 0x00002ae1a96d71ad in clone () from /lib64/libc.so.6
iake123 added a commit to iake123/trafficserver that referenced this pull request Mar 8, 2017
#0  0x00002b2b2524d5d7 in raise () from /lib64/libc.so.6
apache#1  0x00002b2b2524ecc8 in abort () from /lib64/libc.so.6
apache#2  0x00002b2b226fd5e8 in ink_die_die_die (retval=1) at ink_error.cc:43
apache#3  0x00002b2b226fd6c9 in ink_fatal_va(int, const char *, typedef __va_list_tag __va_list_tag *) (return_code=1, message_format=0x2b2b2271aee0 "%s:%d: failed assert `%s`", ap=0x2b2b32547ee8) at ink_error.cc:65
apache#4  0x00002b2b226fd76e in ink_fatal (return_code=1, message_format=0x2b2b2271aee0 "%s:%d: failed assert `%s`") at ink_error.cc:73
apache#5  0x00002b2b226fc4c0 in _ink_assert (expression=0x74e1b8 "sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS", file=0x74df7d "InkAPI.cc", line=3872) at ink_assert.cc:38
apache#6  0x00000000005116c7 in _TSReleaseAssert (text=0x74e1b8 "sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS", file=0x74df7d "InkAPI.cc", line=3872) at InkAPI.cc:413
apache#7  0x000000000051a04d in TSHttpHdrStatusGet (bufp=0x2b2b58280450, obj=0x2b2b6c10c088) at InkAPI.cc:3872
apache#8  0x00002b2b500025ce in TSInvalidUrlCache (pstArray=0x2ecf8a0, txnp=0x2b2b5b680e40) at cachestatus.cc:342
apache#9  0x00002b2b50002824 in status_hook (contp=0x2b2b226671e0, event=TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE, edata=0x2b2b5b680e40) at cachestatus.cc:388
apache#10 0x0000000000512557 in INKContInternal::handle_event (this=0x2b2b226671e0, event=60015, edata=0x2b2b5b680e40) at InkAPI.cc:1009
apache#11 0x000000000050a018 in Continuation::handleEvent (this=0x2b2b226671e0, event=60015, data=0x2b2b5b680e40) at ../iocore/eventsystem/I_Continuation.h:146
apache#12 0x0000000000512d71 in APIHook::invoke (this=0x2b2b226bdf40, event=60015, edata=0x2b2b5b680e40) at InkAPI.cc:1228
apache#13 0x0000000000593071 in HttpSM::state_api_callout (this=0x2b2b5b680e40, event=0, data=0x0) at HttpSM.cc:1469
apache#14 0x000000000059da01 in HttpSM::do_api_callout_internal (this=0x2b2b5b680e40) at HttpSM.cc:4833
apache#15 0x00000000005aaf2c in HttpSM::do_api_callout (this=0x2b2b5b680e40) at HttpSM.cc:576
apache#16 0x00000000005a3fa0 in HttpSM::set_next_state (this=0x2b2b5b680e40) at HttpSM.cc:6955
apache#17 0x00000000005a3f31 in HttpSM::call_transact_and_set_next_state (this=0x2b2b5b680e40, f=0x0) at HttpSM.cc:6921
apache#18 0x00000000005934af in HttpSM::handle_api_return (this=0x2b2b5b680e40) at HttpSM.cc:1611
apache#19 0x00000000005932e1 in HttpSM::state_api_callout (this=0x2b2b5b680e40, event=0, data=0x0) at HttpSM.cc:1543
apache#20 0x000000000059da01 in HttpSM::do_api_callout_internal (this=0x2b2b5b680e40) at HttpSM.cc:4833
apache#21 0x00000000005aaf2c in HttpSM::do_api_callout (this=0x2b2b5b680e40) at HttpSM.cc:576
apache#22 0x00000000005a3fa0 in HttpSM::set_next_state (this=0x2b2b5b680e40) at HttpSM.cc:6955
apache#23 0x00000000005a3f31 in HttpSM::call_transact_and_set_next_state (this=0x2b2b5b680e40, f=0x5b94b8 <HttpTransact::HandleCacheOpenRead(HttpTransact::State*)>) at HttpSM.cc:6921
apache#24 0x00000000005962f6 in HttpSM::state_cache_open_read (this=0x2b2b5b680e40, event=1102, data=0x2b2b52acf800) at HttpSM.cc:2612
apache#25 0x0000000000596838 in HttpSM::main_handler (this=0x2b2b5b680e40, event=1102, data=0x2b2b52acf800) at HttpSM.cc:2682
apache#26 0x000000000050a018 in Continuation::handleEvent (this=0x2b2b5b680e40, event=1102, data=0x2b2b52acf800) at ../iocore/eventsystem/I_Continuation.h:146
apache#27 0x000000000057ec8f in HttpCacheSM::state_cache_open_read (this=0x2b2b5b682648, event=1102, data=0x2b2b52acf800) at HttpCacheSM.cc:121
apache#28 0x000000000050a018 in Continuation::handleEvent (this=0x2b2b5b682648, event=1102, data=0x2b2b52acf800) at ../iocore/eventsystem/I_Continuation.h:146
apache#29 0x00000000006fcb5a in CacheVC::callcont (this=0x2b2b52acf800, event=1102) at P_CacheInternal.h:839
apache#30 0x00000000006fb300 in CacheVC::openReadStartEarliest (this=0x2b2b52acf800, event=3900, e=0x0) at CacheRead.cc:1020
apache#31 0x000000000050a018 in Continuation::handleEvent (this=0x2b2b52acf800, event=3900, data=0x0) at ../iocore/eventsystem/I_Continuation.h:146
apache#32 0x00000000006fb245 in CacheVC::openReadStartEarliest (this=0x2b2b52acf800, event=1182, e=0x2b2b226d40c0) at CacheRead.cc:1015
apache#33 0x00000000006f7ac5 in CacheVC::openReadFromWriterHead (this=0x2b2b52acf800, event=1182, e=0x2b2b226d40c0) at CacheRead.cc:342
apache#34 0x000000000050a018 in Continuation::handleEvent (this=0x2b2b52acf800, event=1182, data=0x2b2b226d40c0) at ../iocore/eventsystem/I_Continuation.h:146
apache#35 0x00000000006f7e3a in CacheVC::handleReadFromWriter (this=0x2b2b52acf800, event=1182, e=0x2b2b226d40c0) at CacheRead.cc:390
apache#36 0x000000000050a018 in Continuation::handleEvent (this=0x2b2b52acf800, event=1182, data=0x2b2b226d40c0) at ../iocore/eventsystem/I_Continuation.h:146
apache#37 0x0000000000745c7d in EThread::process_event (this=0x2b2b3234a010, e=0x2b2b226d40c0, calling_code=1182) at UnixEThread.cc:142
apache#38 0x0000000000745e4e in EThread::execute (this=0x2b2b3234a010) at UnixEThread.cc:193
apache#39 0x0000000000744f10 in spawn_thread_internal (a=0x2d84f30) at Thread.cc:88
apache#40 0x00002b2b22934df5 in start_thread () from /lib64/libpthread.so.0
apache#41 0x00002b2b2530e1ad in clone () from /lib64/libc.so.6
@scw00 scw00 mentioned this pull request Jun 16, 2017
persiaAziz-zz referenced this pull request in persiaAziz-zz/trafficserver Aug 4, 2017
Change Command to handle nullary actions.
@hankai17 hankai17 mentioned this pull request Nov 22, 2019
@traeak traeak mentioned this pull request May 9, 2023
bneradt added a commit that referenced this pull request Jun 20, 2023
Fix the `make check` failure with the following output by changing to
.gold which meets our license exclusion regex rules:

 Printing headers for text files without a valid license header...

=====================================================
== File: ./tests/gold_tests/records/gold/renamed_records.out
=====================================================
```
┌■ 8 Renamed records:
└┬──» #1 : proxy.config.output.logfile -> proxy.config.output.logfile.name
 ├──» #2 : proxy.config.exec_thread.autoconfig -> proxy.config.exec_thread.autoconfig.enabled
 ├──» #3 : proxy.config.hostdb -> proxy.config.hostdb.enabled
 ├──» #4 : proxy.config.tunnel.prewarm -> proxy.config.tunnel.prewarm.enabled
 ├──» #5 : proxy.config.ssl.origin_session_cache -> proxy.config.ssl.origin_session_cache.enabled
 ├──» #6 : proxy.config.ssl.session_cache -> proxy.config.ssl.session_cache.value
 ├──» #7 : proxy.config.ssl.TLSv1_3 -> proxy.config.ssl.TLSv1_3.enabled
 └──» #8 : proxy.config.ssl.client.TLSv1_3 -> proxy.config.ssl.client.TLSv1_3.enabled
```
bneradt added a commit that referenced this pull request Apr 23, 2024
ASan reports a leak concerning the ImageMagick library for plugins that
link against it. The leak is associated with the ImageMagick library
itself as commenting everything out from the ATS plugin, leaving a bare
TSPluginInit, still results in the leak report. This patch suppresses
the leak report for the library we do not own and for a leak that has
not been seen to be any larger than the initialization bytes associated
with the library.

Here's the leak report this suppression file addresses:

  =================================================================
  ==18362==ERROR: LeakSanitizer: detected memory leaks

  Direct leak of 96 byte(s) in 1 object(s) allocated from:
      #0 0xffff9cf05218 in calloc (/lib64/libasan.so.8+0xc5218) (BuildId: f2ca9839b9f761d63a77efcab29bcdd4b221f3a9)
      #1 0xffff8db8273c  (<unknown module>)
      #2 0xffff8db81108  (<unknown module>)
      #3 0xffff8db811d0  (<unknown module>)
      #4 0xffff9d53fee8 in call_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:74
      #5 0xffff9d53fee8 in call_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:26
      #6 0xffff9d540008 in _dl_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:121
      #7 0xffff9d53c68c in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:211
      #8 0xffff9d5461c0 in dl_open_worker /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-open.c:829
      #9 0xffff9d53c614 in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:237
      #10 0xffff9d5465fc in _dl_open /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-open.c:905
      #11 0xffff9bbfbef4 in dlopen_doit (/lib64/libc.so.6+0x8bef4) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #12 0xffff9d53c614 in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:237
      #13 0xffff9d53c73c in _dl_catch_error /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:256
      #14 0xffff9bbfb924 in _dlerror_run (/lib64/libc.so.6+0x8b924) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #15 0xffff9bbfbfec in dlopen@GLIBC_2.17 (/lib64/libc.so.6+0x8bfec) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #16 0xffff9cea7bc4 in __interceptor_dlopen.part.0 (/lib64/libasan.so.8+0x67bc4) (BuildId: f2ca9839b9f761d63a77efcab29bcdd4b221f3a9)
      #17 0xfdcc88 in plugin_dso_load(char const*, void*&, void*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/proxy/Plugin.cc:104
      #18 0x8bdab4 in try_loading_plugin /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1019
      #19 0x8be954 in verify_plugin_helper /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1078
      #20 0x8beac8 in cmd_verify_global_plugin /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1097
      #21 0x8bf354 in cmd_mode /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1270
      #22 0x8c57e0 in main /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:2122
      #23 0xffff9bba09d8 in __libc_start_call_main (/lib64/libc.so.6+0x309d8) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #24 0xffff9bba0aac in __libc_start_main@@GLIBC_2.34 (/lib64/libc.so.6+0x30aac) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #25 0x89346c in _start (/home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/build/src/traffic_server/traffic_server+0x89346c) (BuildId: d86c4e46554f342afeb32ab378ad7f99940d848a)

  Direct leak of 8 byte(s) in 1 object(s) allocated from:
      #0 0xffff9cf057b0 in malloc (/lib64/libasan.so.8+0xc57b0) (BuildId: f2ca9839b9f761d63a77efcab29bcdd4b221f3a9)
      #1 0xffff8db826f4  (<unknown module>)
      #2 0xffff8db96758  (<unknown module>)
      #3 0xffff8db811b0  (<unknown module>)
      #4 0xffff9d53fee8 in call_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:74
      #5 0xffff9d53fee8 in call_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:26
      #6 0xffff9d540008 in _dl_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:121
      #7 0xffff9d53c68c in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:211
      #8 0xffff9d5461c0 in dl_open_worker /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-open.c:829
      #9 0xffff9d53c614 in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:237
      #10 0xffff9d5465fc in _dl_open /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-open.c:905
      #11 0xffff9bbfbef4 in dlopen_doit (/lib64/libc.so.6+0x8bef4) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #12 0xffff9d53c614 in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:237
      #13 0xffff9d53c73c in _dl_catch_error /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:256
      #14 0xffff9bbfb924 in _dlerror_run (/lib64/libc.so.6+0x8b924) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #15 0xffff9bbfbfec in dlopen@GLIBC_2.17 (/lib64/libc.so.6+0x8bfec) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #16 0xffff9cea7bc4 in __interceptor_dlopen.part.0 (/lib64/libasan.so.8+0x67bc4) (BuildId: f2ca9839b9f761d63a77efcab29bcdd4b221f3a9)
      #17 0xfdcc88 in plugin_dso_load(char const*, void*&, void*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/proxy/Plugin.cc:104
      #18 0x8bdab4 in try_loading_plugin /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1019
      #19 0x8be954 in verify_plugin_helper /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1078
      #20 0x8beac8 in cmd_verify_global_plugin /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1097
      #21 0x8bf354 in cmd_mode /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1270
      #22 0x8c57e0 in main /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:2122
      #23 0xffff9bba09d8 in __libc_start_call_main (/lib64/libc.so.6+0x309d8) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #24 0xffff9bba0aac in __libc_start_main@@GLIBC_2.34 (/lib64/libc.so.6+0x30aac) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #25 0x89346c in _start (/home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/build/src/traffic_server/traffic_server+0x89346c) (BuildId: d86c4e46554f342afeb32ab378ad7f99940d848a)

  SUMMARY: AddressSanitizer: 104 byte(s) leaked in 2 allocation(s).
cmcfarlen pushed a commit that referenced this pull request Apr 26, 2024
ASan reports a leak concerning the ImageMagick library for plugins that
link against it. The leak is associated with the ImageMagick library
itself as commenting everything out from the ATS plugin, leaving a bare
TSPluginInit, still results in the leak report. This patch suppresses
the leak report for the library we do not own and for a leak that has
not been seen to be any larger than the initialization bytes associated
with the library.

Here's the leak report this suppression file addresses:

  =================================================================
  ==18362==ERROR: LeakSanitizer: detected memory leaks

  Direct leak of 96 byte(s) in 1 object(s) allocated from:
      #0 0xffff9cf05218 in calloc (/lib64/libasan.so.8+0xc5218) (BuildId: f2ca9839b9f761d63a77efcab29bcdd4b221f3a9)
      #1 0xffff8db8273c  (<unknown module>)
      #2 0xffff8db81108  (<unknown module>)
      #3 0xffff8db811d0  (<unknown module>)
      #4 0xffff9d53fee8 in call_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:74
      #5 0xffff9d53fee8 in call_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:26
      #6 0xffff9d540008 in _dl_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:121
      #7 0xffff9d53c68c in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:211
      #8 0xffff9d5461c0 in dl_open_worker /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-open.c:829
      #9 0xffff9d53c614 in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:237
      #10 0xffff9d5465fc in _dl_open /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-open.c:905
      #11 0xffff9bbfbef4 in dlopen_doit (/lib64/libc.so.6+0x8bef4) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #12 0xffff9d53c614 in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:237
      #13 0xffff9d53c73c in _dl_catch_error /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:256
      #14 0xffff9bbfb924 in _dlerror_run (/lib64/libc.so.6+0x8b924) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #15 0xffff9bbfbfec in dlopen@GLIBC_2.17 (/lib64/libc.so.6+0x8bfec) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #16 0xffff9cea7bc4 in __interceptor_dlopen.part.0 (/lib64/libasan.so.8+0x67bc4) (BuildId: f2ca9839b9f761d63a77efcab29bcdd4b221f3a9)
      #17 0xfdcc88 in plugin_dso_load(char const*, void*&, void*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/proxy/Plugin.cc:104
      #18 0x8bdab4 in try_loading_plugin /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1019
      #19 0x8be954 in verify_plugin_helper /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1078
      #20 0x8beac8 in cmd_verify_global_plugin /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1097
      #21 0x8bf354 in cmd_mode /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1270
      #22 0x8c57e0 in main /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:2122
      #23 0xffff9bba09d8 in __libc_start_call_main (/lib64/libc.so.6+0x309d8) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #24 0xffff9bba0aac in __libc_start_main@@GLIBC_2.34 (/lib64/libc.so.6+0x30aac) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #25 0x89346c in _start (/home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/build/src/traffic_server/traffic_server+0x89346c) (BuildId: d86c4e46554f342afeb32ab378ad7f99940d848a)

  Direct leak of 8 byte(s) in 1 object(s) allocated from:
      #0 0xffff9cf057b0 in malloc (/lib64/libasan.so.8+0xc57b0) (BuildId: f2ca9839b9f761d63a77efcab29bcdd4b221f3a9)
      #1 0xffff8db826f4  (<unknown module>)
      #2 0xffff8db96758  (<unknown module>)
      #3 0xffff8db811b0  (<unknown module>)
      #4 0xffff9d53fee8 in call_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:74
      #5 0xffff9d53fee8 in call_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:26
      #6 0xffff9d540008 in _dl_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:121
      #7 0xffff9d53c68c in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:211
      #8 0xffff9d5461c0 in dl_open_worker /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-open.c:829
      #9 0xffff9d53c614 in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:237
      #10 0xffff9d5465fc in _dl_open /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-open.c:905
      #11 0xffff9bbfbef4 in dlopen_doit (/lib64/libc.so.6+0x8bef4) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #12 0xffff9d53c614 in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:237
      #13 0xffff9d53c73c in _dl_catch_error /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:256
      #14 0xffff9bbfb924 in _dlerror_run (/lib64/libc.so.6+0x8b924) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #15 0xffff9bbfbfec in dlopen@GLIBC_2.17 (/lib64/libc.so.6+0x8bfec) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #16 0xffff9cea7bc4 in __interceptor_dlopen.part.0 (/lib64/libasan.so.8+0x67bc4) (BuildId: f2ca9839b9f761d63a77efcab29bcdd4b221f3a9)
      #17 0xfdcc88 in plugin_dso_load(char const*, void*&, void*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/proxy/Plugin.cc:104
      #18 0x8bdab4 in try_loading_plugin /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1019
      #19 0x8be954 in verify_plugin_helper /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1078
      #20 0x8beac8 in cmd_verify_global_plugin /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1097
      #21 0x8bf354 in cmd_mode /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1270
      #22 0x8c57e0 in main /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:2122
      #23 0xffff9bba09d8 in __libc_start_call_main (/lib64/libc.so.6+0x309d8) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #24 0xffff9bba0aac in __libc_start_main@@GLIBC_2.34 (/lib64/libc.so.6+0x30aac) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0)
      #25 0x89346c in _start (/home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/build/src/traffic_server/traffic_server+0x89346c) (BuildId: d86c4e46554f342afeb32ab378ad7f99940d848a)

  SUMMARY: AddressSanitizer: 104 byte(s) leaked in 2 allocation(s).

(cherry picked from commit a2a5cbe)
bneradt added a commit that referenced this pull request Jun 11, 2024
ASan reported a use-after-free in Do_upstream_rsp_body. This adds
clearing the Continuation's data of the State member upon destruction
because any use of it will be a use after free by definition.

```
=================================================================
==764533==ERROR: AddressSanitizer: heap-use-after-free on address 0x62d006090610 at pc 0x7f5702f4d0d2 bp 0x7f5833a15ca0 sp 0x7f5833a15c90
READ of size 8 at 0x62d006090610 thread T24 ([ET_NET 22])
    #0 0x7f5702f4d0d1 in operator() /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/plugins/experimental/txn_box/plugin/src/Machinery.cc:2579
    #1 0x7f5702f4d0d1 in _FUN /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/plugins/experimental/txn_box/plugin/src/Machinery.cc:2591
    #2 0x1251b2a in INKContInternal::handle_event(int, void*) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/api/InkContInternal.cc:153
    #3 0x116b304 in Continuation::handleEvent(int, void*) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/include/iocore/eventsystem/Continuation.h:228
    #4 0x116b304 in Continuation::handleEvent(int, void*) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/include/iocore/eventsystem/Continuation.h:224
    #5 0x116b304 in EThread::process_event(Event*, int) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/UnixEThread.cc:162
    #6 0x116d132 in EThread::process_queue(Queue<Event, Event::Link_link>*, int*, int*) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/UnixEThread.cc:197
    #7 0x116e07f in EThread::execute_regular() /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/UnixEThread.cc:255
    #8 0x116f7d8 in EThread::execute() /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/UnixEThread.cc:348
    #9 0x116f7d8 in EThread::execute() /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/UnixEThread.cc:326
    #10 0x11684e7 in spawn_thread_internal /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/Thread.cc:75
    #11 0x7f58493031c9 in start_thread (/lib64/libpthread.so.0+0x81c9) (BuildId: e08f397aa6b7de799209cd5bc35aabe0496678f1)
    #12 0x7f5848f6fe72 in __clone (/lib64/libc.so.6+0x39e72) (BuildId: 574d156ec0c828321a4038189fc1cfe74d0bb2ec)

0x62d006090610 is located 528 bytes inside of 32752-byte region [0x62d006090400,0x62d0060983f0)
freed by thread T24 ([ET_NET 22]) here:
    #0 0x7f584aa05170 in __interceptor_free.part.0 (/lib64/libasan.so.8+0xdc170) (BuildId: 71dbf393857c775be459ab5583ba7b5fcbd9c884)
    #1 0x7f5849b71665 in swoc::_1_5_12::MemArena::Block::operator delete(void*) _sdk/release_posix-x86_64_gcc_12/libswoc_1.5.12/include/swoc/MemArena.h:646
    #2 0x7f5849b71665 in swoc::_1_5_12::MemArena::~MemArena() _scm/libswoc/code/src/MemArena.cc:276

previously allocated by thread T24 ([ET_NET 22]) here:
    #0 0x7f584aa0662f in malloc (/lib64/libasan.so.8+0xdd62f) (BuildId: 71dbf393857c775be459ab5583ba7b5fcbd9c884)
    #1 0x7f5849b718ab in swoc::_1_5_12::MemArena::make_block(unsigned long) _scm/libswoc/code/src/MemArena.cc:99

Thread T24 ([ET_NET 22]) created by T0 ([TS_MAIN]) here:
    #0 0x7f584a971ea5 in __interceptor_pthread_create (/lib64/libasan.so.8+0x48ea5) (BuildId: 71dbf393857c775be459ab5583ba7b5fcbd9c884)
    #1 0x1168c0c in ink_thread_create /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/include/tscore/ink_thread.h:129
    #2 0x1168c0c in Thread::start(char const*, void*, unsigned long, std::function<void ()> const&) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/Thread.cc:92
    #3 0x117a904 in EventProcessor::spawn_event_threads(int, int, unsigned long) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/UnixEventProcessor.cc:467
    #4 0x117b75a in EventProcessor::start(int, unsigned long) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/UnixEventProcessor.cc:548
    #5 0x56dc74 in main /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/traffic_server/traffic_server.cc:2104
    #6 0x7f5848f70d84 in __libc_start_main (/lib64/libc.so.6+0x3ad84) (BuildId: 574d156ec0c828321a4038189fc1cfe74d0bb2ec)

SUMMARY: AddressSanitizer: heap-use-after-free /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/plugins/experimental/txn_box/plugin/src/Machinery.cc:2579 in operator()
Shadow bytes around the buggy address:
  0x62d006090380: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x62d006090400: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090480: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090500: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090580: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x62d006090600: fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090680: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090700: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090780: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090800: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090880: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==764533==ABORTING
```
cmcfarlen pushed a commit that referenced this pull request Jun 12, 2024
ASan reported a use-after-free in Do_upstream_rsp_body. This adds
clearing the Continuation's data of the State member upon destruction
because any use of it will be a use after free by definition.

```
=================================================================
==764533==ERROR: AddressSanitizer: heap-use-after-free on address 0x62d006090610 at pc 0x7f5702f4d0d2 bp 0x7f5833a15ca0 sp 0x7f5833a15c90
READ of size 8 at 0x62d006090610 thread T24 ([ET_NET 22])
    #0 0x7f5702f4d0d1 in operator() /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/plugins/experimental/txn_box/plugin/src/Machinery.cc:2579
    #1 0x7f5702f4d0d1 in _FUN /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/plugins/experimental/txn_box/plugin/src/Machinery.cc:2591
    #2 0x1251b2a in INKContInternal::handle_event(int, void*) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/api/InkContInternal.cc:153
    #3 0x116b304 in Continuation::handleEvent(int, void*) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/include/iocore/eventsystem/Continuation.h:228
    #4 0x116b304 in Continuation::handleEvent(int, void*) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/include/iocore/eventsystem/Continuation.h:224
    #5 0x116b304 in EThread::process_event(Event*, int) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/UnixEThread.cc:162
    #6 0x116d132 in EThread::process_queue(Queue<Event, Event::Link_link>*, int*, int*) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/UnixEThread.cc:197
    #7 0x116e07f in EThread::execute_regular() /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/UnixEThread.cc:255
    #8 0x116f7d8 in EThread::execute() /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/UnixEThread.cc:348
    #9 0x116f7d8 in EThread::execute() /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/UnixEThread.cc:326
    #10 0x11684e7 in spawn_thread_internal /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/Thread.cc:75
    #11 0x7f58493031c9 in start_thread (/lib64/libpthread.so.0+0x81c9) (BuildId: e08f397aa6b7de799209cd5bc35aabe0496678f1)
    #12 0x7f5848f6fe72 in __clone (/lib64/libc.so.6+0x39e72) (BuildId: 574d156ec0c828321a4038189fc1cfe74d0bb2ec)

0x62d006090610 is located 528 bytes inside of 32752-byte region [0x62d006090400,0x62d0060983f0)
freed by thread T24 ([ET_NET 22]) here:
    #0 0x7f584aa05170 in __interceptor_free.part.0 (/lib64/libasan.so.8+0xdc170) (BuildId: 71dbf393857c775be459ab5583ba7b5fcbd9c884)
    #1 0x7f5849b71665 in swoc::_1_5_12::MemArena::Block::operator delete(void*) _sdk/release_posix-x86_64_gcc_12/libswoc_1.5.12/include/swoc/MemArena.h:646
    #2 0x7f5849b71665 in swoc::_1_5_12::MemArena::~MemArena() _scm/libswoc/code/src/MemArena.cc:276

previously allocated by thread T24 ([ET_NET 22]) here:
    #0 0x7f584aa0662f in malloc (/lib64/libasan.so.8+0xdd62f) (BuildId: 71dbf393857c775be459ab5583ba7b5fcbd9c884)
    #1 0x7f5849b718ab in swoc::_1_5_12::MemArena::make_block(unsigned long) _scm/libswoc/code/src/MemArena.cc:99

Thread T24 ([ET_NET 22]) created by T0 ([TS_MAIN]) here:
    #0 0x7f584a971ea5 in __interceptor_pthread_create (/lib64/libasan.so.8+0x48ea5) (BuildId: 71dbf393857c775be459ab5583ba7b5fcbd9c884)
    #1 0x1168c0c in ink_thread_create /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/include/tscore/ink_thread.h:129
    #2 0x1168c0c in Thread::start(char const*, void*, unsigned long, std::function<void ()> const&) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/Thread.cc:92
    #3 0x117a904 in EventProcessor::spawn_event_threads(int, int, unsigned long) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/UnixEventProcessor.cc:467
    #4 0x117b75a in EventProcessor::start(int, unsigned long) /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/iocore/eventsystem/UnixEventProcessor.cc:548
    #5 0x56dc74 in main /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/src/traffic_server/traffic_server.cc:2104
    #6 0x7f5848f70d84 in __libc_start_main (/lib64/libc.so.6+0x3ad84) (BuildId: 574d156ec0c828321a4038189fc1cfe74d0bb2ec)

SUMMARY: AddressSanitizer: heap-use-after-free /sd/workspace/src/git.ouryahoo.com/Edge/build/_scm/trafficserver10.0_asan/plugins/experimental/txn_box/plugin/src/Machinery.cc:2579 in operator()
Shadow bytes around the buggy address:
  0x62d006090380: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x62d006090400: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090480: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090500: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090580: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x62d006090600: fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090680: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090700: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090780: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090800: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x62d006090880: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==764533==ABORTING
```

(cherry picked from commit 69e1c94)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants