[ 
https://issues.apache.org/jira/browse/DIRSERVER-1864?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Emmanuel Lecharny updated DIRSERVER-1864:
-----------------------------------------
    Component/s: jdbm

> search fails in ApacheDS using Spring LDAP
> ------------------------------------------
>
>                 Key: DIRSERVER-1864
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1864
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: jdbm, ldap
>    Affects Versions: 2.0.0-M12
>         Environment: RedHat 5.8 
> java version "1.6.0_45" 
> Java(TM) SE Runtime Environment (build 1.6.0_45-b06) 
> Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
>            Reporter: Slavomir Kocka
>            Priority: Blocker
>
> When searching using Spring LDAP, after some time we get following error in 
> Websphere Logs:
> [6/20/13 13:35:42:921 CEST] 000000f8 UserServiceEn E 
> sk.statistics.isis.ivisiam.common.exceptions.ExceptionHandler toIsisFault 
> generateUserAccounts - IVIS-109000 InternalError
>                                  
> sk.statistics.isis.ivisiam.common.exceptions.BusinessServiceException: 
> InternalError
>       at 
> sk.statistics.isis.ivisiam.common.exceptions.ExceptionHandler.toIsisFault(ExceptionHandler.java:32)
>       at 
> sk.statistics.isis.ivisiam.ws.UserServiceEndpoint.generateUserAccounts(UserServiceEndpoint.java:550)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
>       at java.lang.reflect.Method.invoke(Method.java:611)
>       at 
> org.apache.axis2.jaxws.server.dispatcher.JavaDispatcher.invokeTargetOperation(JavaDispatcher.java:101)
>       at 
> org.apache.axis2.jaxws.server.dispatcher.JavaBeanDispatcher.invoke(JavaBeanDispatcher.java:118)
>       at 
> org.apache.axis2.jaxws.server.EndpointController.invoke(EndpointController.java:111)
>       at 
> org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:161)
>       at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:208)
>       at 
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
>       at 
> com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doPost(WASAxis2Servlet.java:1517)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
>       at 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1224)
>       at 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
>       at 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
>       at 
> com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
>       at 
> com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1032)
>       at 
> com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
>       at 
> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:895)
>       at 
> com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
>       at 
> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
>       at 
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
>       at 
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
>       at 
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
>       at 
> com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
>       at 
> com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
>       at 
> com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
>       at 
> com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
>       at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
>       at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
>       at 
> com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
>       at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
>       at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1659)
> Caused by: org.springframework.ldap.UncategorizedLdapException: Uncategorized 
> exception occured during LDAP processing; nested exception is 
> javax.naming.NamingException: [LDAP: error code 80 - OTHER: failed for 
> MessageType : SEARCH_REQUEST
> Message ID : 2
>     SearchRequest
>         baseDn : 'ou=usersCreated,ou=users,ou=ivisIam'
>         filter : '(&(objectClass=person:[1182])(cn=152_704_526371*:[?]))'
>         scope : whole subtree
>         typesOnly : false
>         Size Limit : no limit
>         Time Limit : no limit
>         Deref Aliases : deref Always
>         attributes : 
> org.apache.directory.api.ldap.model.message.SearchRequestImpl@6ee08536    
> ManageDsaITImpl Control
>         Type OID    : '2.16.840.1.113730.3.4.2'
>         Criticality : 'false'
> '
> : null]; Remaining name: 'ou=usersCreated,ou=users'
>       at 
> org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:217)
>       at 
> org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:319)
>       at 
> org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:259)
>       at 
> org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:606)
>       at 
> org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:524)
>       at 
> org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:473)
>       at 
> org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:493)
>       at 
> org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:513)
>       at 
> sk.statistics.isis.ivisiam.service.impl.UserAccountServiceImpl.findUserAccountsByAttribute(UserAccountServiceImpl.java:284)
>       at 
> sk.statistics.isis.ivisiam.service.impl.UserAccountServiceImpl.findUserAccountsByAttributeLike(UserAccountServiceImpl.java:251)
>       at 
> sk.statistics.isis.ivisiam.service.impl.UserAccountServiceImpl.findGeneratedUsers(UserAccountServiceImpl.java:533)
>       at 
> sk.statistics.isis.ivisiam.ws.UserServiceEndpoint.generateUserAccounts(UserServiceEndpoint.java:474)
>       ... 34 more
> Caused by: javax.naming.NamingException: [LDAP: error code 80 - OTHER: failed 
> for MessageType : SEARCH_REQUEST
> Message ID : 2
>     SearchRequest
>         baseDn : 'ou=usersCreated,ou=users,ou=ivisIam'
>         filter : '(&(objectClass=person:[1182])(cn=152_704_526371*:[?]))'
>         scope : whole subtree
>         typesOnly : false
>         Size Limit : no limit
>         Time Limit : no limit
>         Deref Aliases : deref Always
>         attributes : 
> org.apache.directory.api.ldap.model.message.SearchRequestImpl@6ee08536    
> ManageDsaITImpl Control
>         Type OID    : '2.16.840.1.113730.3.4.2'
>         Criticality : 'false'
> '
> : null]; Remaining name: 'ou=usersCreated,ou=users'
>       at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3123)
>       at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3025)
>       at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2832)
>       at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1841)
>       at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1764)
>       at 
> com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:380)
>       at 
> com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:350)
>       at 
> com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:333)
>       at 
> org.apache.aries.jndi.DelegateContext.search(DelegateContext.java:365)
>       at 
> javax.naming.directory.InitialDirContext.search(InitialDirContext.java:245)
>       at 
> org.springframework.ldap.core.LdapTemplate$4.executeSearch(LdapTemplate.java:253)
>       at 
> org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:293)
>       ... 44 more
> After enabling some more logging in ApacheDS we got also some errors there 
> (it is not the log from same incident as above):
> [13:59:16] DEBUG 
> [org.apache.directory.server.ldap.handlers.request.BindRequestHandler] - 
> Returned SUCCESS message: MessageType : BIND_RESPONSE
> Message ID : 1
>     BindResponse
>         Ldap Result
>             Result code : (SUCCESS) success
>             Matched Dn : 'null'
>             Diagnostic message : 'null'
> .
> [13:59:16] DEBUG 
> [org.apache.directory.server.ldap.handlers.request.SearchRequestHandler] - 
> Handling single reply request: MessageType : SEARCH_REQUEST
> Message ID : 2
>     SearchRequest
>         baseDn : 'ou=usersCreated,ou=users,ou=ivisIam'
>         filter : '(&(objectclass=person)(cn=152_713_528731*))'
>         scope : whole subtree
>         typesOnly : false
>         Size Limit : no limit
>         Time Limit : no limit
>         Deref Aliases : deref Always
>         attributes : 
> org.apache.directory.api.ldap.model.message.SearchRequestImpl@648f9f60    
> ManageDsaITImpl Control
>         Type OID    : '2.16.840.1.113730.3.4.2'
>         Criticality : 'false'
> '
> [13:59:16] DEBUG 
> [org.apache.directory.server.ldap.handlers.request.SearchRequestHandler] - 
> ManageDsaITControl detected.
> [13:59:16] DEBUG 
> [org.apache.directory.server.ldap.handlers.request.SearchRequestHandler] - 
> Message received:  MessageType : SEARCH_REQUEST
> Message ID : 2
>     SearchRequest
>         baseDn : 'ou=usersCreated,ou=users,ou=ivisIam'
>         filter : '(&(cn=152_713_528731*)(objectclass=person))'
>         scope : whole subtree
>         typesOnly : false
>         Size Limit : no limit
>         Time Limit : no limit
>         Deref Aliases : deref Always
>         attributes : 
> org.apache.directory.api.ldap.model.message.SearchRequestImpl@648f9f60    
> ManageDsaITImpl Control
>         Type OID    : '2.16.840.1.113730.3.4.2'
>         Criticality : 'false'
> '
> [13:59:16] DEBUG 
> [org.apache.directory.server.ldap.handlers.request.SearchRequestHandler] - 
> using <9223372036854775807,9223372036854775807> for size limit
> [13:59:17] DEBUG 
> [org.apache.directory.server.ldap.handlers.request.SearchRequestHandler] - 
> OTHER: failed for MessageType : SEARCH_REQUEST
> Message ID : 2
>     SearchRequest
>         baseDn : 'ou=usersCreated,ou=users,ou=ivisIam'
>         filter : '(&(cn=152_713_528731*:[?])(objectClass=person:[1182]))'
>         scope : whole subtree
>         typesOnly : false
>         Size Limit : no limit
>         Time Limit : no limit
>         Deref Aliases : deref Always
>         attributes : 
> org.apache.directory.api.ldap.model.message.SearchRequestImpl@ee260f6b    
> ManageDsaITImpl Control
>         Type OID    : '2.16.840.1.113730.3.4.2'
>         Criticality : 'false'
> '
> : null
> org.apache.directory.api.ldap.model.cursor.CursorException
>       at 
> org.apache.directory.server.core.partition.impl.btree.EntryCursorAdaptor.get(EntryCursorAdaptor.java:185)
>       at 
> org.apache.directory.server.core.partition.impl.btree.EntryCursorAdaptor.get(EntryCursorAdaptor.java:45)
>       at 
> org.apache.directory.server.core.api.filtering.BaseEntryFilteringCursor.next(BaseEntryFilteringCursor.java:379)
>       at 
> org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.writeResults(SearchRequestHandler.java:391)
>       at 
> org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.doSimpleSearch(SearchRequestHandler.java:841)
>       at 
> org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handleIgnoringReferrals(SearchRequestHandler.java:1148)
>       at 
> org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handle(SearchRequestHandler.java:206)
>       at 
> org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handle(SearchRequestHandler.java:92)
>       at 
> org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:207)
>       at 
> org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:56)
>       at 
> org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:221)
>       at 
> org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:217)
>       at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:690)
>       at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
>       at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
>       at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
>       at 
> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74)
>       at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
>       at 
> org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:474)
>       at 
> org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:428)
>       at java.lang.Thread.run(Thread.java:662)
> Caused by: 
> org.apache.directory.api.ldap.model.exception.LdapOperationErrorException
>       at 
> org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.fetch(AbstractBTreePartition.java:1083)
>       at 
> org.apache.directory.server.xdbm.search.evaluator.SubtreeScopeEvaluator.evaluate(SubtreeScopeEvaluator.java:169)
>       at 
> org.apache.directory.server.xdbm.search.evaluator.AndEvaluator.evaluate(AndEvaluator.java:110)
>       at 
> org.apache.directory.server.core.partition.impl.btree.EntryCursorAdaptor.get(EntryCursorAdaptor.java:169)
>       ... 20 more
> Caused by: org.apache.directory.api.ldap.model.exception.LdapOtherException
>       at 
> org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmTable.get(JdbmTable.java:353)
>       at 
> org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex.reverseLookup(JdbmIndex.java:364)
>       at 
> org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex.reverseLookup(JdbmIndex.java:59)
>       at 
> org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.buildEntryDn(AbstractBTreePartition.java:2102)
>       at 
> org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.fetch(AbstractBTreePartition.java:1077)
>       ... 23 more
> [13:59:17] DEBUG 
> [org.apache.directory.server.ldap.handlers.request.UnbindRequestHandler] - 
> Received: MessageType : UNBIND_REQUEST
> Message ID : 3
>     UnBind 
> Requestorg.apache.directory.api.ldap.model.message.UnbindRequestImpl@41fedc8c 
>    ManageDsaITImpl Control
>         Type OID    : '2.16.840.1.113730.3.4.2'
>         Criticality : 'false'
> '
> This issue we already noticed in ApacheDS 1.5.7 and it was the reason we 
> moved towards 2.0.0.M* version...



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to