Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 82062 Details for
Bug 196956
Deadlock detection doesn't work at Thread Analysis
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Patch
patch59.txt (text/plain), 2.83 KB, created by
Alexander N. Alexeev
on 2007-11-04 17:40:46 EST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Alexander N. Alexeev
Created:
2007-11-04 17:40:46 EST
Size:
2.83 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.tptp.platform.models >Index: src-trace/org/eclipse/hyades/loaders/trace/XMLmonContendedEnterLoader.java >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.models/src-trace/org/eclipse/hyades/loaders/trace/XMLmonContendedEnterLoader.java,v >retrieving revision 1.11 >diff -u -r1.11 XMLmonContendedEnterLoader.java >--- src-trace/org/eclipse/hyades/loaders/trace/XMLmonContendedEnterLoader.java 19 Feb 2007 22:15:01 -0000 1.11 >+++ src-trace/org/eclipse/hyades/loaders/trace/XMLmonContendedEnterLoader.java 4 Nov 2007 22:40:14 -0000 >@@ -119,8 +119,10 @@ > evt.setThread(theThread); > evt.setTime( createDeltaTime()); > evt.setLockingThread( lockingThread ); >- TRCThreadDeadLockEvent contagious = (TRCThreadDeadLockEvent)wfls.get(0); >- evt.setNextDeadLockEvent( contagious ); >+ if (wfls.get(0) instanceof TRCThreadDeadLockEvent) { >+ TRCThreadDeadLockEvent contagious = (TRCThreadDeadLockEvent)wfls.get(0); >+ evt.setNextDeadLockEvent( contagious ); >+ } > addCopyOfAnnotationsIfRequired(evt); > events.add( evt ); > new_deadlock = true; >@@ -226,7 +228,7 @@ > return false; > } > } >- return false; >+ return true; > } > private boolean checkCircularLock( ArrayList wfls, int start_index ) > { >@@ -326,23 +328,21 @@ > Object lt_last_event = lt_events.get( lt_events.size()-1); > if( !(lt_last_event instanceof TRCThreadDeadLockEvent )) continue; > TRCThreadDeadLockEvent dl = (TRCThreadDeadLockEvent)lt_last_event; >- if( wfl.getTime() >= dl.getTime() ) >- { >- //this wfl must be replaced by a deadlock ! >- events.remove( events.size()-1 ); >- //replace wfl by a deadlock: >- TRCThreadDeadLockEvent evt = TraceFactory.eINSTANCE.createTRCThreadDeadLockEvent(); >- evt.setLockedObject( wfl.getLockedObject() ); >- evt.setThread( thread ); >- evt.setTime( wfl.getTime() ); >- evt.setLockingThread( lockingThread ); >- evt.setNextDeadLockEvent( dl ); >- addCopyOfAnnotationsIfRequired(evt); >- events.add( evt ); >- dl_added = true; >- //as another loop is required: do it right now! >- break; >- } >+ >+ //this wfl must be replaced by a deadlock ! >+ events.remove( events.size()-1 ); >+ //replace wfl by a deadlock: >+ TRCThreadDeadLockEvent evt = TraceFactory.eINSTANCE.createTRCThreadDeadLockEvent(); >+ evt.setLockedObject( wfl.getLockedObject() ); >+ evt.setThread( thread ); >+ evt.setTime( wfl.getTime() ); >+ evt.setLockingThread( lockingThread ); >+ evt.setNextDeadLockEvent( dl ); >+ addCopyOfAnnotationsIfRequired(evt); >+ events.add( evt ); >+ dl_added = true; >+ //as another loop is required: do it right now! >+ break; > } > } > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 196956
:
74046
| 82062 |
82063