Bug 552276 - Main menu sometimes does not appear
Summary: Main menu sometimes does not appear
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: RHQ Project
Classification: Other
Component: Core UI
Version: 1.4
Hardware: All
OS: Linux
high
high
Target Milestone: ---
: ---
Assignee: Jeff Weiss
QA Contact: Jeff Weiss
URL:
Whiteboard:
Depends On: 545596
Blocks: rhq_triage
TreeView+ depends on / blocked
 
Reported: 2010-01-04 14:52 UTC by Jeff Weiss
Modified: 2014-11-09 22:50 UTC (History)
4 users (show)

Fixed In Version: 2.4
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
linux, git hash 2c5095d2b2ddc4d4ab377589faee091f6f01e066
Last Closed: 2010-08-12 16:55:20 UTC
Embargoed:


Attachments (Terms of Use)
screenshot of JON after logging in as rhqadmin and menu fails to render (32.24 KB, image/png)
2010-02-08 20:09 UTC, John Sefler
no flags Details
screenshot of JON after logging in as rhqadmin and menu appears as expected (39.30 KB, image/png)
2010-02-08 20:12 UTC, John Sefler
no flags Details
Screenshot of menus missing from multiple applications (103.10 KB, image/png)
2010-02-25 16:36 UTC, David M.
no flags Details

Description Jeff Weiss 2010-01-04 14:52:37 UTC
Description of problem:
Sometimes when logging in to RHQ the main menu does not appear.  One way to get it to appear is to click one of the start page links.  The problem is intermittent, but happens often enough that it should be reproducible.  I think it might happen every time on the *first* login but I'm not sure.  

Version-Release number of selected component (if applicable):
git hash 2c5095d2b2ddc4d4ab377589faee091f6f01e066

How reproducible:
We see it often while testing, but I cannot find any particular procedure that reproduces the problem any more often than just random surfing.

Steps to Reproduce:
1. Surf around in the RHQ UI
2.
3.
  
Actual results:
Main menu sometimes disappears

Expected results:
Main menu should always be present

Additional info:

Comment 1 Charles Crouch 2010-01-04 17:32:40 UTC
This should be retested after 545596 has been fixed and the linux-config branch merged into master

Comment 2 Jeff Weiss 2010-01-25 15:46:26 UTC
Still broken.  Also affects JON2.3.1 (first qa build).  Several testers see this problem using FF3.5.  Since it affects JON2.3.1 i think it needs to be investigated ASAP.

Comment 3 John Sefler 2010-02-05 21:35:58 UTC
I also witness these failures often.
I usually reproduce this bug by logging in and logging out repeatedly until the menu is missing.  Here is a stack trace from the server log when the menu fails to appear:

2010-02-05 16:25:22,148 ERROR [facelets.viewhandler] Error Rendering View[/rhq/common/menu/menu.xhtml]
javax.el.ELException: /rhq/common/menu/menu.xhtml @28,54 items="#{PerspectiveUIBean.coreMenu}": Error reading 'coreMenu' on type org.rhq.enterprise.gui.perspectives.PerspectiveUIBean_$$_javassist_1
        at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
        at com.sun.facelets.tag.jstl.core.ForEachHandler.apply(ForEachHandler.java:121)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
        at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
        at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
        at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:524)
        at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:567)
        at org.rhq.enterprise.gui.common.framework.FaceletRedirectionViewHandler.renderView(FaceletRedirectionViewHandler.java:64)
        at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
        at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
        at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
        at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
        at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:557)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:481)
        at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
        at org.apache.jsp.common.Header_jsp._jspService(Header_jsp.java:82)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:557)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:481)
        at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
        at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:609)
        at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:99)
        at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:135)
        at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:760)
        at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:892)
        at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462)
        at org.apache.jsp.portal.MainLayout_jsp._jspx_meth_tiles_005finsert_005f1(MainLayout_jsp.java:382)
        at org.apache.jsp.portal.MainLayout_jsp._jspx_meth_html_005fhtml_005f0(MainLayout_jsp.java:159)
        at org.apache.jsp.portal.MainLayout_jsp._jspService(MainLayout_jsp.java:82)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
        at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
        at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
        at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:239)
        at org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:341)
        at org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:572)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:221)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.rhq.enterprise.gui.legacy.WebUserTrackingFilter.doFilter(WebUserTrackingFilter.java:47)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.rhq.enterprise.gui.legacy.AuthenticationFilter.doFilter(AuthenticationFilter.java:129)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.rhq.helpers.rtfilter.filter.RtFilter.doFilter(RtFilter.java:124)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
        at java.lang.Thread.run(Thread.java:636)
Caused by: javax.ejb.EJBException: java.util.ConcurrentModificationException
        at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:63)
        at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
        at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
        at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
        at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
        at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
        at $Proxy255.getMenu(Unknown Source)
        at org.rhq.enterprise.gui.perspectives.PerspectiveUIBean.getCoreMenu(PerspectiveUIBean.java:57)
        at sun.reflect.GeneratedMethodAccessor286.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
        at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
        at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
        at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
        at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
        at org.rhq.enterprise.gui.perspectives.PerspectiveUIBean_$$_javassist_1.getCoreMenu(PerspectiveUIBean_$$_javassist_1.java)
        at sun.reflect.GeneratedMethodAccessor285.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
        at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
        at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
        at org.jboss.el.parser.AstPropertySuffix.getValue(AstPropertySuffix.java:53)
        at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
        at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
        at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
        ... 107 more
Caused by: java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextEntry(HashMap.java:810)
        at java.util.HashMap$KeyIterator.next(HashMap.java:845)
        at org.rhq.enterprise.server.perspective.PerspectiveManagerBean.cleanCache(PerspectiveManagerBean.java:225)
        at org.rhq.enterprise.server.perspective.PerspectiveManagerBean.getCacheEntry(PerspectiveManagerBean.java:195)
        at org.rhq.enterprise.server.perspective.PerspectiveManagerBean.getMenu(PerspectiveManagerBean.java:74)
        at sun.reflect.GeneratedMethodAccessor287.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
        at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
        at org.rhq.enterprise.server.common.TransactionInterruptInterceptor.addCheckedActionToTransactionManager(TransactionInterruptInterceptor.java:77)
        at sun.reflect.GeneratedMethodAccessor174.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
        at org.rhq.enterprise.server.authz.RequiredPermissionsInterceptor.checkRequiredPermissions(RequiredPermissionsInterceptor.java:153)
        at sun.reflect.GeneratedMethodAccessor173.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
        at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
        ... 149 more

Comment 4 John Sefler 2010-02-08 20:09:40 UTC
Created attachment 389610 [details]
screenshot of JON after logging in as rhqadmin and menu fails to render

Comment 5 John Sefler 2010-02-08 20:12:59 UTC
Created attachment 389612 [details]
screenshot of JON after logging in as rhqadmin and menu appears as expected

Comment 6 wes hayutin 2010-02-08 20:21:48 UTC
I've also recreated this bug several times.
I don't want to pick on Charles, but looking at the trace it appears it may be perspective related.  This is a pretty big usability issue and happens to be a very large automation blocker.  

Charles,
Please have a look at this bug.  If you do not think your team owns the feature that is causing the problem, please just ping me.

Thanks

Comment 7 wes hayutin 2010-02-08 20:28:10 UTC
A little more info on the recreate.
Personally I have seen this bug mostly after installing a fresh install of rhq.  After the initial maven build w/ a -Pdev flag. Others have seen the behavior w/ standard installs.. etc..

Comment 8 Charles Crouch 2010-02-08 20:34:32 UTC
Jeff, can you double check whether you are seeing this in 2.3.1 too? The
perspective subsystem is not integrated into 2.3.1 so if you are seeing the
problem could you paste any exception from the server.log into this case. Assign back to me once we have a definite yes/no on this occurring in 2.3.1
Thanks

Comment 9 Jeff Weiss 2010-02-08 20:45:35 UTC
Charles, no, it is not occurring in 2.3.1.  However we've been seeing it in RHQ master for well over a month now, so whatever caused it was introduced quite some time ago.

Comment 10 Jeff Weiss 2010-02-08 20:50:41 UTC
Yikes, I just saw my earlier comment.  At this point I can't remember if I saw it myself or someone else reported it.  Will try to definitively reproduce now, and report back.

Comment 11 wes hayutin 2010-02-16 16:55:44 UTC
Temporarily adding the keyword "SubBug" so we can be sure we have accounted for all the bugs.

keyword:
new = Tracking + FutureFeature + SubBug

Comment 12 wes hayutin 2010-02-16 17:00:49 UTC
making sure we're not missing any bugs in rhq_triage

Comment 13 David M. 2010-02-25 16:36:57 UTC
Created attachment 396326 [details]
Screenshot of menus missing from multiple applications

Many of my GTK applications simply stopped showing the main menu.

Comment 14 Charles Crouch 2010-04-27 16:17:14 UTC
We recently reverted how the top menu was being rendered back to the previous method. This issue should no longer be occurring.

Comment 15 gneelaka@redhat.com 2010-04-29 09:28:34 UTC
tested on JON#120  Revision:10615

Steps : i tried logging in multiple times and i can see the main menu items  
overview,resources,groups,administration,help.

this is working fine now.

Comment 16 Corey Welton 2010-08-12 16:55:20 UTC
Mass-closure of verified bugs against JON.


Note You need to log in before you can comment on or make changes to this bug.