History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: CIB-1401
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Daniel Ostermeier
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Pulse

ViewServerQueuesAction is a read only action and should not trigger a lock on the ThreadedRecipeQueue.

Created: 14/Mar/08 05:00 AM   Updated: 14/Mar/08 06:31 AM
Component/s: Refactoring
Affects Version/s: None
Fix Version/s: 1.2.48


 All   Comments   Change History      Sort Order:
Daniel Ostermeier - 14/Mar/08 05:43 AM
We want to avoid the possibility of the following:

Thread 8064: (state = BLOCKED)
 - sun.misc.Unsafe.park(boolean, long) @bci=0 (Compiled frame; information may be imprecise)
 - java.util.concurrent.locks.LockSupport.park() @bci=5, line=118 (Compiled frame)
 - java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(int) @bci=17, line=1041 (Compiled frame)
 - com.zutubi.pulse.ThreadedRecipeQueue.takeSnapshot() @bci=12, line=233 (Interpreted frame)
 - com.zutubi.pulse.web.server.ViewServerQueuesAction.execute() @bci=5, line=69 (Compiled frame)
 - sun.reflect.GeneratedMethodAccessor2552.invoke(java.lang.Object, java.lang.Object[]) @bci=36 (Interpreted frame)
 - sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) @bci=6, line=25 (Compiled frame)
 - java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) @bci=111, line=585 (Compiled frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invokeAction(java.lang.Object, com.opensymphony.xwork.config.entities.ActionConfig) @bci=208, line=353 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly() @bci=14, line=208 (Compiled frame)
 - com.zutubi.pulse.xwork.interceptor.ErrorHandlingInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=1, line=31 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=8, line=32 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.zutubi.pulse.xwork.interceptor.ErrorHandlingInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=1, line=31 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=157, line=125 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=8, line=32 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=8, line=32 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.zutubi.pulse.xwork.interceptor.CancelWorkflowInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=32, line=37 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.zutubi.pulse.xwork.interceptor.LicensedInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=147, line=81 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=8, line=32 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=8, line=32 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=88, line=136 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=8, line=32 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=8, line=32 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=8, line=32 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=8, line=32 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.zutubi.pulse.xwork.interceptor.ReadOnlyInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=42, line=42 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.zutubi.pulse.xwork.interceptor.HibernateSessionInterceptor.intercept(com.opensymphony.xwork.ActionInvocation) @bci=8, line=36 (Interpreted frame)
 - com.opensymphony.xwork.DefaultActionInvocation.invoke() @bci=45, line=180 (Compiled frame)
 - com.opensymphony.xwork.DefaultActionProxy.execute() @bci=22, line=113 (Interpreted frame)
 - com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.ServletContext, com.opensymphony.webwork.dispatcher.mapper.ActionMapping) @bci=199, line=202 (Interpreted frame)
 - com.opensymphony.webwork.dispatcher.ServletDispatcher.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) @bci=105, line=111 (Interpreted frame)
 - javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=30, line=688 (Interpreted frame)
 - org.mortbay.jetty.servlet.ServletHolder.handle(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=161, line=428 (Compiled frame)
 - org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=123, line=830 (Compiled frame)
 - org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=65, line=264 (Compiled frame)
 - org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(org.acegisecurity.intercept.web.FilterInvocation) @bci=87, line=107 (Compiled frame)
 - org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=15, line=72 (Compiled frame)
 - org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=185, line=274 (Compiled frame)
 - org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=37, line=110 (Compiled frame)
 - org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=185, line=274 (Compiled frame)
 - org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=144, line=125 (Compiled frame)
 - org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=185, line=274 (Compiled frame)
 - org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=312, line=142 (Compiled frame)
 - org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=185, line=274 (Compiled frame)
 - org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=460, line=181 (Compiled frame)
 - org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=185, line=274 (Compiled frame)
 - org.acegisecurity.ui.AbstractProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=141, line=216 (Compiled frame)
 - org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=185, line=274 (Compiled frame)
 - org.acegisecurity.util.FilterChainProxy.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=172, line=148 (Compiled frame)
 - org.acegisecurity.util.FilterToBeanProxy.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=18, line=90 (Compiled frame)
 - org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=63, line=821 (Compiled frame)
 - com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) @bci=18, line=118 (Compiled frame)
 - com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=84, line=52 (Compiled frame)
 - org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=63, line=821 (Compiled frame)
 - org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=281, line=195 (Compiled frame)
 - com.zutubi.pulse.spring.FilterWrapper.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=7, line=46 (Compiled frame)
 - org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=63, line=821 (Compiled frame)
 - org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(java.lang.String, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.mortbay.jetty.servlet.ServletHolder, int) @bci=232, line=471 (Compiled frame)
 - org.mortbay.jetty.servlet.ServletHandler.handle(java.lang.String, java.lang.String, org.mortbay.http.HttpRequest, org.mortbay.http.HttpResponse) @bci=290, line=568 (Compiled frame)
 - org.mortbay.http.HttpContext.handle(java.lang.String, java.lang.String, org.mortbay.http.HttpRequest, org.mortbay.http.HttpResponse) @bci=157, line=1530 (Compiled frame)
 - org.mortbay.jetty.servlet.WebApplicationContext.handle(java.lang.String, java.lang.String, org.mortbay.http.HttpRequest, org.mortbay.http.HttpResponse) @bci=14, line=633 (Compiled frame)
 - org.mortbay.http.HttpContext.handle(org.mortbay.http.HttpRequest, org.mortbay.http.HttpResponse) @bci=455, line=1482 (Compiled frame)
 - org.mortbay.http.HttpServer.service(org.mortbay.http.HttpRequest, org.mortbay.http.HttpResponse) @bci=246, line=927 (Compiled frame)
 - org.mortbay.http.HttpConnection.service(org.mortbay.http.HttpRequest, org.mortbay.http.HttpResponse) @bci=24, line=816 (Compiled frame)
 - org.mortbay.http.HttpConnection.handle() @bci=17, line=833 (Compiled frame)
 - org.mortbay.http.SocketListener.handleConnection(java.net.Socket) @bci=65, line=244 (Interpreted frame)
 - org.mortbay.util.ThreadedServer.handle(java.lang.Object) @bci=19, line=357 (Interpreted frame)
 - org.mortbay.util.ThreadPool$PoolThread.run() @bci=124, line=534 (Compiled frame)