directory-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Karasulu <akaras...@gmail.com>
Subject Re: classcast on ApacheDS
Date Wed, 22 Apr 2009 17:37:07 GMT
Hi Mert, Yiannis,

Yiannis is right on this one.  We fixed a lot of bugs in 1.5.5 and I think
it may impact this scenario.  Give it a try and let us know.  1.5.5 should
be out here in a week or so.  We apologize for the delays.


2009/4/22 Yiannis Mavroukakis <imavroukakis@gameaccount.com>

> I go via the "build your own" route to be honest, just get the entire
> source tree via SVN and do a mvn -Dmaven.test.skip=true install
>
> Y.
>
>
> Mert Çalışkan wrote:
>
>> ok,
>> is there any nightly builds? or I should do it myself?
>>
>> 2009/4/22 Yiannis Mavroukakis <imavroukakis@gameaccount.com>
>>
>>
>>
>>> Sorry I meant build off of the SVN branch, this is what I am using.
>>>
>>>
>>> Mert Çalışkan wrote:
>>>
>>>
>>>
>>>> 1.5.5?
>>>> latest downloads are only for 1.5.4, no?
>>>> http://directory.apache.org/apacheds/1.5/downloads.html
>>>>
>>>> 2009/4/22 Yiannis Mavroukakis <imavroukakis@gameaccount.com>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>> Have you tried this with 1.5.5 ?
>>>>>
>>>>>
>>>>> Mert Çalışkan wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> yes, when that method executes, my ApacheDS server (standalone working
>>>>>> one)
>>>>>> throws that error.
>>>>>>
>>>>>>
>>>>>> 2009/4/22 Yiannis Mavroukakis <imavroukakis@gameaccount.com>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Are you getting the same ClassCastException as the root cause
of the
>>>>>>> search?
>>>>>>>
>>>>>>>
>>>>>>> Mert Çalışkan wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Hey,
>>>>>>>>
>>>>>>>> via jdni calls I guess, seam's ldap-identity-store is taking
care
>>>>>>>> of...
>>>>>>>> lemme elaborate the case,
>>>>>>>>
>>>>>>>> Actually before creating a user, the seam framework is doing
a
>>>>>>>> search
>>>>>>>> with
>>>>>>>> userExists method.
>>>>>>>>
>>>>>>>>  public boolean userExists(String name)
>>>>>>>>  {
>>>>>>>>   InitialLdapContext ctx = null;
>>>>>>>>   try
>>>>>>>>   {
>>>>>>>>      ctx = initialiseContext();
>>>>>>>>
>>>>>>>>      String[] userAttr = {getUserNameAttribute()};
>>>>>>>>
>>>>>>>>      SearchControls controls = new SearchControls();
>>>>>>>>      controls.setSearchScope(searchScope);
>>>>>>>>      controls.setReturningAttributes(userAttr);
>>>>>>>>      controls.setTimeLimit(getSearchTimeLimit());
>>>>>>>>
>>>>>>>>      StringBuilder userFilter = new StringBuilder();
>>>>>>>>
>>>>>>>>      Object[] filterArgs = new
>>>>>>>> Object[getUserObjectClasses().length];
>>>>>>>>      for (int i = 0; i < getUserObjectClasses().length;
i++)
>>>>>>>>      {
>>>>>>>>         userFilter.append("(");
>>>>>>>>         userFilter.append(getObjectClassAttribute());
>>>>>>>>         userFilter.append("={");
>>>>>>>>         userFilter.append(i);
>>>>>>>>         userFilter.append("})");
>>>>>>>>         filterArgs[i] = getUserObjectClasses()[i];
>>>>>>>>      }
>>>>>>>>
>>>>>>>>      NamingEnumeration answer = ctx.search(getUserContextDN(),
>>>>>>>> userFilter.toString(), filterArgs, controls);
>>>>>>>>      while (answer.hasMore())
>>>>>>>>      {
>>>>>>>>         SearchResult sr = (SearchResult) answer.next();
>>>>>>>>         Attributes attrs = sr.getAttributes();
>>>>>>>>         Attribute user = attrs.get(getUserNameAttribute());
>>>>>>>>
>>>>>>>>         for (int i = 0; i < user.size(); i++)
>>>>>>>>         {
>>>>>>>>            Object value = user.get(i);
>>>>>>>>            if (name.equals(value))
>>>>>>>>            {
>>>>>>>>               answer.close();
>>>>>>>>               return true;
>>>>>>>>            }
>>>>>>>>         }
>>>>>>>>      }
>>>>>>>>      answer.close();
>>>>>>>>      return false;
>>>>>>>>   }
>>>>>>>>   catch (NamingException ex)
>>>>>>>>   {
>>>>>>>>      throw new IdentityManagementException("Error getting
users",
>>>>>>>> ex);
>>>>>>>>   }
>>>>>>>>   finally
>>>>>>>>   {
>>>>>>>>      if (ctx != null)
>>>>>>>>      {
>>>>>>>>         try
>>>>>>>>         {
>>>>>>>>            ctx.close();
>>>>>>>>         }
>>>>>>>>         catch (NamingException ex) {}
>>>>>>>>      }
>>>>>>>>   }
>>>>>>>>  }
>>>>>>>>
>>>>>>>> and this is throwing out,
>>>>>>>>
>>>>>>>>  Caused by:
>>>>>>>> org.jboss.seam.security.management.IdentityManagementException:
>>>>>>>> Error getting users
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> org.jboss.seam.security.management.LdapIdentityStore.userExists(LdapIdentityStore.java:1235)
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> org.jboss.seam.security.management.IdentityManager.userExists(IdentityManager.java:172)
>>>>>>>>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>>>>  at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>>  at
>>>>>>>>
>>>>>>>> org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:335)
>>>>>>>>  ... 79 more
>>>>>>>> Caused by: javax.naming.CommunicationException: Request:
2
>>>>>>>> cancelled;
>>>>>>>> remaining name 'ou=people,o=mycompany'
>>>>>>>>  at com.sun.jndi.ldap.LdapRequest.getReplyBer(LdapRequest.java:60)
>>>>>>>>  at com.sun.jndi.ldap.Connection.readReply(Connection.java:411)
>>>>>>>>
>>>>>>>> M
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Apr 22, 2009 at 3:55 PM, Yiannis Mavroukakis <
>>>>>>>> imavroukakis@gameaccount.com> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> How are you creating this new person? Via JNDI calls
or through the
>>>>>>>>> DS
>>>>>>>>> API?
>>>>>>>>>
>>>>>>>>> Y.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Mert Çalışkan wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I'm integrating the seam framework's user management
module with
>>>>>>>>>> ApacheDS
>>>>>>>>>> ldap. For creating a new user (person objectClass)
in the DS I got
>>>>>>>>>> the
>>>>>>>>>> error
>>>>>>>>>> below,
>>>>>>>>>> So apacheDS is forcing the client to close the conn
since it gets
>>>>>>>>>> a
>>>>>>>>>> classcast. I'm on 1.5.4 version. How to debug &
solve this? Any
>>>>>>>>>> clues?
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>>
>>>>>>>>>> M
>>>>>>>>>>
>>>>>>>>>> Trace:
>>>>>>>>>>
>>>>>>>>>> [15:39:46] WARN
>>>>>>>>>> [org.apache.directory.server.ldap.LdapProtocolHandler]
>>>>>>>>>> -
>>>>>>>>>> [/
>>>>>>>>>> 127.0.0.1:2453] Unexpected exception forcing
>>>>>>>>>> session to close: sending disconnect notice to client.
>>>>>>>>>> *org.apache.mina.filter.codec.ProtocolDecoderException:
>>>>>>>>>> java.lang.ClassCastException: org.apache.directory.shared.ldap.co
>>>>>>>>>> dec.search.AttributeValueAssertionFilter cannot be
cast to
>>>>>>>>>> org.apache.directory.shared.ldap.codec.search.ConnectorFilter*
>>>>>>>>>> (Hexdump: 30 81 82 02 01 02 63 60 04 17 6F 75 3D
70 65 6F 70 6C 65
>>>>>>>>>> 2C
>>>>>>>>>> 6F
>>>>>>>>>> 3D
>>>>>>>>>> 6F 6E 74 6F 6D 65 74 72 69 63 73 0A 01 02 0
>>>>>>>>>> A 01 03 02 01 00 02 01 0B 01 01 00 A3 15 04 0B 6F
62 6A 65 63 74
>>>>>>>>>> 43
>>>>>>>>>> 6C
>>>>>>>>>> 61
>>>>>>>>>> 73
>>>>>>>>>> 73 04 06 70 65 72 73 6F 6E A3 18 04 0B 6F 6
>>>>>>>>>> 2 6A 65 63 74 43 6C 61 73 73 04 09 75 69 64 4F 62
6A 65 63 74 30
>>>>>>>>>> 05
>>>>>>>>>> 04
>>>>>>>>>> 03
>>>>>>>>>> 75
>>>>>>>>>> 69 64 A0 1B 30 19 04 17 32 2E 31 36 2E 38 3
>>>>>>>>>> 4 30 2E 31 2E 31 31 33 37 33 30 2E 33 2E 34 2E 32)
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:165)
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:6
>>>>>>>>>> 48)
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
>>>>>>>>>>   at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
>>>>>>>>>> Source)
>>>>>>>>>>   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>>>>>>>>>> Source)
>>>>>>>>>>   at java.lang.Thread.run(Unknown Source)
>>>>>>>>>> Caused by: java.lang.ClassCastException:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.directory.shared.ldap.codec.search.AttributeValueAssertionFilter
>>>>>>>>>> can
>>>>>>>>>> not be cast to
>>>>>>>>>> org.apache.directory.shared.ldap.codec.search.ConnectorFilter
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.directory.shared.ldap.codec.search.SearchRequest.addCurrentFilter(SearchRequest.java:356)
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.directory.shared.ldap.codec.actions.InitEqualityMatchFilterAction.action(InitEqualityMatchFilterAc
>>>>>>>>>> tion.java:70)
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.directory.shared.asn1.ber.grammar.AbstractGrammar.executeAction(AbstractGrammar.java:153)
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.directory.shared.asn1.ber.Asn1Decoder.treatTLVDoneState(Asn1Decoder.java:620)
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.directory.shared.asn1.ber.Asn1Decoder.decode(Asn1Decoder.java:796)
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.directory.shared.ldap.codec.TwixDecoder.decode(TwixDecoder.java:110)
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.directory.shared.ldap.message.MessageDecoder.decode(MessageDecoder.java:150)
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.directory.shared.asn1.codec.Asn1CodecDecoder.decode(Asn1CodecDecoder.java:53)
>>>>>>>>>>   at
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:158)
>>>>>>>>>>   ... 8 more
>>>>>>>>>> [15:39:46] WARN
>>>>>>>>>> [org.apache.directory.server.ldap.LdapProtocolHandler]
>>>>>>>>>> -
>>>>>>>>>> Null LdapSession given to cleanUpSession.
>>>>>>>>>> [15:39:46] WARN
>>>>>>>>>> [org.apache.directory.server.ldap.LdapProtocolHandler]
>>>>>>>>>> -
>>>>>>>>>> Null LdapSession given to cleanUpSession.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>
>>>
>>
>>
>


-- 
Alex Karasulu
My Blog :: http://www.jroller.com/akarasulu/
Apache Directory Server :: http://directory.apache.org
Apache MINA :: http://mina.apache.org

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message