From: Brad D. <br...@Di...> - 2003-03-26 19:43:43
|
Hello all, I changed the LANG environment variable per the recommendation for the "strange problem" thread and it resolved my problem as well. The following lines from the other thread explain the problem: > A similar sounding problem came up before. Then, Graham's comment: > > > Have you tried it with a pre 5.8 version of perl ? > > > > I have a feeling this is something todo with unicode/utf8 support > > in 5.8 that Convert::ASN1 is not accounting for. > > > > As you are on RH 8.0, what do you have in /etc/sysconfig/i18n > > > > If it mentions UTF-8 try setting your LANG environment variable to en_US > > > > Graham. > So, setting the LANG environment variable to en_US fixed my problem as well. I suspect the same would apply to the "unblessed reference" thread as well. Regards, Brad On Wed, 2003-03-26 at 12:07, Brad Diggs wrote: > Per Graham's recommendations in the "unblessed reference?" thread, I > enabled debug level 15 and got the following output: > > Net::LDAP=HASH(0x8169f70) sending: > > 30 28 02 01 01 60 23 02 01 03 04 14 63 6E 3D 44 0(...`#.....cn=D > 69 72 65 63 74 6F 72 79 20 4D 61 6E 61 67 65 72 irectory Manager > 80 08 61 64 6D 69 6E 31 32 33 __ __ __ __ __ __ ..password > > 0000 40: SEQUENCE { > 0002 1: INTEGER = 1 > 0005 35: [APPLICATION 0] { > 0007 1: INTEGER = 3 > 000A 20: STRING = 'cn=Directory Manager' > 0020 8: [CONTEXT 0] > 0022 : 61 64 6D 69 6E 31 32 33 __ __ __ __ __ __ __ __ > password > 002A : } > 002A : } > Net::LDAP=HASH(0x8169f70) received: > > 30 0C 02 01 01 61 07 0A 01 00 04 00 04 00 __ __ 0....a........ > > 0000 12: SEQUENCE { > 0002 1: INTEGER = 1 > 0005 7: [APPLICATION 1] { > 0007 1: ENUM = 0 > 000A 0: STRING = '' > 000C 0: STRING = '' > 000E : } > 000E : } > Adding Fname1, LName1, to samsun:389 via cn=Directory Manager:password > DN before update "cn=Fname1 LName1, ou=People, o=diggsfamily" > Net::LDAP=HASH(0x8169f70) sending: > > substr outside of string at > /usr/lib/perl5/site_perl/5.8.0/Convert/ASN1/Debug.pm line 33, <PSAFILE> > line 1. > > ------------------------------------------------------ > Doing the same at debug level 12 yields the following: > > > Net::LDAP=HASH(0x8169f70) sending: > 0000 40: SEQUENCE { > 0002 1: INTEGER = 1 > 0005 35: [APPLICATION 0] { > 0007 1: INTEGER = 3 > 000A 20: STRING = 'cn=Directory Manager' > 0020 8: [CONTEXT 0] > 0022 : 61 64 6D 69 6E 31 32 33 __ __ __ __ __ __ __ __ > password > 002A : } > 002A : } > Net::LDAP=HASH(0x8169f70) received: > 0000 12: SEQUENCE { > 0002 1: INTEGER = 1 > 0005 7: [APPLICATION 1] { > 0007 1: ENUM = 0 > 000A 0: STRING = '' > 000C 0: STRING = '' > 000E : } > 000E : } > Adding Fname1, LName1, to samsun:389 via cn=Directory Manager:password > DN before update "cn=Fname1 LName1, ou=People, o=diggsfamily" > Net::LDAP=HASH(0x8169f70) sending: > 0000 194: SEQUENCE { > 0003 1: INTEGER = 2 > 0006 194: [APPLICATION 8] { > 0009 42: STRING > 000B : C2 B2 04 2A 63 6E 3D 46 6E 61 6D 65 31 20 4C 4E > ...*cn=Fname1 LN > 001B : 61 6D 65 31 2C 20 6F 75 3D 50 65 6F 70 6C 65 2C ame1, > ou=People, > 002B : 20 6F 3D 64 69 67 67 73 66 61 __ __ __ __ __ __ > o=diggsfa > 0035 194: SEQUENCE { > 0038 21: SEQUENCE { > 003A 2: STRING > 003C : C2 81 __ __ __ __ __ __ __ __ __ __ __ __ __ __ .. > 003E 15: SET { > 0040 13: STRING > 0042 : 63 6E 31 0F 04 0D 46 6E 61 6D 65 31 20 __ __ __ > cn1...Fname1 > 004F : } > 004F : } > 004F 65: SEQUENCE { > 0051 11: STRING > 0053 : 65 31 30 41 04 0B 6F 62 6A 65 63 __ __ __ __ __ > e10A..objec > 005E 50: SET { > 0060 3: STRING = 'ss1' > 0065 6: STRING > 0067 : 03 74 6F 70 04 06 __ __ __ __ __ __ __ __ __ __ > .top.. > 006D 20: STRING > 006F : 72 73 6F 6E 04 14 6F 72 67 61 6E 69 7A 61 74 69 > rson..organizati > 007F : 6F 6E 61 6C __ __ __ __ __ __ __ __ __ __ __ __ > onal > 0083 13: STRING > 0085 : 72 73 6F 6E 04 0D 69 6E 65 74 4F 72 67 __ __ __ > rson..inetOrg > 0092 : } > 0092 : } > 0092 14: SEQUENCE { > 0094 2: STRING = 'on' > 0098 8: SET { > 009A 6: STRING > 009C : 73 6E 31 08 04 06 __ __ __ __ __ __ __ __ __ __ > sn1... > 00A2 : } > 00A2 : } > 00A2 21: SEQUENCE { > 00A4 9: STRING > 00A6 : 65 31 30 15 04 09 67 69 76 __ __ __ __ __ __ __ > e10...giv > 00AF 8: SET { > 00B1 6: STRING > 00B3 : 6D 65 31 08 04 06 __ __ __ __ __ __ __ __ __ __ > me1... > 00B9 : } > 00B9 : } > DN after update "cn=Fname1 LName1, ou=People, o=diggsfamily" > Error: Add failed -> I/O Error > > ------------------------------------------------------ > > With regards to the directory server log files, the > directory server never receives the LDAP add request. > It sees a successful connect and BIND but no add. > > Brad > > On Wed, 2003-03-26 at 11:22, Brad Diggs wrote: > > Thanks to Graham for the recommendation (although on another thread, > > I added the following to my script, ran it, and then killed it with > > "kill -USR2 <pid>". > > > > use Carp; > > $SIG{USR2} = \&Carp::croak; > > > > The following line was the resulting error returned by my script: > > > > USR2 at /usr/lib/perl5/site_perl/5.8.0/Net/LDAP.pm line 661 > > > > Note that this is consistent with what I had assumed from my previous > > note. The LDAP is getting hung up on the asn_read on line 661 of > > LDAP.pm. > > > > Regards, > > Brad > > > > > > On Tue, 2003-03-25 at 21:08, Brad Diggs wrote: > > > Based on the previous note and the following excerpt from the LDAP.pm > > > perl module, I presume that after the bind, the LDAP socket or > > > associated file handler must be getting dropped before I send a > > > request to it. > > > > > > 652 sub _recvresp { > > > 653 my $ldap = shift; > > > 654 my $what = shift; > > > 655 my $sock = $ldap->socket; > > > 656 my $sel = IO::Select->new($sock); > > > 657 my $ready; > > > 658 > > > 659 for( $ready = 1 ; $ready ; $ready = $sel->can_read(0)) { > > > 660 my $pdu; > > > 661 asn_read($sock, $pdu) > > > 662 or return LDAP_OPERATIONS_ERROR; > > > > > > My guess is that the open() function and the asn_read() functions are > > > colliding on the file handler for the LDAP connection socket. Thats > > > just by guess though. > > > > > > What do you think? I sure would like to see the answer because I can't > > > get my data loaded into the directory. > > > > > > Brad > > > > > > On Tue, 2003-03-25 at 15:11, Brad Diggs wrote: > > > > Running with Net::LDAP debug of 12 didn't yield much different than > > > > with 4. However, I ran with perl debugger on and got the following > > > > when I did a Ctrl-c on the hang... > > > > > > > > Convert::ASN1::asn_read(/usr/lib/perl5/site_perl/5.8.0/Convert/ASN1/IO.pm:198): > > > > 198: READ_ERR: > > > > 199: $@ = "I/O Error $! " . CORE::unpack("H*",$_[1]); > > > > > > > > Should I be led to believe by this that the problem may be in the ASN > > > > code? > > > > > > > > Brad > > > > ------------------------------------------------------- > This SF.net email is sponsored by: > The Definitive IT and Networking Event. Be There! > NetWorld+Interop Las Vegas 2003 -- Register today! > http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en ________________________________________________________________________ | --+-- | | | Brad Diggs E-mail: Br...@Di... Web Site: http://www.DiggsFamily.net The Truth is a person named Jesus (John 14:6). Do you know Him? He knows you and has a wonderful plan for your life (John 20:31). ________________________________________________________________________ |