Good day,
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. I'd appreciate if someone could explain why this occurs and, if possible,
how this can be fixed. I added a log fragment, which is, for the sake of
readability, an attachment. The company name as it occurs in the log file has
been modified.
Best regards,
Ewald Wasscher
[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
[email protected]+sn=user,organizationalUnitName=Test,o=Test Bedrijf,
c=NL
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
objectClass: top
sn: User
mail: [email protected]
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
[email protected]+sn=user,organizationalUnitName=Test,o=Test Bedrijf,
c=NL
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
objectClass: top
sn: User
mail: [email protected]
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
[email protected]+sn=user,organizationalUnitName=Test,o=Test Bedrijf,
c=NL
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
objectClass: top
sn: User
mail: [email protected]
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
[email protected]+sn=user,organizationalUnitName=Test,o=Test Bedrijf,
c=NL
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
objectClass: top
sn: User
mail: [email protected]
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
[email protected]+sn=user,organizationalUnitName=Test,o=Test Bedrijf,
c=NL
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
objectClass: top
sn: User
mail: [email protected]
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
[email protected]+sn=user,organizationalUnitName=Test,o=Test Bedrijf,
c=NL
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
objectClass: top
sn: User
mail: [email protected]
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