You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jspwiki.apache.org by "Arturo Bernal (Jira)" <ji...@apache.org> on 2023/07/31 14:17:00 UTC
[jira] [Created] (JSPWIKI-1178) Deadlock with Java Virtual Threads
Arturo Bernal created JSPWIKI-1178:
--------------------------------------
Summary: Deadlock with Java Virtual Threads
Key: JSPWIKI-1178
URL: https://issues.apache.org/jira/browse/JSPWIKI-1178
Project: JSPWiki
Issue Type: Improvement
Reporter: Arturo Bernal
With the upcoming release of JDK 21, it's anticipated that a new feature called "Virtual Threads" will be included. This feature may introduce a potential deadlock issue in JSPWiki application, particularly when blocking operations occur within {{synchronized}} blocks/methods. In such cases, the platform thread associated with a virtual thread may become "pinned" and unavailable to execute other virtual threads.
This ticket aims to:
# Investigate if and how the JSPWiki application might be affected by this change in JDK 21's Virtual Threads.
# If found to be at risk of the aforementioned deadlock situation, propose and implement changes to address this issue, ensuring the application's stability and performance aren't compromised.
*Steps to Reproduce:*
While this issue isn't currently reproducible as JDK 21 hasn't been released yet, potential risk areas in the application code can be identified by looking for {{synchronized}} blocks/methods that contain blocking operations.
*Suggested Actions:*
# Conduct an audit of the ScanPro application's source code to identify any {{synchronized}} blocks/methods that may contain blocking operations.
# Analyze the potential impact of the "Virtual Threads" feature on these code segments.
# If a risk of deadlock is identified, explore alternative solutions or workarounds. This could involve refactoring the code, using different concurrency controls, or adjusting the usage of resources.
# Test these changes thoroughly in a controlled environment before deploying them to production.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)