New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 796267 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

LeakSanitizer: detected memory leaks in chromeos-base/chromeos-config-tools

Project Member Reported by rahulchaudhry@chromium.org, Dec 19 2017

Issue description

UnitTest is failing for chromeos-base/chromeos-config-tools on the ASAN builder: https://uberchromegw.corp.google.com/i/chromiumos/builders/amd64-generic-asan/builds/22453

hromeos-config-tools-0.0.2-r852:  * ==17==ERROR: LeakSanitizer: detected memory leaks
chromeos-config-tools-0.0.2-r852:  * 
chromeos-config-tools-0.0.2-r852:  * Direct leak of 16 byte(s) in 1 object(s) allocated from:
chromeos-config-tools-0.0.2-r852:  *     #0 0x7ff52cb8c812  (/var/cache/portage/chromeos-base/chromeos-config-tools/out/Default/cros_config_unittest+0xf6812)
chromeos-config-tools-0.0.2-r852:  *     #1 0x7ff52ca74c1a  (/var/cache/portage/chromeos-base/chromeos-config-tools/out/Default/lib/libcros_config.so+0x2bc1a)
chromeos-config-tools-0.0.2-r852:  *     #2 0x7ff52ca7550f  (/var/cache/portage/chromeos-base/chromeos-config-tools/out/Default/lib/libcros_config.so+0x2c50f)
chromeos-config-tools-0.0.2-r852:  *     #3 0x7ff52ca75ee0  (/var/cache/portage/chromeos-base/chromeos-config-tools/out/Default/lib/libcros_config.so+0x2cee0)
chromeos-config-tools-0.0.2-r852:  *     #4 0x7ff52ca64846  (/var/cache/portage/chromeos-base/chromeos-config-tools/out/Default/lib/libcros_config.so+0x1b846)
chromeos-config-tools-0.0.2-r852:  *     #5 0x7ff52ca6840e  (/var/cache/portage/chromeos-base/chromeos-config-tools/out/Default/lib/libcros_config.so+0x1f40e)
chromeos-config-tools-0.0.2-r852:  *     #6 0x7ff52cb8fc33  (/var/cache/portage/chromeos-base/chromeos-config-tools/out/Default/cros_config_unittest+0xf9c33)
chromeos-config-tools-0.0.2-r852:  *     #7 0x7ff52ca21a48  (/usr/lib64/libgtest.so.0+0x47a48)
chromeos-config-tools-0.0.2-r852:  *     #8 0x7ff52ca00e08  (/usr/lib64/libgtest.so.0+0x26e08)
chromeos-config-tools-0.0.2-r852:  *     #9 0x7ff52ca0237c  (/usr/lib64/libgtest.so.0+0x2837c)
chromeos-config-tools-0.0.2-r852:  *     #10 0x7ff52ca02bb6  (/usr/lib64/libgtest.so.0+0x28bb6)
chromeos-config-tools-0.0.2-r852:  *     #11 0x7ff52ca0d1c6  (/usr/lib64/libgtest.so.0+0x331c6)
chromeos-config-tools-0.0.2-r852:  *     #12 0x7ff52ca227b8  (/usr/lib64/libgtest.so.0+0x487b8)
chromeos-config-tools-0.0.2-r852:  *     #13 0x7ff52ca0ce51  (/usr/lib64/libgtest.so.0+0x32e51)
chromeos-config-tools-0.0.2-r852:  *     #14 0x7ff52cba31fe  (/var/cache/portage/chromeos-base/chromeos-config-tools/out/Default/cros_config_unittest+0x10d1fe)
chromeos-config-tools-0.0.2-r852:  *     #15 0x7ff52b73f735  (/lib64/libc.so.6+0x20735)
chromeos-config-tools-0.0.2-r852:  *     #16 0x7ff52cabf448  (/var/cache/portage/chromeos-base/chromeos-config-tools/out/Default/cros_config_unittest+0x29448)
...

chromeos-config-tools-0.0.2-r852:  * SUMMARY: AddressSanitizer: 312 byte(s) leaked in 26 allocation(s).

 
Cc: yunlian@chromium.org cmt...@chromium.org llozano@chromium.org manojgupta@chromium.org
Cc: laszio@chromium.org
are you sure this is appropriate label? (can be challenging to know that)
can you find out a specific owner? maybe look for an owners file or check the logs?

Owner: sjg@chromium.org
I was using https://bugs.chromium.org/p/chromium/issues/detail?id=795107 as template, which has this label.

Looking at the logs, https://chromium-review.googlesource.com/774904 matches the timing of when this started. The other CLs either don't match the timing, or don't change any C/C++ files.
Symbolized backtrace is 
* Direct leak of 11 byte(s) in 1 object(s) allocated from:
 *     #0 0x55fb871b0812 in operator new[](unsigned long) ??:0:0
 *     #1 0x7f5fd179bc1a in brillo::CrosConfig::FindAndCopyTable(brillo::CrosConfig::SmbiosTypes, char const*, unsigned int, brillo::SmbiosTable*) /build/amd64-generic/var/cache/portage/chromeos-base/chromeos-config-tools/out/Default/../../../../../../../tmp/portage/chromeos-base/chromeos-config-tools-0.0.2-r859/work/chromeos-config-tools-0.0.2/chromeos-config/libcros_config/identity.cc:189:24
 *     #2 0x7f5fd179c50f in brillo::CrosConfig::GetSystemTable(base::FilePath const&, brillo::SmbiosTable*) /build/amd64-generic/var/cache/portage/chromeos-base/chromeos-config-tools/out/Default/../../../../../../../tmp/portage/chromeos-base/chromeos-config-tools-0.0.2-r859/work/chromeos-config-tools-0.0.2/chromeos-config/libcros_config/identity.cc:220:13

Issue 797788 has been merged into this issue.
Status: Assigned (was: Untriaged)
Project Member

Comment 9 by bugdroid1@chromium.org, Dec 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/7da1d3f829c717aae13996e2d5fabf01912255b6

commit 7da1d3f829c717aae13996e2d5fabf01912255b6
Author: Yunlian Jiang <yunlian@chromium.org>
Date: Thu Dec 28 02:10:43 2017

chromeos-config: fix a memory leak.

This fix a memory leak in SmbiosTable. It uses std:string to
replace const char* to avoid explicit memory allocation.

BUG= chromium:796267 
TEST=FEATURES="test" emerge-amd64-generic chromeos-config-tools

Change-Id: I289936404fe17a139dc066406d4be143c9bba5b3

[modify] https://crrev.com/7da1d3f829c717aae13996e2d5fabf01912255b6/chromeos-config/libcros_config/identity.cc

Comment 10 by sjg@chromium.org, Jan 5 2018

Status: Fixed (was: Assigned)
https://chromium-review.googlesource.com/c/chromiumos/platform2/+/848642

was merged, but did not update this bug or gerrit.

Marking this fixed.

Comment 11 by sjg@chromium.org, Jan 5 2018

Cc: jclinton@chromium.org sjg@chromium.org shapiroc@chromium.org vapier@chromium.org
 Issue 795601  has been merged into this issue.

Sign in to add a comment