id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc 1203,Resolve thread deadlocks,Nicklas Nordborg,Nicklas Nordborg,"I have had some issues with thread deadlocks during re-installation of Reggie during development. The problem seems to be located to the `Reggie` class. During re-installation a lot things is going in order to initialize configuration and setting up services. And it also seems like a request from the web browser is coming in at the same time to get new count values. If the timing is unfortunate it seems like two different threads can deadlock in various methods in the `Reggie` class. I have seen it in `Reggie.getRootSessionControl()` and `Reggie.reloadConfig()`. The other ""offending"" party is the `Registry` class in BASE that keeps track of all installed extensions. It should not be too hard to solve this in the Reggie code, since there is actually no reason that the two methods above should block each other. The `syncronization` statement is locking too much. We need to implement two (or more) different locks. The only workaround seems to be to restart Tomcat. ",defect,closed,minor,Reggie v4.24.1,net.sf.basedb.reggie,fixed,,