You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2019/03/01 18:10:00 UTC

[jira] [Commented] (IMPALA-8264) system-state-info.cc:102] Check failed: total_tics > 0 (-4294962910 vs. 0)

    [ https://issues.apache.org/jira/browse/IMPALA-8264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16781947#comment-16781947 ] 

ASF subversion and git services commented on IMPALA-8264:
---------------------------------------------------------

Commit 74dba7a52da6dc99d450e3a7d789ceac3197bdfb in impala's branch refs/heads/master from Lars Volker
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=74dba7a ]

IMPALA-8264: Fix overflow in SystemStateInfo::ComputeCpuRatios

We pass '0' as the initial value to std::accumulate(), which causes it
to use int32_t for its internal state, which then overflows when values
read from /proc/stat get too large. The fix is to initialize it with
'0L' to make it use int64_t.

Change-Id: I46dfb7264e85a3da492e383caaa6853d8ef95f35
Reviewed-on: http://gerrit.cloudera.org:8080/12638
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>


> system-state-info.cc:102] Check failed: total_tics > 0 (-4294962910 vs. 0)
> --------------------------------------------------------------------------
>
>                 Key: IMPALA-8264
>                 URL: https://issues.apache.org/jira/browse/IMPALA-8264
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>    Affects Versions: Impala 3.2.0
>            Reporter: Michael Ho
>            Assignee: Lars Volker
>            Priority: Critical
>
> When running 64-streams concurrent TPC-DS in debug builds at commit 681b256627e5e569778d4996bbdf530e30c528eb in a 140 node cluster, hit the following DCHECK after close to 14 hours of running.
> {noformat}
> F0228 00:42:35.132514 139036 system-state-info.cc:102] Check failed: total_tics > 0 (-4294962910 vs. 0)
> {noformat}
> {noformat}
> void SystemStateInfo::ComputeCpuRatios() {
>   const CpuValues& cur = cpu_values_[cur_val_idx_];
>   const CpuValues& old = cpu_values_[1 - cur_val_idx_];
>   // Sum up all counters
>   int64_t cur_sum = accumulate(cur.begin(), cur.end(), 0);
>   int64_t old_sum = accumulate(old.begin(), old.end(), 0);
>   int64_t total_tics = cur_sum - old_sum;
>   // If less than 1/USER_HZ time has time has passed for any of the counters, the ratio is
>   // zero (to avoid dividing by zero).
>   if (total_tics == 0) {
>     memset(&cpu_ratios_, 0, sizeof(cpu_ratios_));
>     return;
>   }
>   DCHECK_GT(total_tics, 0); <<----
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org