Uploaded image for project: 'Openfire'
  1. Openfire
  2. OF-1936

OOM when browsing audit log

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.4.5
    • Component/s: Admin Console
    • Labels:
      None

      Description

      When reviewing a nearly empty audit log, an Out-of-Memory exception can be reported.

      Hypothesis: this is a database-driver specific issue. A potential fix would be to not set the fetch-size to Integer.MAX_VALUE (or something large like that), preventing a naive implementation from trying to instantiate an array of that size.

      2019.12.02 08:25:09 WARN [Jetty-QTP-AdminConsole-60]: org.eclipse.jetty.server.HttpChannel - /security-audit-viewer.jsp
      java.lang.OutOfMemoryError: Requested array size exceeds VM limit
      at oracle.jdbc.driver.Accessor.setCapacity(Accessor.java:828) ~[ojdbc7.jar:12.1.0.1.0]
      at oracle.jdbc.driver.OracleStatement.prepareAccessors(OracleStatement.java:804) ~[ojdbc7.jar:12.1.0.1.0]
      at oracle.jdbc.driver.OracleStatement.check_row_prefetch_changed(OracleStatement.java:2965) ~[ojdbc7.jar:12.1.0.1.0]
      at oracle.jdbc.driver.OracleStatement.fetchMoreRows(OracleStatement.java:3581) ~[ojdbc7.jar:12.1.0.1.0]
      at oracle.jdbc.driver.InsensitiveScrollableResultSet.fetchMoreRows(InsensitiveScrollableResultSet.java:1008) ~[ojdbc7.jar:12.1.0.1.0]
      at oracle.jdbc.driver.InsensitiveScrollableResultSet.absoluteInternal(InsensitiveScrollableResultSet.java:972) ~[ojdbc7.jar:12.1.0.1.0]
      at oracle.jdbc.driver.InsensitiveScrollableResultSet.next(InsensitiveScrollableResultSet.java:572) ~[ojdbc7.jar:12.1.0.1.0]
      at org.apache.commons.dbcp2.DelegatingResultSet.next(DelegatingResultSet.java:1160) ~[commons-dbcp2-2.6.0.jar:2.6.0]
      at org.apache.commons.dbcp2.DelegatingResultSet.next(DelegatingResultSet.java:1160) ~[commons-dbcp2-2.6.0.jar:2.6.0]
      at org.jivesoftware.openfire.security.DefaultSecurityAuditProvider.getEvents(DefaultSecurityAuditProvider.java:149) ~[xmppserver-4.4.4.jar:4.4.4]
      at org.jivesoftware.admin.servlet.SecurityAuditViewerServlet.doGet(SecurityAuditViewerServlet.java:39) ~[xmppserver-4.4.4.jar:4.4.4]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[javax.servlet-api-3.1.0.jar:3.1.0]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0]
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:873) ~[jetty-servlet-9.4.18.v20190429.jar:9.4.18.v20190429]
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623) ~[jetty-servlet-9.4.18.v20190429.jar:9.4.18.v20190429]
      at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129) ~[sitemesh-2.4.2.jar:?]
      at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77) ~[sitemesh-2.4.2.jar:?]
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[jetty-servlet-9.4.18.v20190429.jar:9.4.18.v20190429]
      at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:73) ~[xmppserver-4.4.4.jar:4.4.4]
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[jetty-servlet-9.4.18.v20190429.jar:9.4.18.v20190429]
      at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:49) ~[xmppserver-4.4.4.jar:4.4.4]
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[jetty-servlet-9.4.18.v20190429.jar:9.4.18.v20190429]
      at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:226) ~[xmppserver-4.4.4.jar:4.4.4]
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) ~[jetty-servlet-9.4.18.v20190429.jar:9.4.18.v20190429]
      at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:234) ~[xmppserver-4.4.4.jar:4.4.4]
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602) ~[jetty-servlet-9.4.18.v20190429.jar:9.4.18.v20190429]
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540) ~[jetty-servlet-9.4.18.v20190429.jar:9.4.18.v20190429]
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) ~[jetty-server-9.4.18.v20190429.jar:9.4.18.v20190429]
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[jetty-security-9.4.18.v20190429.jar:9.4.18.v20190429]
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[jetty-server-9.4.18.v20190429.jar:9.4.18.v20190429]
      at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) ~[jetty-server-9.4.18.v20190429.jar:9.4.18.v20190429]
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1700) ~[jetty-server-9.4.18.v20190429.jar:9.4.18.v20190429]

        Attachments

          Activity

            People

            Assignee:
            gdt Greg Thomas
            Reporter:
            guus Guus der Kinderen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: