Error message: ERR_00004 The PDU buffer size is too small !
-----------------------------------------------------------

                 Key: DIRSERVER-1556
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1556
             Project: Directory ApacheDS
          Issue Type: Bug
    Affects Versions: 1.5.7
         Environment: Windows Server 2003 SP2 / Sun JRE 6 update 21
            Reporter: Ewald Wasscher
            Priority: Critical


We're currently testing Apache Directory Server (ADS) in a custom environment 
for a customer of ours. In this environment ADS is used to store certificates 
and certificate revocation lists. At first everything seemed to be working 
fine, but we encounter an error that seems to randomly occur every now. When 
adding an object, viewing an object in Directory Studio or adding attributes 
(the certificate) to an existing object this fails with the following message 
in apacheds-rolling.log: ERR_00004 The PDU buffer size is too small !. After 
encountering this error I twice raised the max PDU buffer size in server.xml to:
 
maxPDUSize="40000000"
 
And restarted the server. Unfortunately the error still occurs every now and 
then. The issue occurs seemingly randomly, independent of the accessed object 
or the LDAP client that is used. If ADS is restarted and Directory Studio 
reconnects the same object can be viewed normally.

I'd appreciate if someone could explain why this occurs and, if possible, how 
this can be fixed. A log fragment is below. The company name as it occurs in 
the log file has been modified.

Log fragment:

[16:58:09] ERROR [org.apache.directory.shared.ldap.codec.LdapEncoder] - 
ERR_04065 Ldap encoder failed to encode object:     Search Result Entry
        entry
ServerEntry
    dn[n]: cn=Test 01 User+givenName=Test 
01+mail=test01u...@test.lan+sn=user,organizationalUnitName=Test,o=Test Bedrijf, 
c=NL
    objectClass: organizationalPerson
    objectClass: person
    objectClass: inetOrgPerson
    objectClass: top
    sn: User
    mail: test01u...@test.lan
    givenName: Test 01
    cn: Test 01 User
    x500uniqueidentifier: 
'0011001100111001011001100011010100110011011001100110010001100100001101110011011001100100001100110011001100110111001101000011011000110101001110010110000101100011001100000110011001100011001101000011011100110111011000100011001100110000001110000110000100110111'B
    businesscategory: Valid
    userCertificate;binary: '0x30 0x82 0x06 0xD6 0x30 0x82 0x04 0xBE 0xA0 0x03 
0x02 0x01 0x02 0x02 0x10 0x39 ...'
, error : ERR_00004 The PDU buffer size is too small !
[16:58:09] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - 
Unexpected exception forcing session to close: sending disconnect notice to 
client.
org.apache.mina.filter.codec.ProtocolEncoderException: 
org.apache.directory.shared.ldap.message.spi.ProviderException: ERR_04065 Ldap 
encoder failed to encode object:     Search Result Entry
        entry
ServerEntry
    dn[n]: cn=Test 01 User+givenName=Test 
01+mail=test01u...@test.lan+sn=user,organizationalUnitName=Test,o=Test Bedrijf, 
c=NL
    objectClass: organizationalPerson
    objectClass: person
    objectClass: inetOrgPerson
    objectClass: top
    sn: User
    mail: test01u...@test.lan
    givenName: Test 01
    cn: Test 01 User
    x500uniqueidentifier: 
'0011001100111001011001100011010100110011011001100110010001100100001101110011011001100100001100110011001100110111001101000011011000110101001110010110000101100011001100000110011001100011001101000011011100110111011000100011001100110000001110000110000100110111'B
    businesscategory: Valid
    userCertificate;binary: '0x30 0x82 0x06 0xD6 0x30 0x82 0x04 0xBE 0xA0 0x03 
0x02 0x01 0x02 0x02 0x10 0x39 ...'
, error : ERR_00004 The PDU buffer size is too small !
        at 
org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:313)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:506)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1400(DefaultIoFilterChain.java:46)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:805)
        at 
org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:706)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:506)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1400(DefaultIoFilterChain.java:46)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:805)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.filterWrite(DefaultIoFilterChain.java:731)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:506)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:498)
        at 
org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:428)
        at 
org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:369)
        at 
org.apache.directory.server.ldap.handlers.SearchHandler.readResults(SearchHandler.java:334)
        at 
org.apache.directory.server.ldap.handlers.SearchHandler.doSimpleSearch(SearchHandler.java:749)
        at 
org.apache.directory.server.ldap.handlers.SearchHandler.handleIgnoringReferrals(SearchHandler.java:978)
        at 
org.apache.directory.server.ldap.handlers.SearchHandler.handleWithReferrals(SearchHandler.java:1054)
        at 
org.apache.directory.server.ldap.handlers.SearchHandler.handleWithReferrals(SearchHandler.java:78)
        at 
org.apache.directory.server.ldap.handlers.ReferralAwareRequestHandler.handle(ReferralAwareRequestHandler.java:94)
        at 
org.apache.directory.server.ldap.handlers.ReferralAwareRequestHandler.handle(ReferralAwareRequestHandler.java:57)
        at 
org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:208)
        at 
org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:58)
        at 
org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:232)
        at 
org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:193)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
        at 
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
        at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
        at 
org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:480)
        at 
org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:434)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.directory.shared.ldap.message.spi.ProviderException: 
ERR_04065 Ldap encoder failed to encode object:     Search Result Entry
        entry
ServerEntry
    dn[n]: cn=Test 01 User+givenName=Test 
01+mail=test01u...@test.lan+sn=user,organizationalUnitName=Test,o=Test Bedrijf, 
c=NL
    objectClass: organizationalPerson
    objectClass: person
    objectClass: inetOrgPerson
    objectClass: top
    sn: User
    mail: test01u...@test.lan
    givenName: Test 01
    cn: Test 01 User
    x500uniqueidentifier: 
'0011001100111001011001100011010100110011011001100110010001100100001101110011011001100100001100110011001100110111001101000011011000110101001110010110000101100011001100000110011001100011001101000011011100110111011000100011001100110000001110000110000100110111'B
    businesscategory: Valid
    userCertificate;binary: '0x30 0x82 0x06 0xD6 0x30 0x82 0x04 0xBE 0xA0 0x03 
0x02 0x01 0x02 0x02 0x10 0x39 ...'
, error : ERR_00004 The PDU buffer size is too small !
        at 
org.apache.directory.shared.ldap.codec.LdapEncoder.encodeBlocking(LdapEncoder.java:139)
        at 
org.apache.directory.shared.ldap.codec.LdapEncoder.encode(LdapEncoder.java:200)
        at 
org.apache.directory.shared.ldap.message.MessageEncoder.encode(MessageEncoder.java:125)
        at 
org.apache.directory.shared.asn1.codec.Asn1CodecEncoder.encode(Asn1CodecEncoder.java:58)
        at 
org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:298)
        ... 32 more
[16:58:09] WARN [org.apache.directory.shared.asn1.ber.Asn1Decoder] - The PDU 
has been fully decoded but there are still bytes in the buffer.
[16:58:09] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Null 
LdapSession given to cleanUpSession.
[16:58:09] ERROR [org.apache.directory.shared.ldap.codec.LdapEncoder] - 
ERR_04065 Ldap encoder failed to encode object:     Search Result Entry
        entry
ServerEntry
    dn[n]: cn=Test 01 User+givenName=Test 
01+mail=test01u...@test.lan+sn=user,organizationalUnitName=Test,o=Test Bedrijf, 
c=NL
    objectClass: organizationalPerson
    objectClass: person
    objectClass: inetOrgPerson
    objectClass: top
    sn: User
    mail: test01u...@test.lan
    givenName: Test 01
    cn: Test 01 User
    x500uniqueidentifier: 
'0011001100111001011001100011010100110011011001100110010001100100001101110011011001100100001100110011001100110111001101000011011000110101001110010110000101100011001100000110011001100011001101000011011100110111011000100011001100110000001110000110000100110111'B
    businesscategory: Valid
    userCertificate;binary: '0x30 0x82 0x06 0xD6 0x30 0x82 0x04 0xBE 0xA0 0x03 
0x02 0x01 0x02 0x02 0x10 0x39 ...'
, error : ERR_00004 The PDU buffer size is too small !
[16:58:09] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - 
Unexpected exception forcing session to close: sending disconnect notice to 
client.
org.apache.mina.filter.codec.ProtocolEncoderException: 
org.apache.directory.shared.ldap.message.spi.ProviderException: ERR_04065 Ldap 
encoder failed to encode object:     Search Result Entry
        entry
ServerEntry
    dn[n]: cn=Test 01 User+givenName=Test 
01+mail=test01u...@test.lan+sn=user,organizationalUnitName=Test,o=Test Bedrijf, 
c=NL
    objectClass: organizationalPerson
    objectClass: person
    objectClass: inetOrgPerson
    objectClass: top
    sn: User
    mail: test01u...@test.lan
    givenName: Test 01
    cn: Test 01 User
    x500uniqueidentifier: 
'0011001100111001011001100011010100110011011001100110010001100100001101110011011001100100001100110011001100110111001101000011011000110101001110010110000101100011001100000110011001100011001101000011011100110111011000100011001100110000001110000110000100110111'B
    businesscategory: Valid
    userCertificate;binary: '0x30 0x82 0x06 0xD6 0x30 0x82 0x04 0xBE 0xA0 0x03 
0x02 0x01 0x02 0x02 0x10 0x39 ...'
, error : ERR_00004 The PDU buffer size is too small !
        at 
org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:313)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:506)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1400(DefaultIoFilterChain.java:46)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:805)
        at 
org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:706)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:506)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1400(DefaultIoFilterChain.java:46)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:805)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.filterWrite(DefaultIoFilterChain.java:731)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:506)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:498)
        at 
org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:428)
        at 
org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:369)
        at 
org.apache.directory.server.ldap.handlers.SearchHandler.readResults(SearchHandler.java:334)
        at 
org.apache.directory.server.ldap.handlers.SearchHandler.doSimpleSearch(SearchHandler.java:749)
        at 
org.apache.directory.server.ldap.handlers.SearchHandler.handleIgnoringReferrals(SearchHandler.java:978)
        at 
org.apache.directory.server.ldap.handlers.SearchHandler.handleWithReferrals(SearchHandler.java:1054)
        at 
org.apache.directory.server.ldap.handlers.SearchHandler.handleWithReferrals(SearchHandler.java:78)
        at 
org.apache.directory.server.ldap.handlers.ReferralAwareRequestHandler.handle(ReferralAwareRequestHandler.java:94)
        at 
org.apache.directory.server.ldap.handlers.ReferralAwareRequestHandler.handle(ReferralAwareRequestHandler.java:57)
        at 
org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:208)
        at 
org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:58)
        at 
org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:232)
        at 
org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:193)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
        at 
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
        at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
        at 
org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:480)
        at 
org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:434)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.directory.shared.ldap.message.spi.ProviderException: 
ERR_04065 Ldap encoder failed to encode object:     Search Result Entry
        entry
ServerEntry
    dn[n]: cn=Test 01 User+givenName=Test 
01+mail=test01u...@test.lan+sn=user,organizationalUnitName=Test,o=Test Bedrijf, 
c=NL
    objectClass: organizationalPerson
    objectClass: person
    objectClass: inetOrgPerson
    objectClass: top
    sn: User
    mail: test01u...@test.lan
    givenName: Test 01
    cn: Test 01 User
    x500uniqueidentifier: 
'0011001100111001011001100011010100110011011001100110010001100100001101110011011001100100001100110011001100110111001101000011011000110101001110010110000101100011001100000110011001100011001101000011011100110111011000100011001100110000001110000110000100110111'B
    businesscategory: Valid
    userCertificate;binary: '0x30 0x82 0x06 0xD6 0x30 0x82 0x04 0xBE 0xA0 0x03 
0x02 0x01 0x02 0x02 0x10 0x39 ...'
, error : ERR_00004 The PDU buffer size is too small !
        at 
org.apache.directory.shared.ldap.codec.LdapEncoder.encodeBlocking(LdapEncoder.java:139)
        at 
org.apache.directory.shared.ldap.codec.LdapEncoder.encode(LdapEncoder.java:200)
        at 
org.apache.directory.shared.ldap.message.MessageEncoder.encode(MessageEncoder.java:125)
        at 
org.apache.directory.shared.asn1.codec.Asn1CodecEncoder.encode(Asn1CodecEncoder.java:58)
        at 
org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:298)
        ... 32 more


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