[
https://issues.apache.org/jira/browse/TS-2144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13764941#comment-13764941
]
Leif Hedstrom commented on TS-2144:
-----------------------------------
So, I looked into this, and its a race condition between the sync thread and
the LibRecords core. Basically, lib records is not properly initialized when
(sometimes) the sync kicks in. Now, I'm not sure why we even start the sync
threads in a -Cclear invocation, I can't think of any good reason.
David: Can you test the patch below? Also, make sure stats and configs etc.
loads properly with it :).
{code}
diff --git a/proxy/Main.cc b/proxy/Main.cc
index 4a32593..1271a8c 100644
--- a/proxy/Main.cc
+++ b/proxy/Main.cc
@@ -1518,8 +1518,6 @@ main(int /* argc ATS_UNUSED */, char **argv)
}
remapProcessor.start(num_remap_threads, stacksize);
- RecProcessStart(stacksize);
-
init_signals2();
// log initialization moved down
@@ -1534,6 +1532,7 @@ main(int /* argc ATS_UNUSED */, char **argv)
_exit(1); // in error
}
} else {
+ RecProcessStart(stacksize);
initCacheControl();
initCongestionControl();
IpAllow::startup();
{code}
> traffic_server crashes when clearing cache
> ------------------------------------------
>
> Key: TS-2144
> URL: https://issues.apache.org/jira/browse/TS-2144
> Project: Traffic Server
> Issue Type: Bug
> Components: Cache
> Reporter: David Carlin
> Priority: Minor
> Fix For: 5.0.0
>
>
> I've been clearing the cache on a few non production hosts more often than
> usual to test some config/plugin changes. Running "traffic_server -Cclear"
> after stopping ATS occasionally results in the following. Running it again
> will clear the cache.
> {noformat}
> # traffic_server -Cclear
> [TrafficServer] using root directory '/home/y'
> *** glibc detected *** traffic_server: realloc(): invalid pointer:
> 0x00007f593f432010 ***
> ======= Backtrace: =========
> /lib64/libc.so.6[0x3895e753c6]
> /lib64/libc.so.6(realloc+0x2e2)[0x3895e7b182]
> /home/y/lib64/libtsutil.so.3(ats_realloc+0x9)[0x7f5942d4df19]
> traffic_server(_Z25RecMessageMarshal_ReallocP13RecMessageHdrPK9RecRecord+0x97)[0x699177]
> traffic_server(_Z17send_push_messagev+0x8b)[0x69599b]
> traffic_server(_ZN9sync_cont4syncEiP5Event+0x3b)[0x69aceb]
> traffic_server(_ZN7EThread7executeEv+0xc90)[0x6a4100]
> traffic_server[0x6a1dca]
> /lib64/libpthread.so.0(+0x3896207851)[0x7f5942554851]
> /lib64/libc.so.6(clone+0x6d)[0x3895ee76dd]
> ======= Memory map: ========
> 00400000-00750000 r-xp 00000000 fd:00 2795238
> /home/y/bin64/traffic_server
> 0094f000-00963000 rw-p 0034f000 fd:00 2795238
> /home/y/bin64/traffic_server
> 00963000-00f5b000 rw-p 00000000 00:00 0
> 012c6000-013e7000 rw-p 00000000 00:00 0
> [heap]
> 3036a00000-3036a15000 r-xp 00000000 fd:01 238064
> /lib64/libz.so.1.2.3
> 3036a15000-3036c14000 ---p 00015000 fd:01 238064
> /lib64/libz.so.1.2.3
> 3036c14000-3036c15000 r--p 00014000 fd:01 238064
> /lib64/libz.so.1.2.3
> 3036c15000-3036c16000 rw-p 00015000 fd:01 238064
> /lib64/libz.so.1.2.3
> 3036e00000-3036f73000 r-xp 00000000 fd:01 53888
> /usr/lib64/libcrypto.so.1.0.0
> 3036f73000-3037173000 ---p 00173000 fd:01 53888
> /usr/lib64/libcrypto.so.1.0.0
> 3037173000-303718c000 r--p 00173000 fd:01 53888
> /usr/lib64/libcrypto.so.1.0.0
> 303718c000-3037196000 rw-p 0018c000 fd:01 53888
> /usr/lib64/libcrypto.so.1.0.0
> 3037196000-303719a000 rw-p 00000000 00:00 0
> 3037600000-3037747000 r-xp 00000000 fd:01 53581
> /usr/lib64/libxml2.so.2.7.6
> 3037747000-3037946000 ---p 00147000 fd:01 53581
> /usr/lib64/libxml2.so.2.7.6
> 3037946000-3037950000 rw-p 00146000 fd:01 53581
> /usr/lib64/libxml2.so.2.7.6
> 3037950000-3037951000 rw-p 00000000 00:00 0
> 3037a00000-3037a27000 r-xp 00000000 fd:01 49878
> /usr/lib64/libhwloc.so.5.1.0
> 3037a27000-3037c27000 ---p 00027000 fd:01 49878
> /usr/lib64/libhwloc.so.5.1.0
> 3037c27000-3037c28000 rw-p 00027000 fd:01 49878
> /usr/lib64/libhwloc.so.5.1.0
> 3895600000-3895620000 r-xp 00000000 fd:01 238023
> /lib64/ld-2.12.so
> 389581f000-3895820000 r--p 0001f000 fd:01 238023
> /lib64/ld-2.12.so
> 3895820000-3895821000 rw-p 00020000 fd:01 238023
> /lib64/ld-2.12.so
> 3895821000-3895822000 rw-p 00000000 00:00 0
> 3895a00000-3895a02000 r-xp 00000000 fd:01 238026
> /lib64/libdl-2.12.so
> 3895a02000-3895c02000 ---p 00002000 fd:01 238026
> /lib64/libdl-2.12.so
> 3895c02000-3895c03000 r--p 00002000 fd:01 238026
> /lib64/libdl-2.12.so
> 3895c03000-3895c04000 rw-p 00003000 fd:01 238026
> /lib64/libdl-2.12.so
> 3895e00000-3895f89000 r-xp 00000000 fd:01 238024
> /lib64/libc-2.12.so
> 3895f89000-3896188000 ---p 00189000 fd:01 238024
> /lib64/libc-2.12.so
> 3896188000-389618c000 r--p 00188000 fd:01 238024
> /lib64/libc-2.12.so
> 389618c000-389618d000 rw-p 0018c000 fd:01 238024
> /lib64/libc-2.12.so
> 389618d000-3896192000 rw-p 00000000 00:00 0
> 3896200000-3896319000 r-xp 00000000 fd:01 53667
> /usr/lib64/libtcl8.5.so
> 3896319000-3896519000 ---p 00119000 fd:01 53667
> /usr/lib64/libtcl8.5.so
> 3896519000-3896529000 rw-p 00119000 fd:01 53667
> /usr/lib64/libtcl8.5.so
> 3896a00000-3896a83000 r-xp 00000000 fd:01 238032
> /lib64/libm-2.12.so
> 3896a83000-3896c82000 ---p 00083000 fd:01 238032
> /lib64/libm-2.12.so
> 3896c82000-3896c83000 r--p 00082000 fd:01 238032
> /lib64/libm-2.12.so
> 3896c83000-3896c84000 rw-p 00083000 fd:01 238032
> /lib64/libm-2.12.so
> 3896e00000-3896e07000 r-xp 00000000 fd:01 238034
> /lib64/librt-2.12.so
> 3896e07000-3897006000 ---p 00007000 fd:01 238034
> /lib64/librt-2.12.so
> 3897006000-3897007000 r--p 00006000 fd:01 238034
> /lib64/librt-2.12.so
> 3897007000-3897008000 rw-p 00007000 fd:01 238034
> /lib64/librt-2.12.so
> 3897200000-3897208000 r-xp 00000000 fd:01 53256
> /usr/lib64/libnuma.so.1
> 3897208000-3897408000 ---p 00008000 fd:01 53256
> /usr/lib64/libnuma.so.1
> 3897408000-3897409000 rw-p 00008000 fd:01 53256
> /usr/lib64/libnuma.so.1
> 3897600000-389762c000 r-xp 00000000 fd:01 237761
> /lib64/libpcre.so.0.0.1
> 389762c000-389782b000 ---p 0002c000 fd:01 237761
> /lib64/libpcre.so.0.0.1
> 389782b000-389782c000 rw-p 0002b000 fd:01 237761
> /lib64/libpcre.so.0.0.1
> 3897a00000-3897a16000 r-xp 00000000 fd:01 237841
> /lib64/libgcc_s-4.4.6-20120305.so.1
> 3897a16000-3897c15000 ---p 00016000 fd:01 237841
> /lib64/libgcc_s-4.4.6-20120305.so.1
> 3897c15000-3897c16000 rw-p 00015000 fd:01 237841
> /lib64/libgcc_s-4.4.6-20120305.so.1
> 3898200000-3898216000 r-xp 00000000 fd:01 237711
> /lib64/libresolv-2.12.so
> 3898216000-3898416000 ---p 00016000 fd:01 237711
> /lib64/libresolv-2.12.so
> 3898416000-3898417000 r--p 00016000 fd:01 237711
> /lib64/libresolv-2.12.so
> 3898417000-3898418000 rw-p 00017000 fd:01 237711
> /lib64/libresolv-2.12.so
> 3898418000-389841a000 rw-p 00000000 00:00 0
> 3898600000-38986e8000 r-xp 00000000 fd:01 50370
> /usr/lib64/libstdc++.so.6.0.13
> 38986e8000-38988e8000 ---p 000e8000 fd:01 50370
> /usr/lib64/libstdc++.so.6.0.13
> 38988e8000-38988ef000 r--p 000e8000 fd:01 50370
> /usr/lib64/libstdc++.so.6.0.13
> 38988ef000-38988f1000 rw-p 000ef000 fd:01 50370
> /usr/lib64/libstdc++.so.6.0.13
> 38988f1000-3898906000 rw-p 00000000 00:00 0
> 3898a00000-3898a5d000 r-xp 00000000 fd:01 238027
> /lib64/libfreebl3.so
> 3898a5d000-3898c5c000 ---p 0005d000 fd:01 238027
> /lib64/libfreebl3.soAborted (core dumped)
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira