Binary Attribute Type causes java.lang.StackOverflowError
---------------------------------------------------------

                 Key: DIRSERVER-1457
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1457
             Project: Directory ApacheDS
          Issue Type: Bug
          Components: core
    Affects Versions: 1.5.5
         Environment: Ubuntu Linux x86_64
Sun JDK 1.6.0_17-b04
            Reporter: Lorin Metzger


After creating a custom binary attribute like

dn: cn=schema
changetype: modify
add: attributeTypes
attributeTypes: ( 1.3.6.1.4.1.65536.0.4.3.2.1
        NAME 'templateData'
        DESC 'template data'
        EQUALITY caseIgnoreMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.5
        SINGLE-VALUE
 )

And a objectclass which contains that attribute.  Trying to insert a byte[] 
from Java/JNDI 

    Attributes attrs = new BasicAttributes();
    BasicAttribute ocattr = new BasicAttribute("objectclass");
    ocattr.add("top");
    ocattr.add("templateObject"));
    attrs.put( ocattr );
    byte[] template_data = new byte[4096];
    attrs.put("templateData", template_data);
    context.bind("cn=atemplate,dc=kynen,dc=com", null, attrs);

Causes the ApacheDS server to throw the following StackOverflowError


[20:12:28] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - 
Unexpected exception forcing session to close: sending disconnect notice to 
client.
java.lang.StackOverflowError
        at 
org.apache.directory.server.core.entry.ServerBinaryValue.getNormalizer(ServerBinaryValue.java:574)
        at 
org.apache.directory.server.core.entry.ServerBinaryValue.normalize(ServerBinaryValue.java:193)
        at 
org.apache.directory.server.core.entry.ServerBinaryValue.getNormalizedValueReference(ServerBinaryValue.java:238)
        at 
org.apache.directory.server.core.entry.ServerBinaryValue.hashCode(ServerBinaryValue.java:469)
        at java.util.HashMap.getEntry(HashMap.java:344)
        at java.util.HashMap.containsKey(HashMap.java:335)
        at 
org.apache.directory.shared.ldap.util.SequencedHashMap.containsKey(SequencedHashMap.java:299)
        at 
org.apache.directory.shared.ldap.util.SynchronizedLRUMap.get(SynchronizedLRUMap.java:99)
        at 
org.apache.directory.shared.ldap.schema.normalizers.CachingNormalizer.normalize(CachingNormalizer.java:90)
        at 
org.apache.directory.server.core.entry.ServerBinaryValue.normalize(ServerBinaryValue.java:203)
        at 
org.apache.directory.server.core.entry.ServerBinaryValue.getNormalizedValueReference(ServerBinaryValue.java:238)
        at 
org.apache.directory.server.core.entry.ServerBinaryValue.hashCode(ServerBinaryValue.java:469)
        at java.util.HashMap.getEntry(HashMap.java:344)
        at java.util.HashMap.containsKey(HashMap.java:335)
        at 
org.apache.directory.shared.ldap.util.SequencedHashMap.containsKey(SequencedHashMap.java:299)
        at 
org.apache.directory.shared.ldap.util.SynchronizedLRUMap.get(SynchronizedLRUMap.java:99)
        at 
org.apache.directory.shared.ldap.schema.normalizers.CachingNormalizer.normalize(CachingNormalizer.java:90)
        at 
org.apache.directory.server.core.entry.ServerBinaryValue.normalize(ServerBinaryValue.java:203)
        at 
org.apache.directory.server.core.entry.ServerBinaryValue.getNormalizedValueReference(ServerBinaryValue.java:238)




-- 
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