Skip to content

Commit d4ba34e

Browse files
authored
fix ubsan complain (#27872)
1 parent d797251 commit d4ba34e

File tree

2 files changed

+8
-11
lines changed

2 files changed

+8
-11
lines changed

ydb/core/util/cpuinfo.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,16 +105,13 @@ std::vector<NKikimr::TSystemThreadsMonitor::TSystemThreadPoolInfo> NKikimr::TSys
105105
info.States.emplace_back(c, states[c]);
106106
}
107107
}
108-
if (passedSeconds != 0) {
108+
if (passedSeconds > 0) {
109109
info.MajorPageFaults = double(majorPageFaults) / passedSeconds;
110110
info.MinorPageFaults = double(minorPageFaults) / passedSeconds;
111+
}
112+
if (ticks > 0 && info.Threads > 0) {
111113
info.SystemUsage = double(systemTime) / ticks / info.Threads;
112114
info.UserUsage = double(userTime) / ticks / info.Threads;
113-
} else {
114-
info.MajorPageFaults = 0;
115-
info.MinorPageFaults = 0;
116-
info.SystemUsage = 0;
117-
info.UserUsage = 0;
118115
}
119116
}
120117
UpdateTime = now;

ydb/core/util/cpuinfo.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ class TSystemThreadsMonitor {
1414
public:
1515
struct TSystemThreadPoolInfo { // returned data per refresh per second
1616
TString Name;
17-
ui32 Threads;
18-
float SystemUsage;
19-
float UserUsage;
20-
ui32 MajorPageFaults;
21-
ui32 MinorPageFaults;
17+
ui32 Threads = 0;
18+
float SystemUsage = 0;
19+
float UserUsage = 0;
20+
ui32 MajorPageFaults = 0;
21+
ui32 MinorPageFaults = 0;
2222
std::vector<std::pair<char, ui32>> States;
2323
};
2424

0 commit comments

Comments
 (0)