That does seem interesting. Is there anything I can do to generate more log 
data? I can try to reproduce the issue in the test environment, if necessary 
with a patch, if that would be helpful.

Met vriendelijke groet / Best regards,

Ewald Wasscher


-----Original Message-----
From: Emmanuel Lécharny [mailto:[email protected]] 
Sent: vrijdag 24 september 2010 10:09
To: [email protected]
Subject: Re: Error message: ERR_00004 The PDU buffer size is too small !

  On 9/24/10 9:35 AM, Wasscher, Ewald wrote:
> Hi again,
>
> I will provide an LDIF for an entry that caused problems, but once ADS has 
> been restarted the operation (view, add attributes) proceeds just fine for 
> the same entry. Maybe I misunderstood, but I left out an LDIF as you 
> suggested because, for a specific entry, the issue seems to disappear after 
> restarting ADS (which I interpreted as "NOT always the same entry").
>
> Although I don't completely understand your remark considering the clients I 
> can say three clients are used with problems occurring with the last two of 
> those having issues. The clients are:
> - A (smart-)Card Management System (creating initial entries without 
> certificates)
> - Some special software (which adds the issued certificates to the entries 
> created by the CMS)
> - Apache Directory Studio (for management)
>
> What I find interesting is that the issue only appears when the certificate 
> is or has been added to the entry which causes the entry to become a lot 
> bigger. That's why I set the max PDU size to a (very) large value.

Hmmm, interesting !

That could also perfectly be a corner case, where the data is being 
modified while being read at the exact same time : as we first compute 
the PDU size using the entry, and then only feed the allocated byte[] 
with the entry, if another thread has modified the entry in the middle 
of those two operations, you may get this exception. It's possible 
because the entry is being cached, so any modification is applied 
directly to the entry.

However, I *think* we copy the entry from the cache before generating 
the PDU, AFAIR.

IMO, we need to produce more logs to know what's going on here.

The PDU size is just used as a way to limit the size of *incoming* 
requests, it has no impact on the outgoing responses.

-- 
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com

Reply via email to