[ 
https://issues.apache.org/jira/browse/DIRSERVER-1180?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600311#action_12600311
 ] 

Alex Karasulu commented on DIRSERVER-1180:
------------------------------------------

The substring expression decoding is hung in this case.  It gets into a state 
it cannot recover from it seems and the exception is not bubbled back up with 
an error response.  

I'd like to figure out how other servers behave in this case.  Using common 
sense I would condense multiple sequential wildcards into a single wildcard 
then process.  The tricky part here in this special case, is this heuristic 
will convert a substring filter AVA into a presence AVA.  How this is handled 
in the code is going to be a little bit of a challenge.


> NPE and hanging search request when using a filter with empty substring 
> sequence
> --------------------------------------------------------------------------------
>
>                 Key: DIRSERVER-1180
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1180
>             Project: Directory ApacheDS
>          Issue Type: Bug
>    Affects Versions: 1.5.3, 1.5.2
>            Reporter: Stefan Seelmann
>            Priority: Blocker
>
> When starting a search request using the seachfilter (cn=**) the request 
> lasts forever. I testet with JNDI and ldapsearch command. 
> Here is the server log:
> [00:22:01] ERROR 
> [org.apache.directory.shared.ldap.codec.actions.StoreAnyAction] - The 
> substring any filter is empty
> [00:22:01] WARN 
> [org.apache.directory.server.ldap.LdapServer$LdapProtocolHandler] - 
> [/127.0.0.1:47315] Unexpected exception from exceptionCaught handler.
> java.lang.NullPointerException: message
>       at 
> org.apache.mina.common.IoFilter$WriteRequest.<init>(IoFilter.java:333)
>       at 
> org.apache.mina.common.support.BaseIoSession.write(BaseIoSession.java:177)
>       at 
> org.apache.mina.common.support.BaseIoSession.write(BaseIoSession.java:168)
>       at 
> org.apache.directory.server.ldap.LdapServer$LdapProtocolHandler.exceptionCaught(LdapServer.java:1104)
>       at 
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.exceptionCaught(AbstractIoFilterChain.java:564)
>       at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextExceptionCaught(AbstractIoFilterChain.java:345)
>       at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:53)
>       at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.exceptionCaught(AbstractIoFilterChain.java:643)
>       at 
> org.apache.mina.common.IoFilterAdapter.exceptionCaught(IoFilterAdapter.java:75)
>       at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextExceptionCaught(AbstractIoFilterChain.java:345)
>       at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:53)
>       at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.exceptionCaught(AbstractIoFilterChain.java:643)
>       at 
> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:224)
>       at 
> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>       at java.lang.Thread.run(Thread.java:636)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to