You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexey Petrenko (JIRA)" <ji...@apache.org> on 2007/08/15 12:59:30 UTC
[jira] Resolved: (HARMONY-4624) [classlib][swing]SplitPane triggers
the deadlock in AbstractDocument$ReadWriteLock
[ https://issues.apache.org/jira/browse/HARMONY-4624?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexey Petrenko resolved HARMONY-4624.
--------------------------------------
Resolution: Fixed
Yes, I agree that this patch is more likely a workaround, but it resolves the issue at the moment without any detected regressions.
So I've committed the patch and created HARMONY-4634 to track the better patch creation.
> [classlib][swing]SplitPane triggers the deadlock in AbstractDocument$ReadWriteLock
> ----------------------------------------------------------------------------------
>
> Key: HARMONY-4624
> URL: https://issues.apache.org/jira/browse/HARMONY-4624
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Environment: win32
> Reporter: Chunrong Lai
> Assignee: Alexey Petrenko
> Attachments: h4624.workaround.patch
>
>
> Dead lock possibilities are seen in the synchronized metnods of AbstractDocument$ReadWriteLock.
> public final synchronized void readLock() {
> final Thread thread = Thread.currentThread();
> if (writer != thread) {
> while (writerCount > 0) {
> try { wait(); }
> catch (final InterruptedException e) { }
> }
> }
> readers.add(thread);
> }
> Waiting in synchronized methods (requires another synchronized method to wakeup it) likely just dies there.
> Multithreaded SplitPane application triggers the possibility. One thread can operate at the texts of the LeftComponent, thus in a critical section after setting writercount(writeLock()). The other thread can operate at the rightComponent, then call the readLock() of LeftComponent via layout managment and just waits there.
> Attach patch eliminates the said intra-splitpane-lock-acquirement. But it is more likely a workaround.
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.