You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2015/03/31 21:33:19 UTC

[Bug 57783] New: NPE in SlowQueryReport - getQueryStats() returning null

https://bz.apache.org/bugzilla/show_bug.cgi?id=57783

            Bug ID: 57783
           Summary: NPE in SlowQueryReport - getQueryStats() returning
                    null
           Product: Tomcat Modules
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: jdbc-pool
          Assignee: dev@tomcat.apache.org
          Reporter: mazurek@gmail.com

I'm running Tomcat 7.0.52 (7.0.52-1ubuntu0.1) with jdbc-pool and I see this
exception in catalina.out somewhat frequently:

Mar 30, 2015 11:44:44 PM
org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport createStatement
WARNING: Unable to create statement proxy for slow query report.
java.lang.NullPointerException
        at
org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport.prepareStatement(SlowQueryReport.java:122)

As far as I can tell, it appears unrelated to #51582. In this case, some
condition causes getQueryStats() to return null:

    public void prepareStatement(String sql, long time) {
        QueryStats qs = getQueryStats(sql);
        qs.prepare(time); // <--- LINE 122
    }

Please let me know if you need any more info.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 57783] NPE in SlowQueryReport - getQueryStats() returning null

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=57783

Keiichi Fujino <kf...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #1 from Keiichi Fujino <kf...@apache.org> ---
Thanks for the report.

I examined the code of SlowQueryReport.
There were two problems that cause NPE.

The first is
Because SlowQueryReport#removeOldest has not been implemented correctly,
If multiple threads invoke the same query at the same time,
It is possible to return null.

The second is
If this Interceptor has executed a connection that had been closed by the
removeAbandoned,
It is possible to return null.

The former issue has been fixed in r1686791 and r1686792, the latter issue has
been fixed in r1686975 and r1686976.
These revisions are scheduled to be included in the release of Tomcat8.0.24,
Tomcat 7.0.63 or later.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 57783] NPE in SlowQueryReport - getQueryStats() returning null

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=57783

Drew Mazurek <ma...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mazurek@gmail.com

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org