Thread: [Ssh-sftp-perl-users] Net::SSH2::Channel objects not getting destroyed
Brought to you by:
dbrobins
From: Stephen C. <ste...@gm...> - 2006-04-07 21:22:31
|
SSBhbSB1c2luZyBOZXQ6OlNTSDIgYXMgcGFydCBvZiBhIHBlcnNpc3RlbnQgZGFlbW9uLiAgTXkg aXNzdWUgaXMgdGhhdAo6OkNoYW5uZWwgb2JqZWN0cyAoaW5jbHVkaW5nIHRob3NlIHRoYXQgYXJl IGltcGxpY2l0bHkgY3JlYXRlZCBieQpzY3BfZ2V0KSBhcmUgbm90IGdldHRpbmcgZGVzdHJveWVk LCBldmVuIHRob3VnaCB0aGV5IGFyZSBsZWF2aW5nCnNjb3BlLiAgVGhpcyBwcmV2ZW50cyB0aGUg bWFpbiBOZXQ6OlNTSDIgb2JqZWN0IGZyb20gZ2V0dGluZyBkZXN0cm95ZWQKd2hlbiBpdCBnb2Vz IG91dCBvZiBzY29wZSwgd2hpY2ggY2F1c2VzIGJvdGggYSBtZW1vcnkgbGVhayBhbmQgYQpzb2Nr ZXQgZGVzY3JpcHRvciBsZWFrLiAgQWZ0ZXIgYSBmZXcgaG91cnMgb2YgcnVubmluZywgb3VyIHBy b2Nlc3MgZmQKc3BhY2UgbG9va3MgbGlrZSB0aGlzOgoKdG90YWwgMjg0Cmxyd3gtLS0tLS0gIDEg NjQgQXByICA3IDEzOjQzIDAgLT4gL2Rldi9wdHMvMgpscnd4LS0tLS0tICAxIDY0IEFwciAgNyAx Mzo0MyAxIC0+IC9kZXYvcHRzLzIKbHJ3eC0tLS0tLSAgMSA2NCBBcHIgIDcgMTM6NDMgMTAgLT4g c29ja2V0OlsyMzAyMzcyN10KbHJ3eC0tLS0tLSAgMSA2NCBBcHIgIDcgMTM6NDMgMTAwIC0+IHNv Y2tldDpbMjU5NDE0NzldCmxyd3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDEwMSAtPiBzb2Nr ZXQ6WzI1OTQyOTU0XQpscnd4LS0tLS0tICAxIDY0IEFwciAgNyAxMzo0MyAxMDIgLT4gc29ja2V0 OlsyNTk0MzYwN10KbHJ3eC0tLS0tLSAgMSA2NCBBcHIgIDcgMTM6NDMgMTAzIC0+IHNvY2tldDpb MjU5NDUwNDNdCmxyd3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDEwNCAtPiBzb2NrZXQ6WzI1 OTQ1NTc1XQpscnd4LS0tLS0tICAxIDY0IEFwciAgNyAxMzo0MyAxMDUgLT4gc29ja2V0OlsyNTk0 NjAxNF0KbHJ3eC0tLS0tLSAgMSA2NCBBcHIgIDcgMTM6NDMgMTA2IC0+IHNvY2tldDpbMjU5NDcy NjJdCmxyd3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDEwNyAtPiBzb2NrZXQ6WzI1OTQ3ODUx XQpscnd4LS0tLS0tICAxIDY0IEFwciAgNyAxMzo0MyAxMDggLT4gc29ja2V0OlsyNTk0OTIyM10K bHJ3eC0tLS0tLSAgMSA2NCBBcHIgIDcgMTM6NDMgMTA5IC0+IHNvY2tldDpbMjU5NTA3NDJdCmxy d3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDExIC0+IHNvY2tldDpbMjMwMjQ3ODldCmxyd3gt LS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDExMCAtPiBzb2NrZXQ6WzI1OTUxNzEwXQpscnd4LS0t LS0tICAxIDY0IEFwciAgNyAxMzo0MyAxMTEgLT4gc29ja2V0OlsyNTk1MjkyMl0KbHJ3eC0tLS0t LSAgMSA2NCBBcHIgIDcgMTM6NDMgMTEyIC0+IHNvY2tldDpbMjU5NTM3MDddCmxyd3gtLS0tLS0g IDEgNjQgQXByICA3IDEzOjQzIDExMyAtPiBzb2NrZXQ6WzI1OTU1NDM2XQpscnd4LS0tLS0tICAx IDY0IEFwciAgNyAxMzo0MyAxMTQgLT4gc29ja2V0OlsyNTk1NzAwOF0KbHJ3eC0tLS0tLSAgMSA2 NCBBcHIgIDcgMTM6NDMgMTE1IC0+IHNvY2tldDpbMjU5NTc3NjZdCmxyd3gtLS0tLS0gIDEgNjQg QXByICA3IDEzOjQzIDExNiAtPiBzb2NrZXQ6WzI1OTU4OTg0XQpscnd4LS0tLS0tICAxIDY0IEFw ciAgNyAxMzo0MyAxMTcgLT4gc29ja2V0OlsyNTk5MzA5OV0KCi4uLmFuZCBzbyBvbi4gIEV2ZW50 dWFsbHkgdGhlIHByb2Nlc3MgZWl0aGVyIGNvbnN1bWVzIGFsbCBtZW1vcnkgb3IKaGl0cyB0aGUg c3lzdGVtIGZkIGxpbWl0IGFuZCBhYm9ydHMuCgpIZXJlIGlzIHNvbWUgZGVidWcgb3V0cHV0IGZy b20gdHdvIGRpZmZlcmVudCBzZXNzaW9ucy4gIFRoZSBmaXJzdCBvbmUKaXMgbG9va2luZyBmb3Ig ZmlsZXMgdG8gY29weSAodXNpbmcgU0ZUUCBzdGF0KSBidXQgZG9lc24ndCBmaW5kIGFueS4gCkF0 IHRoZSBlbmQgdGhlIE5ldDo6U1NIMiBvYmplY3QgaXMgZGVzdHJveWVkLgoKW2RlYnVnXSBzdGFy dCBzc2ggc2Vzc2lvbgpsaWJzc2gyX3NmdHBfaW5pdChzcy0+c2Vzc2lvbikgLT4gMHhhN2NjNmMw Cmh2X2Zyb21fYXR0cnM6IGF0dHJzLT5mbGFncyA9IDE1Cmh2X2Zyb21fYXR0cnM6IGF0dHJzLT5m bGFncyA9IDE1CmxpYnNzaDJfc2Z0cF9vcGVuX2V4KHNmLT5zZnRwLCAoY2hhciopcHZfZmlsZSwg bGVuX2ZpbGUsIGxfZmxhZ3MsCm1vZGUsIDApIC0+IDB4MApsaWJzc2gyX3NmdHBfb3Blbl9leChz Zi0+c2Z0cCwgKGNoYXIqKXB2X2ZpbGUsIGxlbl9maWxlLCBsX2ZsYWdzLAptb2RlLCAwKSAtPiAw eDAKbGlic3NoMl9zZnRwX29wZW5fZXgoc2YtPnNmdHAsIChjaGFyKilwdl9maWxlLCBsZW5fZmls ZSwgbF9mbGFncywKbW9kZSwgMCkgLT4gMHgwCmxpYnNzaDJfc2Z0cF9vcGVuX2V4KHNmLT5zZnRw LCAoY2hhciopcHZfZmlsZSwgbGVuX2ZpbGUsIGxfZmxhZ3MsCm1vZGUsIDApIC0+IDB4MApOZXQ6 OlNTSDI6OlNGVFA6OkRFU1RST1kKTmV0OjpTU0gyOjpTRlRQOjpERVNUUk9ZIGZyZWVpbmcgc2Vz c2lvbgpOZXQ6OlNTSDI6OkRFU1RST1kKW2RlYnVnXSBlbmQgc3NoIHNlc3Npb24KClRoZSBzZWNv bmQgc2Vzc2lvbiBkb2VzIGZpbmQgZmlsZXMgaXQgbmVlZHMgdG8gcHVsbCBkb3duLCBhbmQgY2Fs bHMKc2NwX2dldCB0byBjb3B5IHRoZW0uICBOb3RpY2UgdGhlIGRlc3RydWN0b3IgaXMgTk9UIGdl dHRpbmcgY2FsbGVkIGF0CnRoZSBlbmQuCgpbZGVidWddIHN0YXJ0IHNzaCBzZXNzaW9uCmxpYnNz aDJfc2Z0cF9pbml0KHNzLT5zZXNzaW9uKSAtPiAweGFiMWQ2MTAKbGlic3NoMl9zZnRwX29wZW5f ZXgoc2YtPnNmdHAsIChjaGFyKilwdl9maWxlLCBsZW5fZmlsZSwgbF9mbGFncywKbW9kZSwgMCkg LT4gMHhhN2NkYzg4CmxpYnNzaDJfc2NwX3JlY3Yoc3MtPnNlc3Npb24sIHBhdGgsICZzdCkgLT4g MHhjYzBhYTg4Ck5ldDo6U1NIMjo6Q2hhbm5lbDo6cmVhZChzaXplID0gMTczNjczOSwgZXh0ID0g MCkKLSByZWFkIDE3MzY3MzkgdG90YWwKTmV0OjpTU0gyOjpDaGFubmVsOjpyZWFkKHNpemUgPSAx LCBleHQgPSAwKQotIHJlYWQgMSBieXRlcwotIHJlYWQgMSB0b3RhbApsaWJzc2gyX3NmdHBfb3Bl bl9leChzZi0+c2Z0cCwgKGNoYXIqKXB2X2ZpbGUsIGxlbl9maWxlLCBsX2ZsYWdzLAptb2RlLCAw KSAtPiAweGM0MDNmMzgKbGlic3NoMl9zY3BfcmVjdihzcy0+c2Vzc2lvbiwgcGF0aCwgJnN0KSAt PiAweGI1MGJhZTgKTmV0OjpTU0gyOjpDaGFubmVsOjpyZWFkKHNpemUgPSA4MjYwNDYsIGV4dCA9 IDApCi0gcmVhZCA4MjYwNDYgdG90YWwKTmV0OjpTU0gyOjpDaGFubmVsOjpyZWFkKHNpemUgPSAx LCBleHQgPSAwKQotIHJlYWQgMSBieXRlcwotIHJlYWQgMSB0b3RhbApsaWJzc2gyX3NmdHBfb3Bl bl9leChzZi0+c2Z0cCwgKGNoYXIqKXB2X2ZpbGUsIGxlbl9maWxlLCBsX2ZsYWdzLAptb2RlLCAw KSAtPiAweGE3ZDJiNjAKbGlic3NoMl9zY3BfcmVjdihzcy0+c2Vzc2lvbiwgcGF0aCwgJnN0KSAt PiAweGFmYjYzYzgKTmV0OjpTU0gyOjpDaGFubmVsOjpyZWFkKHNpemUgPSAyODIzMSwgZXh0ID0g MCkKLSByZWFkIDI4MjMxIHRvdGFsCk5ldDo6U1NIMjo6Q2hhbm5lbDo6cmVhZChzaXplID0gMSwg ZXh0ID0gMCkKLSByZWFkIDEgYnl0ZXMKLSByZWFkIDEgdG90YWwKW2RlYnVnXSBlbmQgc3NoIHNl c3Npb24KCldlIGhhdmUgYW5vdGhlciBwcm9jZXNzIHNpbWlsYXIgdG8gdGhpcyBvbmUgdGhhdCBv cGVucyBhIHNoZWxsCmNoYW5uZWwsIHdoaWNoIHN1ZmZlcnMgZnJvbSB0aGUgc2FtZSBwcm9ibGVt LiAgRXZlbiB3aGVuIHRoZSBjaGFubmVsCm9iamVjdCBnb2VzIG91dCBvZiBzY29wZSBpbiBvdXIg cHJvZ3JhbSwgaXRzIGRlc3RydWN0b3IgaXMgbm90IGNhbGxlZCwKYW5kIHNvIHRoZSBOZXQ6OlNT SDIgb2JqZWN0IGlzIG5vdCBkZXN0cm95ZWQgZWl0aGVyLgoKQW55IGhlbHAgaXMgYXBwcmVjaWF0 ZWQuCgotLQpTdGVwaGVuIENsb3VzZSA8c3RlcGhlbmNsb3VzZUBnbWFpbC5jb20+Cg== |
From: Enrique de A. S. <enr...@pc...> - 2006-04-10 13:04:57
|
Hi everybody, I have a litle problem when using Net::SSH::Perl. I try to execute a remote command which requires stdin. When stdin is bigger than 32k, cmd method hangs up. I'm using ssh-2 protocol, but when I use ssh-1 it goes well, both with stdin sizes smaller than 32k and bigger then 32k. The code I'm running is the following: my $ssh; eval { $ssh = Net::SSH::Perl->new( $host, protocol => 2, compression => 1, interactive => 0, debug => 1, ); }; die "Cannot connect to host.\n" if ($@); eval { $ssh->login($user, $pass); }; die "Cannot authenticate against host.\n" if ($@); my $stdin = "something"; my ($stdout, $stderr, $exit) = $channel->cmd("cat - > myfile", $stdin); Could someone help me to make it work with stdin bigger than 32k? Thanks in advance, Enrique. |
From: Matthew J. S. <vag...@ya...> - 2006-04-10 15:37:41
|
Is it a series of commands you are executing? --- Enrique de Andres Saiz <enr...@pc...> wrote: > Hi everybody, > > I have a litle problem when using Net::SSH::Perl. I > try to execute a > remote command which requires stdin. When stdin is > bigger than 32k, cmd > method hangs up. I'm using ssh-2 protocol, but when > I use ssh-1 it goes > well, both with stdin sizes smaller than 32k and > bigger then 32k. > > The code I'm running is the following: > > my $ssh; > eval { > $ssh = Net::SSH::Perl->new( > $host, > protocol => 2, > compression => 1, > interactive => 0, > debug => 1, > ); > }; > die "Cannot connect to host.\n" if ($@); > eval { > $ssh->login($user, $pass); > }; > die "Cannot authenticate against host.\n" if ($@); > > my $stdin = "something"; > my ($stdout, $stderr, $exit) = $channel->cmd("cat - > > myfile", $stdin); > > Could someone help me to make it work with stdin > bigger than 32k? > > Thanks in advance, > > Enrique. > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a > groundbreaking scripting language > that extends applications into web and mobile media. > Attend the live webcast > and join the prime developer group breaking into > this new coding territory! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 > _______________________________________________ > Ssh-sftp-perl-users mailing list > Ssh...@li... > https://lists.sourceforge.net/lists/listinfo/ssh-sftp-perl-users > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Enrique de A. S. <enr...@pc...> - 2006-04-10 15:52:01
|
Yes, I call several times to cmd method (I use ssh-2 to avoid authenticate against server each time I call this method). I have been investigating more about what can be the problem... having in mind the example code that I sent previously, if I execute it and I connect manually to the remote server, I see that 'myfile' has been created correctly, but if I do a ps, I see that cat command still running. It is like no EOF has been sent! Any idea? Thanks, Enrique. Matthew J. Salerno wrote: > Is it a series of commands you are executing? > > --- Enrique de Andres Saiz > <enr...@pc...> wrote: > > >>Hi everybody, >> >>I have a litle problem when using Net::SSH::Perl. I >>try to execute a >>remote command which requires stdin. When stdin is >>bigger than 32k, cmd >>method hangs up. I'm using ssh-2 protocol, but when >>I use ssh-1 it goes >>well, both with stdin sizes smaller than 32k and >>bigger then 32k. >> >>The code I'm running is the following: >> >>my $ssh; >>eval { >> $ssh = Net::SSH::Perl->new( >> $host, >> protocol => 2, >> compression => 1, >> interactive => 0, >> debug => 1, >> ); >>}; >>die "Cannot connect to host.\n" if ($@); >>eval { >> $ssh->login($user, $pass); >>}; >>die "Cannot authenticate against host.\n" if ($@); >> >>my $stdin = "something"; >>my ($stdout, $stderr, $exit) = $channel->cmd("cat - >> >>>myfile", $stdin); >> >>Could someone help me to make it work with stdin >>bigger than 32k? >> >>Thanks in advance, >> >>Enrique. >> >> >> > > ------------------------------------------------------- > >>This SF.Net email is sponsored by xPML, a >>groundbreaking scripting language >>that extends applications into web and mobile media. >>Attend the live webcast >>and join the prime developer group breaking into >>this new coding territory! >> > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 > >>_______________________________________________ >>Ssh-sftp-perl-users mailing list >>Ssh...@li... >> > > https://lists.sourceforge.net/lists/listinfo/ssh-sftp-perl-users > > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > > > |
From: Matt F. <Mat...@no...> - 2006-04-11 20:16:39
|
I'm also having problems with a persistent process using Net::SSH2,= =20 where after it has run for a long period (> 1 day) my scp_put and= =20 channel->exec doesn't work any longer. I start getting lots of LIBSS= H2=20 errors that don't make sense (e.g. Can't open public key file when th= e=20 file is definitely available). Perhaps what Stephen documented is my= =20 problem also? Any ideas on this? Matt Stephen Clouse wrote: > I am using Net::SSH2 as part of a persistent daemon. My issue is t= hat > ::Channel objects (including those that are implicitly created by > scp_get) are not getting destroyed, even though they are leaving > scope. This prevents the main Net::SSH2 object from getting destro= yed > when it goes out of scope, which causes both a memory leak and a > socket descriptor leak. After a few hours of running, our process = fd > space looks like this: > > total 284 > lrwx------ 1 64 Apr 7 13:43 0 -> /dev/pts/2 > lrwx------ 1 64 Apr 7 13:43 1 -> /dev/pts/2 > lrwx------ 1 64 Apr 7 13:43 10 -> socket:[23023727] > lrwx------ 1 64 Apr 7 13:43 100 -> socket:[25941479] > lrwx------ 1 64 Apr 7 13:43 101 -> socket:[25942954] > lrwx------ 1 64 Apr 7 13:43 102 -> socket:[25943607] > lrwx------ 1 64 Apr 7 13:43 103 -> socket:[25945043] > lrwx------ 1 64 Apr 7 13:43 104 -> socket:[25945575] > lrwx------ 1 64 Apr 7 13:43 105 -> socket:[25946014] > lrwx------ 1 64 Apr 7 13:43 106 -> socket:[25947262] > lrwx------ 1 64 Apr 7 13:43 107 -> socket:[25947851] > lrwx------ 1 64 Apr 7 13:43 108 -> socket:[25949223] > lrwx------ 1 64 Apr 7 13:43 109 -> socket:[25950742] > lrwx------ 1 64 Apr 7 13:43 11 -> socket:[23024789] > lrwx------ 1 64 Apr 7 13:43 110 -> socket:[25951710] > lrwx------ 1 64 Apr 7 13:43 111 -> socket:[25952922] > lrwx------ 1 64 Apr 7 13:43 112 -> socket:[25953707] > lrwx------ 1 64 Apr 7 13:43 113 -> socket:[25955436] > lrwx------ 1 64 Apr 7 13:43 114 -> socket:[25957008] > lrwx------ 1 64 Apr 7 13:43 115 -> socket:[25957766] > lrwx------ 1 64 Apr 7 13:43 116 -> socket:[25958984] > lrwx------ 1 64 Apr 7 13:43 117 -> socket:[25993099] > > ...and so on. Eventually the process either consumes all memory or > hits the system fd limit and aborts. > > Here is some debug output from two different sessions. The first o= ne > is looking for files to copy (using SFTP stat) but doesn't find any= .=20 > At the end the Net::SSH2 object is destroyed. > > [debug] start ssh session > libssh2_sftp_init(ss->session) -> 0xa7cc6c0 > hv_from_attrs: attrs->flags =3D 15 > hv_from_attrs: attrs->flags =3D 15 > libssh2_sftp_open_ex(sf->sftp, (char*)pv_file, len_file, l_flags, > mode, 0) -> 0x0 > libssh2_sftp_open_ex(sf->sftp, (char*)pv_file, len_file, l_flags, > mode, 0) -> 0x0 > libssh2_sftp_open_ex(sf->sftp, (char*)pv_file, len_file, l_flags, > mode, 0) -> 0x0 > libssh2_sftp_open_ex(sf->sftp, (char*)pv_file, len_file, l_flags, > mode, 0) -> 0x0 > Net::SSH2::SFTP::DESTROY > Net::SSH2::SFTP::DESTROY freeing session > Net::SSH2::DESTROY > [debug] end ssh session > > The second session does find files it needs to pull down, and calls > scp_get to copy them. Notice the destructor is NOT getting called = at > the end. > > [debug] start ssh session > libssh2_sftp_init(ss->session) -> 0xab1d610 > libssh2_sftp_open_ex(sf->sftp, (char*)pv_file, len_file, l_flags, > mode, 0) -> 0xa7cdc88 > libssh2_scp_recv(ss->session, path, &st) -> 0xcc0aa88 > Net::SSH2::Channel::read(size =3D 1736739, ext =3D 0) > - read 1736739 total > Net::SSH2::Channel::read(size =3D 1, ext =3D 0) > - read 1 bytes > - read 1 total > libssh2_sftp_open_ex(sf->sftp, (char*)pv_file, len_file, l_flags, > mode, 0) -> 0xc403f38 > libssh2_scp_recv(ss->session, path, &st) -> 0xb50bae8 > Net::SSH2::Channel::read(size =3D 826046, ext =3D 0) > - read 826046 total > Net::SSH2::Channel::read(size =3D 1, ext =3D 0) > - read 1 bytes > - read 1 total > libssh2_sftp_open_ex(sf->sftp, (char*)pv_file, len_file, l_flags, > mode, 0) -> 0xa7d2b60 > libssh2_scp_recv(ss->session, path, &st) -> 0xafb63c8 > Net::SSH2::Channel::read(size =3D 28231, ext =3D 0) > - read 28231 total > Net::SSH2::Channel::read(size =3D 1, ext =3D 0) > - read 1 bytes > - read 1 total > [debug] end ssh session > > We have another process similar to this one that opens a shell > channel, which suffers from the same problem. Even when the channe= l > object goes out of scope in our program, its destructor is not call= ed, > and so the Net::SSH2 object is not destroyed either. > > Any help is appreciated. > > -- > Stephen Clouse <ste...@gm...> > N=18=EF=BF=BDHS^=EF=BF=BD=E9=9A=8AX=EF=BF=BD=EF=BF=BD=EF=BF=BD'= =EF=BF=BD=EF=BF=BD=EF=BF=BDu=EF=BF=BD=EF=BF=BD<=EF=BF=BD=DA=82=EF= =BF=BD.=EF=BF=BD=EF=BF=BD=EF=BF=BDy=EF=BF=BD"=EF=BF=BD=0B=1C=EF=BF= =BD*m=EF=BF=BDx%jx.j=07=EF=BF=BD=EF=BF=BD=EF=BF=BD^=EF=BF=BD=D7=A7v= =C6=A9=EF=BF=BDX=EF=BF=BDj=D8=A8=EF=BF=BD=C8=A7=EF=BF=BD=EF=BF=BD= =1Em=EF=BF=BD=DD=9A=EF=BF=BD=EF=BF=BD=EF=BF=BDv&=EF=BF=BD=EF=BF=BD= =D7=A7v=EF=BF=BD^=EF=BF=BD+=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BDj=EF= =BF=BDZ=EF=BF=BD=EF=BF=BD=EF=BF=BD{az=EF=BF=BD=EF=BF=BD=EF=BF=BD^= =EF=BF=BD=EF=BF=BDh=EF=BF=BD=EF=BF=BD=E0=AE=8B=EF=BF=BDn=EF=BF=BD= =EF=BF=BD=EF=BF=BD)=EF=BF=BD{h=EF=BF=BD=18=EF=BF=BD=EF=BF=BD=EF=BF= =BD=1C=EF=BF=BD=D8=A7=EF=BF=BD=D7=AB=EF=BF=BD+h=EF=BF=BD(m=EF=BF=BD= =EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BDZ=EF=BF=BD=EF=BF=BD=1FjY=1A=EF= =BF=BDw=EF=BF=BD=EF=BF=BD=C7=A5rg=EF=BF=BDy$=EF=BF=BD=EF=BF=BD=EF= =BF=BDOx=E1=B8=9D=03n=EF=BF=BDm=1Dj=EF=BF=BD=EF=BF=BD^=EF=BF=BD=EF= =BF=BD+!=EF=BF=BD=EF=BF=BDi=EF=BF=BD=EF=BF=BD=EF=BF=BD=C7=AB=EF=BF= =BDf=EF=BF=BD=EF=BF=BD)=EF=BF=BD+-J=EF=BF=BDl~=EF=BF=BDiz=EF=BF=BDn= =EF=BF=BD=EF=BF=BD=EF=BF=BD+-=EF=BF=BD=EF=BF=BD.=EF=BF=BD=C7=9F=EF= =BF=BD=EF=BF=BD=1E=EF=BF=BD=EF=BF=BDa=EF=BF=BD=EF=BF=BDl=EF=BF=BD= =EF=BF=BDb=EF=BF=BD=EF=BF=BD,=EF=BF=BD=EF=BF=BD=EF=BF=BDy=EF=BF=BD+= =EF=BF=BD=EF=BF=BD=DE=B7=EF=BF=BDb=EF=BF=BD=EF=BF=BD?=EF=BF=BD+-=EF= =BF=BDw=EF=BF=BD=EF=BF=BD=EF=BF=BD!=EF=BF=BD=EF=BF=BDi=EF=BF=BD=EF= =BF=BD=EF=BF=BD=C7=ABs=3D=3D=3D --=20 "A foolish consistency is the hobgoblin of little minds, adored by little statesmen and philosophers and divines." -- Ralph Waldo Emerson |
From: Stephen C. <ste...@gm...> - 2006-05-03 03:34:17
|
Tm8gb25lIGhhcyBhbnl0aGluZyB0b3dhcmQgYSBmaXggb24gdGhpcz8gIEkgc3BlbnQgdG9kYXkg dGFraW5nCmFub3RoZXIgbG9vayBhdCBpdC4uLi4KClRoZSBvYmplY3Qgc3RydWN0dXJlIGlzIHNl bGYtcmVmZXJlbnRpYWwgKHRoZSBQVklPIGNvbnRhaW5zIGEKcmVmZXJlbmNlIGJhY2sgdG8gdGhl IFBWR1YpOgoKU1YgPSBSVigweDg0MmZiMmMpIGF0IDB4ODVmNzYxOAogIFJFRkNOVCA9IDEKICBG TEFHUyA9IChQQURCVVNZLFBBRE1ZLFJPSykKICBSViA9IDB4ODY4MWE2MAogIFNWID0gUFZHVigw eDg2MWM4ZjApIGF0IDB4ODY4MWE2MAogICAgUkVGQ05UID0gMgogICAgRkxBR1MgPSAoT0JKRUNU LEdNRyxTTUcsTVVMVEkpCiAgICBJViA9IDE0MDYyNzE0NAogICAgTlYgPSAwCiAgICBNQUdJQyA9 IDB4ODYxYzcyOAogICAgICBNR19WSVJUVUFMID0gJlBMX3Z0YmxfYmFja3JlZgogICAgICBNR19U WVBFID0gUEVSTF9NQUdJQ19iYWNrcmVmKDwpCiAgICAgIE1HX0ZMQUdTID0gMHgwMgogICAgICAg IFJFRkNPVU5URUQKICAgICAgTUdfT0JKID0gMHg4NjgxOWU4CiAgICAgIFNWID0gUFZBVigweDg2 N2QyZTgpIGF0IDB4ODY4MTllOAogICAgICAgIFJFRkNOVCA9IDIKICAgICAgICBGTEFHUyA9ICgp CiAgICAgICAgSVYgPSAwCiAgICAgICAgTlYgPSAwCiAgICAgICAgQVJSQVkgPSAweDg2MWM4YTAK ICAgICAgICBGSUxMID0gMAogICAgICAgIE1BWCA9IDMKICAgICAgICBBUllMRU4gPSAweDAKICAg ICAgICBGTEFHUyA9IChSRUFMKQogICAgICAgIEVsdCBOby4gMAogICAgICAgIFNWID0gUlYoMHg4 NDJmYjI4KSBhdCAweDg2ODFhNTQKICAgICAgICAgIFJFRkNOVCA9IDEKICAgICAgICAgIEZMQUdT ID0gKFJPSyxXRUFLUkVGKQogICAgICAgICAgUlYgPSAweDg2ODFhNjAKICAgICAgICAgIFNWID0g UFZHVigweDg2MWM4ZjApIGF0IDB4ODY4MWE2MAogICAgICAgICAgICBSRUZDTlQgPSAyCiAgICAg ICAgICAgIEZMQUdTID0gKE9CSkVDVCxHTUcsU01HLE1VTFRJKQogICAgICAgICAgICBJViA9IDE0 MDYyNzE0NAogICAgICAgICAgICBOViA9IDAKICAgICAgICAgICAgTUFHSUMgPSAweDg2MWM3MjgK ICAgICAgICAgICAgICBNR19WSVJUVUFMID0gJlBMX3Z0YmxfYmFja3JlZgogICAgICAgICAgICAg IE1HX1RZUEUgPSBQRVJMX01BR0lDX2JhY2tyZWYoPCkKICAgICAgICAgICAgICBNR19GTEFHUyA9 IDB4MDIKICAgICAgICAgICAgICAgIFJFRkNPVU5URUQKICAgICAgICAgICAgICBNR19PQkogPSAw eDg2ODE5ZTgKICAgICAgICAgICAgICBTViA9IFBWQVYoMHg4NjdkMmU4KSBhdCAweDg2ODE5ZTgK ICAgICAgICAgICAgICAgIFJFRkNOVCA9IDIKICAgICAgICAgICAgICAgIEZMQUdTID0gKCkKICAg ICAgICAgICAgICAgIElWID0gMAogICAgICAgICAgICAgICAgTlYgPSAwCiAgICAgICAgICAgICAg ICBBUlJBWSA9IDB4ODYxYzhhMAogICAgICAgICAgICAgICAgRklMTCA9IDAKICAgICAgICAgICAg ICAgIE1BWCA9IDMKICAgICAgICAgICAgICAgIEFSWUxFTiA9IDB4MAogICAgICAgICAgICAgICAg RkxBR1MgPSAoUkVBTCkKICAgICAgICAgICAgTUFHSUMgPSAweDg2MWM3ZDAKICAgICAgICAgICAg ICBNR19WSVJUVUFMID0gJlBMX3Z0YmxfZ2xvYgogICAgICAgICAgICAgIE1HX1RZUEUgPSBQRVJM X01BR0lDX2dsb2IoKikKICAgICAgICAgICAgICBNR19PQkogPSAweDg2ODFhNjAKICAgICAgICAg ICAgU1RBU0ggPSAweDg1YjllZDQgICAiTmV0OjpTU0gyOjpDaGFubmVsIgogICAgICAgICAgICBO QU1FID0gIl9HRU5fMCIKICAgICAgICAgICAgTkFNRUxFTiA9IDYKICAgICAgICAgICAgR3ZTVEFT SCA9IDB4ODViOWVkNCAiTmV0OjpTU0gyOjpDaGFubmVsIgogICAgICAgICAgICBHUCA9IDB4ODYx ZDQyMAogICAgICAgICAgICAgIFNWID0gMHg4NjgxOWRjCiAgICAgICAgICAgICAgUkVGQ05UID0g MQogICAgICAgICAgICAgIElPID0gMHg4NjgxOWQwCiAgICAgICAgICAgICAgRk9STSA9IDB4MAog ICAgICAgICAgICAgIEFWID0gMHgwCiAgICAgICAgICAgICAgSFYgPSAweDAKICAgICAgICAgICAg ICBDViA9IDB4ODY4MTlmNAogICAgICAgICAgICAgIENWR0VOID0gMHgwCiAgICAgICAgICAgICAg R1BGTEFHUyA9IDB4MAogICAgICAgICAgICAgIExJTkUgPSA5MwogICAgICAgICAgICAgIEZJTEUg PSAidC9OZXQtU1NIMi50IgogICAgICAgICAgICAgIEZMQUdTID0gMHgyCiAgICAgICAgICAgICAg RUdWID0gMHg4NjgxYTYwICAgIl9HRU5fMCIKICAgIE1BR0lDID0gMHg4NjFjN2QwCiAgICAgIE1H X1ZJUlRVQUwgPSAmUExfdnRibF9nbG9iCiAgICAgIE1HX1RZUEUgPSBQRVJMX01BR0lDX2dsb2Io KikKICAgICAgTUdfT0JKID0gMHg4NjgxYTYwCiAgICBTVEFTSCA9IDB4ODViOWVkNCAgICJOZXQ6 OlNTSDI6OkNoYW5uZWwiCiAgICBOQU1FID0gIl9HRU5fMCIKICAgIE5BTUVMRU4gPSA2CiAgICBH dlNUQVNIID0gMHg4NWI5ZWQ0ICJOZXQ6OlNTSDI6OkNoYW5uZWwiCiAgICBHUCA9IDB4ODYxZDQy MAogICAgICBTViA9IDB4ODY4MTlkYwogICAgICBSRUZDTlQgPSAxCiAgICAgIElPID0gMHg4Njgx OWQwCiAgICAgIEZPUk0gPSAweDAKICAgICAgQVYgPSAweDAKICAgICAgSFYgPSAweDAKICAgICAg Q1YgPSAweDg2ODE5ZjQKICAgICAgQ1ZHRU4gPSAweDAKICAgICAgR1BGTEFHUyA9IDB4MAogICAg ICBMSU5FID0gOTMKICAgICAgRklMRSA9ICJ0L05ldC1TU0gyLnQiCiAgICAgIEZMQUdTID0gMHgy CiAgICAgIEVHViA9IDB4ODY4MWE2MCAgICJfR0VOXzAiClNWID0gUlYoMHg4NDJmYjMwKSBhdCAw eDg2ODE5YjgKICBSRUZDTlQgPSAxCiAgRkxBR1MgPSAoVEVNUCxST0spCiAgUlYgPSAweDg2ODE5 ZDAKICBTViA9IFBWSU8oMHg4NjgwMTE4KSBhdCAweDg2ODE5ZDAKICAgIFJFRkNOVCA9IDIKICAg IEZMQUdTID0gKEdNRyxTTUcsUk1HKQogICAgSVYgPSAwCiAgICBOViA9IDAKICAgIE1BR0lDID0g MHg4NjcwN2QwCiAgICAgIE1HX1ZJUlRVQUwgPSAmUExfdnRibF9wYWNrZWxlbQogICAgICBNR19U WVBFID0gUEVSTF9NQUdJQ190aWVkc2NhbGFyKHEpCiAgICAgIE1HX0ZMQUdTID0gMHgwMgogICAg ICAgIFJFRkNPVU5URUQKICAgICAgTUdfT0JKID0gMHg4NjgxYTU0CiAgICAgIFNWID0gUlYoMHg4 NDJmYjI4KSBhdCAweDg2ODFhNTQKICAgICAgICBSRUZDTlQgPSAxCiAgICAgICAgRkxBR1MgPSAo Uk9LLFdFQUtSRUYpCiAgICAgICAgUlYgPSAweDg2ODFhNjAKICAgICAgICBTViA9IFBWR1YoMHg4 NjFjOGYwKSBhdCAweDg2ODFhNjAKICAgICAgICAgIFJFRkNOVCA9IDIKICAgICAgICAgIEZMQUdT ID0gKE9CSkVDVCxHTUcsU01HLE1VTFRJKQogICAgICAgICAgSVYgPSAxNDA2MjcxNDQKICAgICAg ICAgIE5WID0gMAogICAgICAgICAgTUFHSUMgPSAweDg2MWM3MjgKICAgICAgICAgICAgTUdfVklS VFVBTCA9ICZQTF92dGJsX2JhY2tyZWYKICAgICAgICAgICAgTUdfVFlQRSA9IFBFUkxfTUFHSUNf YmFja3JlZig8KQogICAgICAgICAgICBNR19GTEFHUyA9IDB4MDIKICAgICAgICAgICAgICBSRUZD T1VOVEVECiAgICAgICAgICAgIE1HX09CSiA9IDB4ODY4MTllOAogICAgICAgICAgICBTViA9IFBW QVYoMHg4NjdkMmU4KSBhdCAweDg2ODE5ZTgKICAgICAgICAgICAgICBSRUZDTlQgPSAyCiAgICAg ICAgICAgICAgRkxBR1MgPSAoKQogICAgICAgICAgICAgIElWID0gMAogICAgICAgICAgICAgIE5W ID0gMAogICAgICAgICAgICAgIEFSUkFZID0gMHg4NjFjOGEwCiAgICAgICAgICAgICAgRklMTCA9 IDAKICAgICAgICAgICAgICBNQVggPSAzCiAgICAgICAgICAgICAgQVJZTEVOID0gMHgwCiAgICAg ICAgICAgICAgRkxBR1MgPSAoUkVBTCkKICAgICAgICAgIE1BR0lDID0gMHg4NjFjN2QwCiAgICAg ICAgICAgIE1HX1ZJUlRVQUwgPSAmUExfdnRibF9nbG9iCiAgICAgICAgICAgIE1HX1RZUEUgPSBQ RVJMX01BR0lDX2dsb2IoKikKICAgICAgICAgICAgTUdfT0JKID0gMHg4NjgxYTYwCiAgICAgICAg ICBTVEFTSCA9IDB4ODViOWVkNCAgICAgIk5ldDo6U1NIMjo6Q2hhbm5lbCIKICAgICAgICAgIE5B TUUgPSAiX0dFTl8wIgogICAgICAgICAgTkFNRUxFTiA9IDYKICAgICAgICAgIEd2U1RBU0ggPSAw eDg1YjllZDQgICAiTmV0OjpTU0gyOjpDaGFubmVsIgogICAgICAgICAgR1AgPSAweDg2MWQ0MjAK ICAgICAgICAgICAgU1YgPSAweDg2ODE5ZGMKICAgICAgICAgICAgUkVGQ05UID0gMQogICAgICAg ICAgICBJTyA9IDB4ODY4MTlkMAogICAgICAgICAgICBGT1JNID0gMHgwCiAgICAgICAgICAgIEFW ID0gMHgwCiAgICAgICAgICAgIEhWID0gMHgwCiAgICAgICAgICAgIENWID0gMHg4NjgxOWY0CiAg ICAgICAgICAgIENWR0VOID0gMHgwCiAgICAgICAgICAgIEdQRkxBR1MgPSAweDAKICAgICAgICAg ICAgTElORSA9IDkzCiAgICAgICAgICAgIEZJTEUgPSAidC9OZXQtU1NIMi50IgogICAgICAgICAg ICBGTEFHUyA9IDB4MgogICAgICAgICAgICBFR1YgPSAweDg2ODFhNjAgICAgICJfR0VOXzAiCiAg ICBJRlAgPSAweDAKICAgIE9GUCA9IDB4MAogICAgRElSUCA9IDB4MAogICAgTElORVMgPSAwCiAg ICBQQUdFID0gMAogICAgUEFHRV9MRU4gPSA2MAogICAgTElORVNfTEVGVCA9IDAKICAgIFRPUF9H ViA9IDB4MAogICAgRk1UX0dWID0gMHgwCiAgICBCT1RUT01fR1YgPSAweDAKICAgIFNVQlBST0NF U1MgPSAwCiAgICBUWVBFID0gJ1wwJwogICAgRkxBR1MgPSAweDAKCklzIHRoaXMgYSBzZWxmLXRp ZWQgZmlsZWhhbmRsZT8gIEFyZW4ndCB0aG9zZSBicm9rZW4gaW4gNS44Lng/ICBNYXliZQp0aGlz IGp1c3QgbmVlZHMgdG8gYmUgcmVpbXBsZW1lbnRlZC4KCk9uIDQvNy8wNiwgU3RlcGhlbiBDbG91 c2UgPHN0ZXBoZW5jbG91c2VAZ21haWwuY29tPiB3cm90ZToKPiBJIGFtIHVzaW5nIE5ldDo6U1NI MiBhcyBwYXJ0IG9mIGEgcGVyc2lzdGVudCBkYWVtb24uICBNeSBpc3N1ZSBpcyB0aGF0Cj4gOjpD aGFubmVsIG9iamVjdHMgKGluY2x1ZGluZyB0aG9zZSB0aGF0IGFyZSBpbXBsaWNpdGx5IGNyZWF0 ZWQgYnkKPiBzY3BfZ2V0KSBhcmUgbm90IGdldHRpbmcgZGVzdHJveWVkLCBldmVuIHRob3VnaCB0 aGV5IGFyZSBsZWF2aW5nCj4gc2NvcGUuICBUaGlzIHByZXZlbnRzIHRoZSBtYWluIE5ldDo6U1NI MiBvYmplY3QgZnJvbSBnZXR0aW5nIGRlc3Ryb3llZAo+IHdoZW4gaXQgZ29lcyBvdXQgb2Ygc2Nv cGUsIHdoaWNoIGNhdXNlcyBib3RoIGEgbWVtb3J5IGxlYWsgYW5kIGEKPiBzb2NrZXQgZGVzY3Jp cHRvciBsZWFrLiAgQWZ0ZXIgYSBmZXcgaG91cnMgb2YgcnVubmluZywgb3VyIHByb2Nlc3MgZmQK PiBzcGFjZSBsb29rcyBsaWtlIHRoaXM6Cj4KPiB0b3RhbCAyODQKPiBscnd4LS0tLS0tICAxIDY0 IEFwciAgNyAxMzo0MyAwIC0+IC9kZXYvcHRzLzIKPiBscnd4LS0tLS0tICAxIDY0IEFwciAgNyAx Mzo0MyAxIC0+IC9kZXYvcHRzLzIKPiBscnd4LS0tLS0tICAxIDY0IEFwciAgNyAxMzo0MyAxMCAt PiBzb2NrZXQ6WzIzMDIzNzI3XQo+IGxyd3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDEwMCAt PiBzb2NrZXQ6WzI1OTQxNDc5XQo+IGxyd3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDEwMSAt PiBzb2NrZXQ6WzI1OTQyOTU0XQo+IGxyd3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDEwMiAt PiBzb2NrZXQ6WzI1OTQzNjA3XQo+IGxyd3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDEwMyAt PiBzb2NrZXQ6WzI1OTQ1MDQzXQo+IGxyd3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDEwNCAt PiBzb2NrZXQ6WzI1OTQ1NTc1XQo+IGxyd3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDEwNSAt PiBzb2NrZXQ6WzI1OTQ2MDE0XQo+IGxyd3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDEwNiAt PiBzb2NrZXQ6WzI1OTQ3MjYyXQo+IGxyd3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDEwNyAt PiBzb2NrZXQ6WzI1OTQ3ODUxXQo+IGxyd3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDEwOCAt PiBzb2NrZXQ6WzI1OTQ5MjIzXQo+IGxyd3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDEwOSAt PiBzb2NrZXQ6WzI1OTUwNzQyXQo+IGxyd3gtLS0tLS0gIDEgNjQgQXByICA3IDEzOjQzIDExIC0+ IHNvY2tldDpbMjMwMjQ3ODldCj4gbHJ3eC0tLS0tLSAgMSA2NCBBcHIgIDcgMTM6NDMgMTEwIC0+ IHNvY2tldDpbMjU5NTE3MTBdCj4gbHJ3eC0tLS0tLSAgMSA2NCBBcHIgIDcgMTM6NDMgMTExIC0+ IHNvY2tldDpbMjU5NTI5MjJdCj4gbHJ3eC0tLS0tLSAgMSA2NCBBcHIgIDcgMTM6NDMgMTEyIC0+ IHNvY2tldDpbMjU5NTM3MDddCj4gbHJ3eC0tLS0tLSAgMSA2NCBBcHIgIDcgMTM6NDMgMTEzIC0+ IHNvY2tldDpbMjU5NTU0MzZdCj4gbHJ3eC0tLS0tLSAgMSA2NCBBcHIgIDcgMTM6NDMgMTE0IC0+ IHNvY2tldDpbMjU5NTcwMDhdCj4gbHJ3eC0tLS0tLSAgMSA2NCBBcHIgIDcgMTM6NDMgMTE1IC0+ IHNvY2tldDpbMjU5NTc3NjZdCj4gbHJ3eC0tLS0tLSAgMSA2NCBBcHIgIDcgMTM6NDMgMTE2IC0+ IHNvY2tldDpbMjU5NTg5ODRdCj4gbHJ3eC0tLS0tLSAgMSA2NCBBcHIgIDcgMTM6NDMgMTE3IC0+ IHNvY2tldDpbMjU5OTMwOTldCj4KPiAuLi5hbmQgc28gb24uICBFdmVudHVhbGx5IHRoZSBwcm9j ZXNzIGVpdGhlciBjb25zdW1lcyBhbGwgbWVtb3J5IG9yCj4gaGl0cyB0aGUgc3lzdGVtIGZkIGxp bWl0IGFuZCBhYm9ydHMuCj4KPiBIZXJlIGlzIHNvbWUgZGVidWcgb3V0cHV0IGZyb20gdHdvIGRp ZmZlcmVudCBzZXNzaW9ucy4gIFRoZSBmaXJzdCBvbmUKPiBpcyBsb29raW5nIGZvciBmaWxlcyB0 byBjb3B5ICh1c2luZyBTRlRQIHN0YXQpIGJ1dCBkb2Vzbid0IGZpbmQgYW55Lgo+IEF0IHRoZSBl bmQgdGhlIE5ldDo6U1NIMiBvYmplY3QgaXMgZGVzdHJveWVkLgo+Cj4gW2RlYnVnXSBzdGFydCBz c2ggc2Vzc2lvbgo+IGxpYnNzaDJfc2Z0cF9pbml0KHNzLT5zZXNzaW9uKSAtPiAweGE3Y2M2YzAK PiBodl9mcm9tX2F0dHJzOiBhdHRycy0+ZmxhZ3MgPSAxNQo+IGh2X2Zyb21fYXR0cnM6IGF0dHJz LT5mbGFncyA9IDE1Cj4gbGlic3NoMl9zZnRwX29wZW5fZXgoc2YtPnNmdHAsIChjaGFyKilwdl9m aWxlLCBsZW5fZmlsZSwgbF9mbGFncywKPiBtb2RlLCAwKSAtPiAweDAKPiBsaWJzc2gyX3NmdHBf b3Blbl9leChzZi0+c2Z0cCwgKGNoYXIqKXB2X2ZpbGUsIGxlbl9maWxlLCBsX2ZsYWdzLAo+IG1v ZGUsIDApIC0+IDB4MAo+IGxpYnNzaDJfc2Z0cF9vcGVuX2V4KHNmLT5zZnRwLCAoY2hhciopcHZf ZmlsZSwgbGVuX2ZpbGUsIGxfZmxhZ3MsCj4gbW9kZSwgMCkgLT4gMHgwCj4gbGlic3NoMl9zZnRw X29wZW5fZXgoc2YtPnNmdHAsIChjaGFyKilwdl9maWxlLCBsZW5fZmlsZSwgbF9mbGFncywKPiBt b2RlLCAwKSAtPiAweDAKPiBOZXQ6OlNTSDI6OlNGVFA6OkRFU1RST1kKPiBOZXQ6OlNTSDI6OlNG VFA6OkRFU1RST1kgZnJlZWluZyBzZXNzaW9uCj4gTmV0OjpTU0gyOjpERVNUUk9ZCj4gW2RlYnVn XSBlbmQgc3NoIHNlc3Npb24KPgo+IFRoZSBzZWNvbmQgc2Vzc2lvbiBkb2VzIGZpbmQgZmlsZXMg aXQgbmVlZHMgdG8gcHVsbCBkb3duLCBhbmQgY2FsbHMKPiBzY3BfZ2V0IHRvIGNvcHkgdGhlbS4g IE5vdGljZSB0aGUgZGVzdHJ1Y3RvciBpcyBOT1QgZ2V0dGluZyBjYWxsZWQgYXQKPiB0aGUgZW5k Lgo+Cj4gW2RlYnVnXSBzdGFydCBzc2ggc2Vzc2lvbgo+IGxpYnNzaDJfc2Z0cF9pbml0KHNzLT5z ZXNzaW9uKSAtPiAweGFiMWQ2MTAKPiBsaWJzc2gyX3NmdHBfb3Blbl9leChzZi0+c2Z0cCwgKGNo YXIqKXB2X2ZpbGUsIGxlbl9maWxlLCBsX2ZsYWdzLAo+IG1vZGUsIDApIC0+IDB4YTdjZGM4OAo+ IGxpYnNzaDJfc2NwX3JlY3Yoc3MtPnNlc3Npb24sIHBhdGgsICZzdCkgLT4gMHhjYzBhYTg4Cj4g TmV0OjpTU0gyOjpDaGFubmVsOjpyZWFkKHNpemUgPSAxNzM2NzM5LCBleHQgPSAwKQo+IC0gcmVh ZCAxNzM2NzM5IHRvdGFsCj4gTmV0OjpTU0gyOjpDaGFubmVsOjpyZWFkKHNpemUgPSAxLCBleHQg PSAwKQo+IC0gcmVhZCAxIGJ5dGVzCj4gLSByZWFkIDEgdG90YWwKPiBsaWJzc2gyX3NmdHBfb3Bl bl9leChzZi0+c2Z0cCwgKGNoYXIqKXB2X2ZpbGUsIGxlbl9maWxlLCBsX2ZsYWdzLAo+IG1vZGUs IDApIC0+IDB4YzQwM2YzOAo+IGxpYnNzaDJfc2NwX3JlY3Yoc3MtPnNlc3Npb24sIHBhdGgsICZz dCkgLT4gMHhiNTBiYWU4Cj4gTmV0OjpTU0gyOjpDaGFubmVsOjpyZWFkKHNpemUgPSA4MjYwNDYs IGV4dCA9IDApCj4gLSByZWFkIDgyNjA0NiB0b3RhbAo+IE5ldDo6U1NIMjo6Q2hhbm5lbDo6cmVh ZChzaXplID0gMSwgZXh0ID0gMCkKPiAtIHJlYWQgMSBieXRlcwo+IC0gcmVhZCAxIHRvdGFsCj4g bGlic3NoMl9zZnRwX29wZW5fZXgoc2YtPnNmdHAsIChjaGFyKilwdl9maWxlLCBsZW5fZmlsZSwg bF9mbGFncywKPiBtb2RlLCAwKSAtPiAweGE3ZDJiNjAKPiBsaWJzc2gyX3NjcF9yZWN2KHNzLT5z ZXNzaW9uLCBwYXRoLCAmc3QpIC0+IDB4YWZiNjNjOAo+IE5ldDo6U1NIMjo6Q2hhbm5lbDo6cmVh ZChzaXplID0gMjgyMzEsIGV4dCA9IDApCj4gLSByZWFkIDI4MjMxIHRvdGFsCj4gTmV0OjpTU0gy OjpDaGFubmVsOjpyZWFkKHNpemUgPSAxLCBleHQgPSAwKQo+IC0gcmVhZCAxIGJ5dGVzCj4gLSBy ZWFkIDEgdG90YWwKPiBbZGVidWddIGVuZCBzc2ggc2Vzc2lvbgo+Cj4gV2UgaGF2ZSBhbm90aGVy IHByb2Nlc3Mgc2ltaWxhciB0byB0aGlzIG9uZSB0aGF0IG9wZW5zIGEgc2hlbGwKPiBjaGFubmVs LCB3aGljaCBzdWZmZXJzIGZyb20gdGhlIHNhbWUgcHJvYmxlbS4gIEV2ZW4gd2hlbiB0aGUgY2hh bm5lbAo+IG9iamVjdCBnb2VzIG91dCBvZiBzY29wZSBpbiBvdXIgcHJvZ3JhbSwgaXRzIGRlc3Ry dWN0b3IgaXMgbm90IGNhbGxlZCwKPiBhbmQgc28gdGhlIE5ldDo6U1NIMiBvYmplY3QgaXMgbm90 IGRlc3Ryb3llZCBlaXRoZXIuCj4KPiBBbnkgaGVscCBpcyBhcHByZWNpYXRlZC4KPgo+IC0tCj4g U3RlcGhlbiBDbG91c2UgPHN0ZXBoZW5jbG91c2VAZ21haWwuY29tPgo+CgotLQpTdGVwaGVuIENs b3VzZSA8c3RlcGhlbmNsb3VzZUBnbWFpbC5jb20+Cg== |
From: David R. <dbr...@cp...> - 2006-05-04 03:29:47
|
On Tuesday May 2, 2006 20:26, Stephen Clouse wrote: > No one has anything toward a fix on this? I spent today taking > another look at it.... > > The object structure is self-referential (the PVIO contains a > reference back to the PVGV): ... > Is this a self-tied filehandle? Aren't those broken in 5.8.x? Maybe > this just needs to be reimplemented. Yes, it is a self-tied filehandle. I thought that was fixed (in perl)? -- Dave Isa. 40:31 |
From: Stephen C. <ste...@gm...> - 2006-05-04 23:32:40
Attachments:
perl-Net-SSH2-0.07-refcount.patch
|
VGhpcyBwYXRjaCBmaXhlcyB0aGUgcmVmY291bnQgYnVnLiAgSSBmaW5hbGx5IG5vdGljZWQgdGhl IEdWIHdhcyBiZWluZwppbml0aWFsaXplZCB3aXRoIGEgcmVmY291bnQgb2YgMiwgYnV0IGNvdWxk bid0IGZpZ3VyZSBvdXQgd2h5LiAgVGhlCnJlYWwgcHJvYmxlbSBpcyB0aGF0IHN2X21hZ2ljKCkg aXMgbm90IGZvbmQgb2YgdGFraW5nIGEgbW9ydGFsIFJWCih3aGljaCBTVCgwKSBpcykgLS0gaXQg bmVlZHMgYSBub24tVEVNUCdkIHJlZmVyZW5jZSB0aGF0IGNhbiBwcm9wZXJseQpiZSBjb252ZXJ0 ZWQgdG8gYSB3ZWFrcmVmICh0aGF0IGlzIHRoZSBpbnRlcm5hbCBtYWdpYyB0aGF0IGFsbG93cyBQ ZXJsCnRvIGNsZWFuIHVwIHNlbGYtdGllZCBoYW5kbGVzKS4gIE9uY2UgdGhlIHN2X21hZ2ljIGNh bGwgaXMgZml4ZWQsIHRoZQpyZWZjb3VudCBpbmNyZW1lbnQgb24gdGhlIGluaXRpYWwgR1YgY3Jl YXRpb24gaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSwKYW5kIHRoZSByZWZjb3VudHMgYXJlIHRoZW4g Y29ycmVjdC4KClRoaXMgaW50cm9kdWNlZCBhIHNlbWktYnVnIGluIHRoZSB0ZXN0IHNjcmlwdCwg d2hlcmUgaXQgZnJlZXplcyBhZnRlcgphbGwgdGVzdHMgaGF2ZSBwYXNzZWQuICBHbG9iYWwgY2xl YW51cCB0cmllcyB0byBkZXN0cm95IGEgbGVmdG92ZXIKTmV0OjpTU0gyOjpGaWxlIG9iamVjdCBh bmQgYmxvY2tzIG9uIGEgcmVhZCBhdHRlbXB0IGZyb20gdGhlCmFscmVhZHktY2xvc2VkIHNvY2tl dC4gIEkgZGlkIHBhdGNoIHRoZSB0ZXN0IHNjcmlwdCBhcyB3ZWxsLiAgSG93ZXZlciwKaXQgY291 bGQgYmUgYXJndWVkIHRoYXQgdGhpcyBpcyBhIGxpYnNzaDIgYnVnIC0tIHRoZSBzZXNzaW9uIG1h aW50YWlucwphIGxpbmtlZCBsaXN0IG9mIGNoYW5uZWxzLCBhbmQgaXQgc2hvdWxkIHNodXQgdGhl bSBkb3duIG9uY2UgaXQga25vd3MKdGhlIHNlc3Npb24gaXMgbm8gbG9uZ2VyIHZhbGlkLiAgSW4g cHJhY3RpY2UsIHRoaXMgaXMgbm90IGEgcHJvYmxlbSBhcwpsb25nIGFzIHlvdSBrZWVwIHRyYWNr IG9mIHlvdXIgb2JqZWN0cyBhbmQgcHJvcGVybHkgc2NvcGUgdGhlbS4gIE1heWJlCmRlc2VydmVz IGEgbm90ZSBpbiB0aGUgZG9jdW1lbnRhdGlvbiwgdGhvdWdoLgoKSnVzdCBhcyBhIGZpbmFsIG5v dGUsIG15IGRhZW1vbiBoYXMgYmVlbiBydW5uaW5nIGZvciBzZXZlcmFsIGhvdXJzIG5vdwp3aXRo IHRoaXMgcGF0Y2ggYXBwbGllZCBhbmQgaGFzIHlldCB0byBsZWFrIGEgc29ja2V0IGRlc2NyaXB0 b3IuLi4uCgotLQpTdGVwaGVuIENsb3VzZSA8c3RlcGhlbmNsb3VzZUBnbWFpbC5jb20+Cg== |
From: David R. <dbr...@cp...> - 2006-05-07 02:23:00
|
On Thursday May 4, 2006 16:32, Stephen Clouse wrote: > This patch fixes the refcount bug. I finally noticed the GV was being > initialized with a refcount of 2, but couldn't figure out why. The > real problem is that sv_magic() is not fond of taking a mortal RV > (which ST(0) is) -- it needs a non-TEMP'd reference that can properly > be converted to a weakref (that is the internal magic that allows Perl > to clean up self-tied handles). Once the sv_magic call is fixed, the > refcount increment on the initial GV creation is no longer necessary, > and the refcounts are then correct. Thanks very much. I've applied your patch and the tests look good, and I think it's important enough to go out as 0.08 even though I haven't collected up any other changes yet. Expect to see it on CPAN shortly. ... > Just as a final note, my daemon has been running for several hours now > with this patch applied and has yet to leak a socket descriptor.... Excellent. Of course, you're credited in the changelog for the fix. -- Dave Isa. 40:31 |