Richard Eckart de Castilho created POOL-411:
-----------------------------------------------
Summary: Potential NPE when deregistering key at end of borrow
Key: POOL-411
URL: https://issues.apache.org/jira/browse/POOL-411
Project: Commons Pool
Issue Type: Task
Affects Versions: 2.11.1
Reporter: Richard Eckart de Castilho
There is a potential for an NPE happening in the finally block of borrowObject:
{noformat}
Caused by: java.lang.NullPointerException: Cannot invoke
"org.apache.commons.pool2.impl.GenericKeyedObjectPool$ObjectDeque.getNumInterested()"
because "objectDeque" is null
at
org.apache.commons.pool2.impl.GenericKeyedObjectPool.deregister(GenericKeyedObjectPool.java:821)
at
org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:507)
at
org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:350)
{noformat}
>From reading the code, it seems this could happen e.g. if a pool is
>concurrently cleared while a borrow is in progress.
Not sure what a proper solution here would be. Maybe deregister should silently
do nothing if poolMap.get(k) returns null?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)