[ https://issues.apache.org/jira/browse/TS-4840?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Peach resolved TS-4840. ----------------------------- Resolution: Fixed > Crash when reattaching to C++ API Stats. > ---------------------------------------- > > Key: TS-4840 > URL: https://issues.apache.org/jira/browse/TS-4840 > Project: Traffic Server > Issue Type: Bug > Components: CPP API, Metrics > Affects Versions: 7.0.0 > Reporter: James Peach > Assignee: James Peach > Priority: Blocker > Fix For: 7.1.0 > > Time Spent: 50m > Remaining Estimate: 0h > > {noformat} > Program received signal SIGSEGV, Segmentation fault. > 0x00000000007f733c in ink_atomic_swap<long> (mem=0x0, value=1) at > ../../lib/ts/ink_atomic.h:76 > 76 return __sync_lock_test_and_set(mem, value); > (gdb) where > #0 0x00000000007f733c in ink_atomic_swap<long> (mem=0x0, value=1) at > ../../lib/ts/ink_atomic.h:76 > #1 0x00000000007f6e56 in RecSetGlobalRawStatSum (rsb=0x2f16290, id=6, > data=1) at RecRawStats.cc:482 > #2 0x00000000005372c9 in TSStatIntSet (the_stat=6, value=1) at InkAPI.cc:6944 > #3 0x00002ae6d3398bb1 in atscppapi::Stat::set (this=0x2ae6d37c2890 <...>, > value=1) at Stat.cc:78 > #4 0x00002ae6d35bb826 in TSPluginInit (argc=1, argv=0x7ffd0613bfe0) at > /home/jpeach/n/....cc:753 > #5 0x00000000005550e5 in plugin_load (argc=1, argv=0x7ffd0613bfe0, > validateOnly=false) at Plugin.cc:137 > {noformat} > The change in TS-4793 regressed the C++ API Stat object. What happens is that > if you restart {{traffic_server}} without {{traffic_manager}}, the > {{TSStatFindName}} call finds the metric in the records hash table, but > {{traffic_server}} has not set up the RSB entry so actually incrementing it > crashes. > If you call {{TSStatCreate}} twice for the same metric, you will end up with > multiple RSB slots being consumed which is almost as bad. -- This message was sent by Atlassian JIRA (v6.3.4#6332)