harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chunrong Lai (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-4624) [classlib][swing]SplitPane triggers the deadlock in AbstractDocument$ReadWriteLock
Date Tue, 14 Aug 2007 02:01:30 GMT
[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



 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.


Mime
View raw message