Closed Bug 9049 Opened 27 years ago Closed 26 years ago

update stops working with very large attribute lists

Categories

(Directory Graveyard :: PerLDAP, defect, P1)

Sun
Solaris

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: kmccarth, Assigned: leif)

Details

Attachments

(1 file)

Posted in newsgroup: I am using Perl 5.004_04, PerLDAP 1.22 on Solaris 2.51. I've written some administrative programs to manipulate groupOfUniqueNames objectclasses in LDAP. [These are used to restrict access to parts of a web server using Enterprise Server]. My programs have been working, until today. It seems I've hit a size limit of some kind. I was trying to remove a uniquemember entry from an object with 4085 entries in it. I tracked the problem down to a line in Entry.pm, removeValue(), line 368: @{$self->{"_self_obj_"}->{"_${attr}_save_"}} = @{$self->{$attr}} unless defined($self->{"_${attr}_save_"}); This line was failing. The _${attr}_save_ did not receive the values from $attr. It has a size of 0 after the assignment (and should have been 4085) I changed the line to read: $self->{"_self_obj_"}->{"_${attr}_save_"} = [ @{$self->{$attr}} ] unless defined($self->{"_${attr}_save_"}); This version worked. I'm assuming this is a Perl bug, something to do with array assignment as opposed to populating a reference to an array can hold more values. Since this second version is working for me, I would like to get some feedback, and if favorable, merge the change into the code. This change would need to be made in about 5 places in Entry.pm. Thanks, Kevin McCarthy kmccarth@baynetworks.com
OS: Windows 95 → Solaris
Priority: P3 → P1
Hardware: PC → Sun
Status: NEW → ASSIGNED
Leif Hedstrom <leif@netscape.com> writes: >Nick Ing-Simmons wrote: > >> I'd suggest changing the default in the Config.pm that you ship to >> default to -Od (or whatever the "safest" value is). >> Reasoning here is that those that have the expertise to dork with >> this stuff can still dork it back to -O2, while those that don't are >> more likely to get something that works "out of the box". > >Ahh, makes a lot of sense. Thanks for all the suggestions, I'm going to >try it again as soon as I possibly can. Does anyone know if this >optimization bug is in VC++ 5.0 only, or is it in 6.0 as well? There is more than one bug. For ages VC++ could not build perl with -O2. Then some service pack to VC5 allowed that, but still could not build Tk. FWIW (and it ain't worth what I paid for it) VC6.0 Professional _does_ seem to be able to build Tk800.014 with -O2. >I remember >having a similar problem when compiling Perl on NT with VC++ v5.0, and >setting optimization to just /O (I think) helped (otherwise the build >wouldn't even pass Perl's regression tests...). > >Btw, how hard is it to create a binary install package that I can send to >my ActivePerl users? Quite easy. Tinker with top-level Makefile.PL then tar up the blib attached is mail that helped me. -- Nick Ing-Simmons <nik@tiuk.ti.com> Via, but not speaking for: Texas Instruments Ltd.
IGNORE THE LAST COMMENT, I PUT IT IN THE WRONG BUG...
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Fixed as suggested.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: