From: Brad D. <br...@Di...> - 2003-03-25 21:12:53
|
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 |
From: Brad D. <Bra...@Su...> - 2003-03-26 03:12:43
|
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 -- --------------------------------------------------------------------- _/_/_/ _/ _/ _/ _/ Brad Diggs _/ _/ _/ _/_/ _/ Directory and Identity Architect _/_/_/ _/ _/ _/ _/ _/ Office: 972-992-0002 _/ _/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ Bra...@Su... M I C R O S Y S T E M S --------------------------------------------------------------------- |
From: Brad D. <br...@Di...> - 2003-03-26 17:23:28
|
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 |
From: <Sta...@GI...> - 2003-03-26 17:34:53
|
Brad, I've never gotten that particular error, but I have recieved many errors in perl-ldap and ASN1 when I submitted errant arguments due to typos in my code mostly. But my point is you can definately cause some misinteractions between Net::LDAP and Convert::ASN1 with bad values passed. I know that's not what's going on here, but I just thought I'd point out it happens. In fact I had to give up using $ldap->add/$ldap->update syntax stuff cause I could never get it to work on Solaris with per 5.6.1, it would die in Convert::ASN1 somewhere. I jsut remembered this as I was typing... let me dig back a bit and see if I can find my test script so I can see where I got an error. I believe this was back when I was using perl-ldap 0.26...hmmm -Stan Brad Diggs <br...@Di...> To: per...@li... Sent by: cc: per...@li...ur Subject: Re: $ldap->add hangs... ceforge.net 03/25/2003 04:11 PM 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 |
From: Brad D. <br...@Di...> - 2003-03-26 18:08:47
|
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 |
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). ________________________________________________________________________ |