Skip to content

TASK-214337 debug code#13

Open
balupillai wants to merge 11 commits intomainfrom
TASK-214337
Open

TASK-214337 debug code#13
balupillai wants to merge 11 commits intomainfrom
TASK-214337

Conversation

@balupillai
Copy link
Contributor

@balupillai balupillai commented Mar 12, 2026

Note

Medium Risk
Touches core GC heap list manipulation and adds frequent validation/abort paths, which could impact performance or change failure modes (hard abort) if invariants are violated.

Overview
Adds debug-only style heap integrity checks around GC heap TAILQ operations to catch corruption early. A new validate_heap_objects() walk and targeted post-TAILQ_INSERT_HEAD backlink checks verify object pointers, tt range, owner, and tqe_prev/tqe_next linkage, aborting via tailq_abort() with detailed logging.

Runs these validations at key points in new_obj, luaC_inherit_thread (before/after transfer), local_collection (entry, after marking, before/after reclaim, after finalization/free), and trace_heap, and reorders finalize_deferred() to run before unblocking the collector to keep heap invariants checked during finalization.

Written by Cursor Bugbot for commit 99db8c3. This will update automatically on new commits. Configure here.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds new heap integrity validation to detect GC heap corruption and abort early, integrated into key GC lifecycle points and global tracing to surface memory/list corruption issues closer to their source.

Changes:

  • Introduces validate_heap_objects(lua_State *L, const char *where) to walk L->heap->objects and validate node pointers/type/ownership, aborting on failure.
  • Calls this validation before/after heap transfer in luaC_inherit_thread() and at multiple stages of local_collection().
  • Adds basic corruption checks inside trace_heap() during global tracing.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants