fix: More robust handling of LVT when resolving parameters#295
Merged
dividedmind merged 1 commit intomasterfrom Mar 25, 2025
Merged
fix: More robust handling of LVT when resolving parameters#295dividedmind merged 1 commit intomasterfrom
dividedmind merged 1 commit intomasterfrom
Conversation
dustinbyrne
approved these changes
Mar 5, 2025
9492cf2 to
5b44df8
Compare
5b44df8 to
06c0688
Compare
A user has reported (#293) a crash in LVT handling. While I couldn't reproduce the crash exactly, I have looked at the relevant code and made some improvements that will hopefully resolve the problem: - Ensure correct handling of local variable table that's not in slot order. While it usually is the case it's not guaranteed. - Ensure graceful fallback in case LVT inspection throws; this can happen eg. when the debug info is corrupted (maybe intentionally by an obfuscator). In this case continue with the next argument instead of crashing out.
06c0688 to
20dd978
Compare
|
🎉 This PR is included in version 1.28.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request includes an important refactor in the
Parametersclass to improve the handling of local variables and parameter names in hopes of fixing #293. The changes focus on iterating through local variables to accurately match slots and handle potential issues with corrupted debug information.Improvements to local variable handling:
agent/src/main/java/com/appland/appmap/output/v1/Parameters.java: Refactored the logic to iterate through local variables to find matching slots for parameters, including handling cases where the debug information might be corrupted. The new approach ensures that parameters are correctly identified even if the local variable table is out of order.