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
