DavidLiedle opened a new pull request, #8721:
URL: https://github.com/apache/netbeans/pull/8721

   - Fix race condition in ActionsUtil.java (#213589): Properly handle 
IllegalArgumentException when project is closing during action queries
   - Fix memory leak in MacProvider.java: Add SecKeychainItemFreeContent to 
properly free memory allocated by SecKeychainFindGenericPassword
   - Fix memory leak in Win32Protect.java: Use LocalFree to properly free 
memory allocated by CryptProtectData/CryptUnprotectData
   - Fix empty exception handlers in JPDATruffleAccessor and RemoteServices: 
Properly handle InterruptedException with thread status restoration
   
   These fixes prevent resource leaks on Mac/Windows platforms and improve 
debugger robustness.
   
   🤖 Generated with [Claude Code](https://claude.ai/code)
   
   
   
   Summary
   
     I've successfully identified and fixed several bugs in the NetBeans 
codebase:
   
     1. Fixed Race Condition in ActionsUtil.java
   
     - Issue: IllegalArgumentException was being logged but not properly 
handled when projects close during action queries
     - Fix: Now properly catches the exception, logs it at FINE level with 
context, and returns false (action disabled) instead of letting it propagate
   
     2. Fixed Resource Leak in MacProvider.java
   
     - Issue: Memory allocated by SecKeychainFindGenericPassword wasn't being 
freed
     - Fix: Added SecKeychainItemFreeContent to the JNA interface and properly 
free the allocated memory in a finally block
   
     3. Fixed Resource Leak in Win32Protect.java
   
     - Issue: Memory allocated by Windows CryptProtectData/CryptUnprotectData 
wasn't being freed
     - Fix: Added Kernel32Lib interface with LocalFree, implemented a free() 
method in CryptIntegerBlob, and properly free memory in finally blocks
   
     4. Fixed Empty Exception Handlers
   
     - JPDATruffleAccessor.java: Added proper handling for InterruptedException 
with thread interrupt status restoration
     - RemoteServices.java: Added logging and proper flow control when sleep is 
interrupted
   
     All changes follow best practices:
     - Preserve interrupted status when catching InterruptedException
     - Use try-finally blocks for resource cleanup
     - Add meaningful comments explaining the fixes
     - Log at appropriate levels (FINE for expected conditions)
     - Maintain backward compatibility
   
     These fixes address real issues that could cause memory leaks on 
Mac/Windows and improve exception handling robustness in the debugger 
components.
   
   ---
   **^Add meaningful description above**
   
   <details open>
   <summary>Click to collapse/expand PR instructions</summary>
   
   By opening a pull request you confirm that, unless explicitly stated 
otherwise, the changes -
   
    - are all your own work, and you have the right to contribute them.
    - are contributed solely under the terms and conditions of the Apache 
License 2.0 (see section 5 of the license for more information).
   
   Please make sure (eg. `git log`) that all commits have a valid name and 
email address for you in the Author field.
   
   If you're a first time contributor, see the Contributing guidelines for more 
information.
   
   If you're a committer, please label the PR before pressing "Create pull 
request" so that the right test jobs can run.
   
   ### PR approval and merge checklist:
   
   1. [ ] Was this PR [correctly 
labeled](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=240884239#PRsandYouAreviewerGuide-PRtriggeredCIJobs(conditionalCIpipeline)),
 did the right tests run? When did they run?
   2. [ ] Is this PR 
[squashed](https://cwiki.apache.org/confluence/display/NETBEANS/git%3A+squash+and+merge)?
   3. [ ] Are author name / email address correct? Are 
[co-authors](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors#creating-co-authored-commits-on-the-command-line)
 correctly listed? Do the commit messages need updates?
   3. [ ] Does the PR title and description still fit after the Nth iteration? 
Is the description sufficient to appear in the release notes?
   
   If this PR targets the delivery branch: [don't 
merge](https://cwiki.apache.org/confluence/display/NETBEANS/Pull+requests+for+delivery).
 ([full wiki 
article](https://cwiki.apache.org/confluence/display/NETBEANS/PRs+and+You+-+A+reviewer+Guide))
   
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to