[JIRA] (JENKINS-15368) Deadlock: View.getACL → View.getProperties vs. ListView.doCreateItem → Jenkins.save

2012-10-01 Thread dogf...@java.net (JIRA)














































dogfood
 commented on  JENKINS-15368


Deadlock: View.getACL → View.getProperties vs. ListView.doCreateItem → Jenkins.save















Integrated in  jenkins_main_trunk #1962
 [FIXED JENKINS-15368] Make View.getProperties synchronize on a safer monitor. (Revision 7a552e8e0209043e6b03951699dcbc16dfbbe082)

 Result = SUCCESS
Jesse Glick : 7a552e8e0209043e6b03951699dcbc16dfbbe082
Files : 

	core/src/main/java/hudson/model/View.java
	changelog.html





























This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira






[JIRA] (JENKINS-15368) Deadlock: View.getACL → View.getProperties vs. ListView.doCreateItem → Jenkins.save

2012-10-01 Thread scm_issue_l...@java.net (JIRA)















































SCM/JIRA link daemon
 resolved  JENKINS-15368 as Fixed


Deadlock: View.getACL → View.getProperties vs. ListView.doCreateItem → Jenkins.save
















Change By:


SCM/JIRA link daemon
(01/Oct/12 3:35 PM)




Status:


Open
Resolved





Resolution:


Fixed



























This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira






[JIRA] (JENKINS-15368) Deadlock: View.getACL → View.getProperties vs. ListView.doCreateItem → Jenkins.save

2012-10-01 Thread scm_issue_l...@java.net (JIRA)














































SCM/JIRA link daemon
 commented on  JENKINS-15368


Deadlock: View.getACL → View.getProperties vs. ListView.doCreateItem → Jenkins.save















Code changed in jenkins
User: Jesse Glick
Path:
 changelog.html
 core/src/main/java/hudson/model/View.java
http://jenkins-ci.org/commit/jenkins/7a552e8e0209043e6b03951699dcbc16dfbbe082
Log:
  [FIXED JENKINS-15368] Make View.getProperties synchronize on a safer monitor.





























This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira






[JIRA] (JENKINS-15368) Deadlock: View.getACL → View.getProperties vs. ListView.doCreateItem → Jenkins.save

2012-10-01 Thread jgl...@cloudbees.com (JIRA)














































Jesse Glick
 commented on  JENKINS-15368


Deadlock: View.getACL → View.getProperties vs. ListView.doCreateItem → Jenkins.save















Problem #1 already fixed in d2699b4.



























This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira






[JIRA] (JENKINS-15368) Deadlock: View.getACL → View.getProperties vs. ListView.doCreateItem → Jenkins.save

2012-10-01 Thread jgl...@cloudbees.com (JIRA)














































Jesse Glick
 created  JENKINS-15368


Deadlock: View.getACL → View.getProperties vs. ListView.doCreateItem → Jenkins.save















Issue Type:


Bug



Assignee:


Unassigned


Components:


core



Created:


01/Oct/12 2:57 PM



Description:


Encountered repeated deadlocks between a thread handling GET /view/something/:


at hudson.model.View.getProperties(View.java:258)
- waiting to lock <0xc944da28> (a hudson.plugins.view.dashboard.Dashboard)
at .getACL(…)
at hudson.model.View.getACL(View.java:495)
at hudson.model.View.hasPermission(View.java:503)
at hudson.model.ViewGroupMixIn.getViews(ViewGroupMixIn.java:115)
at jenkins.model.Jenkins.getViews(Jenkins.java:1406)
- locked <0xc7e605f8> (a hudson.model.Hudson)
…


and a thread handling POST /view/somethingelse/createItem:


at jenkins.model.Jenkins.save(Jenkins.java:2551)
- waiting to lock <0xc7e605f8> (a hudson.model.Hudson)
at hudson.model.ListView.doCreateItem(ListView.java:202)
- locked <0xc944da28> (a hudson.plugins.view.dashboard.Dashboard)
…


Unclear whether the authorization plugin should be restricted in what it may call during getACL (in this case there is no apparent way to avoid using View.getProperties), but that aside:


	Jenkins.getViews is synchronized for no clear reason. Other methods working on viewGroupMixIn such as addView are not; and views is already a CopyOnWriteArrayList which ought to thread-safe.
	View.getProperties synchronizes on this when it could use a finer-grained lock.






Environment:


1.466.2 with custom AuthorizationStrategy plugin (CloudBees RBAC).




Project:


Jenkins



Labels:


threads




Priority:


Major



Reporter:


Jesse Glick

























This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira






[JIRA] (JENKINS-15368) Deadlock: View.getACL → View.getProperties vs. ListView.doCreateItem → Jenkins.save

2012-10-01 Thread jgl...@cloudbees.com (JIRA)















































Jesse Glick
 assigned  JENKINS-15368 to Jesse Glick



Deadlock: View.getACL → View.getProperties vs. ListView.doCreateItem → Jenkins.save
















Change By:


Jesse Glick
(01/Oct/12 2:57 PM)




Assignee:


Jesse Glick



























This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira