-
Notifications
You must be signed in to change notification settings - Fork 795
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
When receiving a SIGTERM wait() for children #1
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rework traffic_cop's signal handling to register a handler for SIGTERM. In this handler we now send SIGTERM to all children and then wait() for them. This should allow us to handle restarts in upstart more gracefully. Finally, we simplify the handling on Linux by no longer parsing /proc: It's not necessary. Linux is a POSIX system too.
After ripping it out from the code, remove it the Linux-specific, /proc parsing ink_killall implementation.
asfgit
pushed a commit
that referenced
this pull request
Oct 21, 2013
we have disable the permanent storage on the interim cache device due to consistence. that is why I point out this is #1 problem of the current implement in https://blog.zymlinux.net/index.php/archives/555 as: loss data if the server process crash after this patch, we can declare the interim cache stable
SolidWallOfCode
referenced
this pull request
in SolidWallOfCode/trafficserver
May 7, 2016
update changes from main fork
This was referenced Oct 26, 2016
SolidWallOfCode
added a commit
that referenced
this pull request
Nov 2, 2016
…led from remap. (#1) Merged
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
gtenev
pushed a commit
that referenced
this pull request
May 8, 2017
Problem: CID 1021924 (#1 of 1): Missing break in switch (MISSING_BREAK) unterminated_case: The case for value TS_EVENT_VCONN_WRITE_READY is not terminated by a 'break' statement. Solution: It was intended not to have a break (not a bug), so refactored the code to make coverity happy.
gtenev
pushed a commit
that referenced
this pull request
May 8, 2017
Problem: CID 1021925 (#1 of 1): Missing break in switch (MISSING_BREAK) unterminated_case: The case for value TS_EVENT_VCONN_WRITE_COMPLETE is not terminated by a 'break' statement. Solution: It was intended not to have a break (not a bug), so refactored the code to make coverity happy.
gtenev
pushed a commit
that referenced
this pull request
May 8, 2017
Problem: CID 1022060 (#1 of 1): Unchecked return value (CHECKED_RETURN) Solution: Added a check for the return value.
Closed
jplevyak
pushed a commit
to jplevyak/trafficserver
that referenced
this pull request
Nov 26, 2020
Closed
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
pushed a commit
that referenced
this pull request
Oct 16, 2023
CID 1508856: Logically dead code #10432 In access_control.cc: ```cpp 197 size_t equalsign = kvp.find(_tokenConfig.kvDelimiter); cond_cannot_single: Condition 18446744073709551615UL == equalsign, taking false branch. Now the value of equalsign cannot be equal to -1. 198 if (kvp.npos == equalsign) { 199 ERROR_OUT("invalid key-value-pair, missing key-value delimiter"); 200 return _state = INVALID_SYNTAX; 201 } 202 StringView key = kvp.substr(0, equalsign); cannot_single: At condition equalsign != 18446744073709551615UL, the value of equalsign cannot be equal to -1. dead_error_condition: The condition equalsign != 18446744073709551615UL must be true. CID 1508856 (#1 of 1): Logically dead code (DEADCODE) dead_error_line: Execution cannot reach this statement: <temporary>.basic_string_vi.... 203 StringView value = equalsign != kvp.npos ? kvp.substr(equalsign + 1) : ""; ```
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When traffic_cop receives a SIGTERM it does not wait for it's children to die
When running under upstart for instance this can lead to a new traffic_cop
instance being started while the old instance's traffic_manager and _server
are still up and running.