Skip to content

Bugfix: Recursive allocations inside query memory tracker#2634

Merged
andrejtonev merged 2 commits intomasterfrom
mem_tracker_deadlock_fix
Jan 24, 2025
Merged

Bugfix: Recursive allocations inside query memory tracker#2634
andrejtonev merged 2 commits intomasterfrom
mem_tracker_deadlock_fix

Conversation

@andrejtonev
Copy link
Contributor

@andrejtonev andrejtonev commented Jan 24, 2025

Memory tracker uses SkipLists. These can allocate memory during usage.
Tracker was not ignoring these allocations, so would try to track the allocations caused by the tracking. Eventually getting blocked on the SkipList's lock_.

@andrejtonev
Copy link
Contributor Author

andrejtonev commented Jan 24, 2025

Tracking

  • [Link to Epic/Issue]

Standard development

CI Testing Labels

  • Select the appropriate CI test labels (CI -build=build-name -test=test-suite)

Documentation checklist

  • Add the documentation label
  • Add the bug / feature label
  • Add the milestone for which this feature is intended
    • If not known, set for a later milestone
  • Write a release note, including added/changed clauses
    • [ Release note text ]
  • [ Documentation PR link memgraph/documentation#XXXX ]
    • Is back linked to this development PR
  • [ Tag someone from docs team ]

@andrejtonev andrejtonev self-assigned this Jan 24, 2025
@andrejtonev andrejtonev requested a review from Ignition January 24, 2025 16:13
@andrejtonev andrejtonev added bug bug CI -build=coverage -test=core Run coverage build and core tests on push CI -build=debug -test=core Run debug build and core tests on push CI -build=debug -test=integration Run debug build and integration tests on push CI -build=release -test=e2e Run release build and e2e tests on push CI -build=release -test=stress Run release build and stress tests on push CI -build=release -test=query_modules Run release build and query modules tests on push Docs - changelog only Docs - changelog only labels Jan 24, 2025
@andrejtonev andrejtonev added this to the mg-v3.0.0 milestone Jan 24, 2025
@andrejtonev andrejtonev force-pushed the mem_tracker_deadlock_fix branch from 5fb07b5 to b336c6f Compare January 24, 2025 16:19
@andrejtonev andrejtonev enabled auto-merge January 24, 2025 18:25
@andrejtonev andrejtonev added this pull request to the merge queue Jan 24, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 24, 2025
@andrejtonev andrejtonev force-pushed the mem_tracker_deadlock_fix branch from b4171bf to 8d42a0a Compare January 24, 2025 20:20
@andrejtonev andrejtonev enabled auto-merge January 24, 2025 20:21
@sonarqubecloud
Copy link

@andrejtonev andrejtonev added this pull request to the merge queue Jan 24, 2025
Merged via the queue into master with commit c804eee Jan 24, 2025
14 checks passed
@andrejtonev andrejtonev deleted the mem_tracker_deadlock_fix branch January 24, 2025 22:26
as51340 pushed a commit that referenced this pull request Oct 24, 2025
Memory tracker uses SkipLists. These can allocate memory during usage.
Tracker was not ignoring these allocations, so would try to track the
allocations caused by the tracking. Eventually getting blocked on the
SkipList's lock_.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug bug CI -build=coverage -test=core Run coverage build and core tests on push CI -build=debug -test=core Run debug build and core tests on push CI -build=debug -test=integration Run debug build and integration tests on push CI -build=release -test=e2e Run release build and e2e tests on push CI -build=release -test=query_modules Run release build and query modules tests on push CI -build=release -test=stress Run release build and stress tests on push Docs - changelog only Docs - changelog only

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants