Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Android] Fix memory leakage in AndroidLogDownloadFromNode Class #36742

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

joonhaengHeo
Copy link
Contributor

Fix #36734

Fixed an issue where memory was not deleted after finishing AndroidLogDownloadFromNode.

Copy link

Review changes with  SemanticDiff

@joonhaengHeo joonhaengHeo force-pushed the fix_memory_issue_in_diag_class branch from 787eb20 to 8830a42 Compare December 6, 2024 02:04
Copy link

github-actions bot commented Dec 6, 2024

PR #36742: Size comparison from cbf92b7 to 8830a42

Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section cbf92b7 8830a42 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1353308 1353308 0 0.0
RAM 104112 104112 0 0.0
bl702 lighting-app bl702+eth FLASH 651816 651816 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829144 829144 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057594 1057594 0 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 978968 978968 0 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 839736 839736 0 0.0
RAM 123664 123664 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825276 825276 0 0.0
RAM 125552 125552 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772064 772064 0 0.0
RAM 114020 114020 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756260 756260 0 0.0
RAM 114228 114228 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 631026 631026 0 0.0
RAM 205824 205824 0 0.0
lock CC3235SF_LAUNCHXL FLASH 669622 669622 0 0.0
RAM 205968 205968 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681473 681473 0 0.0
RAM 78724 78724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701325 701325 0 0.0
RAM 81364 81364 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701325 701325 0 0.0
RAM 81364 81364 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658261 658261 0 0.0
RAM 73792 73792 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618033 618033 0 0.0
RAM 71708 71708 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637661 637661 0 0.0
RAM 74252 74252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637661 637661 0 0.0
RAM 74252 74252 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637433 637433 0 0.0
RAM 74724 74724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657149 657149 0 0.0
RAM 77268 77268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657149 657149 0 0.0
RAM 77268 77268 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 613901 613901 0 0.0
RAM 68812 68812 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 633753 633753 0 0.0
RAM 71444 71444 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 633753 633753 0 0.0
RAM 71444 71444 0 0.0
efr32 lock-app BRD4187C FLASH 932308 932308 0 0.0
RAM 160192 160192 0 0.0
BRD4338a FLASH 746112 746104 -8 -0.0
RAM 233320 233320 0 0.0
window-app BRD4187C FLASH 1024752 1024752 0 0.0
RAM 128296 128296 0 0.0
esp32 all-clusters-app c3devkit DRAM 95360 95360 0 0.0
FLASH 1543466 1543466 0 0.0
IRAM 82542 82542 0 0.0
m5stack DRAM 116312 116312 0 0.0
FLASH 1550118 1550118 0 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4720 4720 0 0.0
FLASH 2715045 2715045 0 0.0
RAM 129800 129800 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6007046 6007046 0 0.0
RAM 523544 523544 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5344818 5344818 0 0.0
RAM 242600 242600 0 0.0
bridge-app debug unknown 5440 5440 0 0.0
FLASH 4684354 4684354 0 0.0
RAM 218416 218416 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12850332 12850332 0 0.0
RAM 582474 582474 0 0.0
chip-tool-ipv6only arm64 unknown 21344 21344 0 0.0
FLASH 10984096 10984096 0 0.0
RAM 633384 633384 0 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11254395 11254395 0 0.0
RAM 582850 582850 0 0.0
fabric-bridge-app debug unknown 4696 4696 0 0.0
FLASH 4509930 4509930 0 0.0
RAM 205600 205600 0 0.0
fabric-sync debug unknown 4936 4936 0 0.0
FLASH 5607797 5607797 0 0.0
RAM 472584 472584 0 0.0
lighting-app debug+rpc+ui unknown 6104 6104 0 0.0
FLASH 5621057 5621057 0 0.0
RAM 228792 228792 0 0.0
lock-app debug unknown 5376 5376 0 0.0
FLASH 4733594 4733594 0 0.0
RAM 204776 204776 0 0.0
ota-provider-app debug unknown 4752 4752 0 0.0
FLASH 4359332 4359332 0 0.0
RAM 198448 198448 0 0.0
ota-requestor-app debug unknown 4688 4688 0 0.0
FLASH 4498356 4498356 0 0.0
RAM 203032 203032 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3030061 3030061 0 0.0
RAM 160424 160424 0 0.0
thermostat-no-ble arm64 unknown 9536 9536 0 0.0
FLASH 4103472 4103472 0 0.0
RAM 243040 243040 0 0.0
tv-app debug unknown 5704 5704 0 0.0
FLASH 5958757 5958757 0 0.0
RAM 596016 596016 0 0.0
tv-casting-app debug unknown 5288 5288 0 0.0
FLASH 11054349 11054349 0 0.0
RAM 692152 692152 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917576 917576 0 0.0
RAM 143292 143292 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890080 890080 0 0.0
RAM 141487 141487 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851720 851720 0 0.0
RAM 142200 142200 0 0.0
nxp contact k32w0+release FLASH 585408 585408 0 0.0
RAM 71080 71080 0 0.0
mcxw71+release FLASH 600016 600016 0 0.0
RAM 63176 63176 0 0.0
light k32w0+release FLASH 612364 612364 0 0.0
RAM 70472 70472 0 0.0
k32w1+release FLASH 686552 686552 0 0.0
RAM 48808 48808 0 0.0
lock mcxw71+release FLASH 762896 762896 0 0.0
RAM 70844 70844 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646348 1646348 0 0.0
RAM 212104 212104 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1554092 1554092 0 0.0
RAM 208904 208904 0 0.0
light cy8ckit_062s2_43012 FLASH 1469404 1469404 0 0.0
RAM 200880 200880 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467148 1467148 0 0.0
RAM 225240 225240 0 0.0
qpg lighting-app qpg6105+debug FLASH 663976 663976 0 0.0
RAM 105424 105424 0 0.0
lock-app qpg6105+debug FLASH 621772 621772 0 0.0
RAM 99868 99868 0 0.0
stm32 light STM32WB5MM-DK FLASH 484696 484696 0 0.0
RAM 144880 144880 0 0.0
telink bridge-app tlsr9258a FLASH 682804 682804 0 0.0
RAM 91208 91208 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623230 623230 0 0.0
RAM 31440 31440 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 764728 764728 0 0.0
RAM 50220 50220 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710656 710656 0 0.0
RAM 73504 73504 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 627762 627762 0 0.0
RAM 142140 142140 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813690 813690 0 0.0
RAM 99684 99684 0 0.0
tizen all-clusters-app arm unknown 4988 4988 0 0.0
FLASH 1732480 1732480 0 0.0
RAM 90744 90744 0 0.0
chip-tool-ubsan arm unknown 10808 10808 0 0.0
FLASH 17972502 17972502 0 0.0
RAM 7841496 7841496 0 0.0

static_cast<jlong>(mRemoteNodeId), static_cast<jlong>(err.AsInteger()));
exit:
// Finish this function, this object will be deleted.
delete this;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is not correct, this function is inside callback, you cannot delete this, you should pass context object(AndroidLogDownloadFromNode) from the callback inside FinishLogDownloadFromNode, then delete in the end.

Copy link
Contributor

@andy31415 andy31415 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@joonhaengHeo this also needs a Testing section in the summary to explain how this was tested.

Since this did not update any unit tests, the testing is manual so we need to meet a higher bar (make it less convenient for most PRs to just be manually tested because it is easier) so we need a more detailed description on how the manual tests were done as well as a justification why automated testing of the newly added code is impossible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Java test Run Pairing Onnetwork and get diagnostic log Test is flaky
3 participants