List Info

Thread: P4Perl tagged filelog leaking?




P4Perl tagged filelog leaking?
user name
2006-06-29 17:51:33
The script was running on a test server and it ran out of
memory so it crashed. The script.pl consumes the memory not
p4d. 

When I run the while loop below the script hogs lots of
memory and never releases it.

HTH

NSA

-----Message d'origine-----
De : Tony Smith [mailto:tonysmee.org] 
Envoyé : 29 juin 2006 13:42
À : Nicolas St-Amour
Cc : p4perlperforce.com
Objet : Re: [p4perl] P4Perl tagged filelog leaking?

Hi Nicolas,

I'm a bit confused: is it the server that's leaking? Or
P4Perl?

If it's the server, you need to raise this with Perforce
Technical
Support. If it's P4Perl, you've come to the right place,
but I don't
understand how a leak in P4Perl will cause your server to
crash.

Could you clarify what's going on?

Thanks,

Tony


Nicolas St-Amour wrote:
> On 2005 (.1 and .2) servers (both Windows and Linux),
we noticed an
> enormous leak using P4Perl (version 3.5396).
> 
> The following script will leak:
> 
> --------------------------
> #!/usr/bin/perl
> 
> use P4;
> my $p4 = new P4;
> $p4->Tag();
> $p4->ParseForms();
> $p4->Connect () || die "p4 connect: $!";
> 
> while (1)
> {
> 	$p4->Run ("filelog",
"//data/...");
> }
> 
> $p4->Final ();
> $p4 = undef;
> --------------------------
> 
> 
> If you run the script untagged, it leaks a lot less
(but still leaks).
> Other commands seem to be leaking (tried info and fstat
amongst others).
> 
> Is there a fix/workaround to this, any ideas?
> 
> We want to introduce a nightly job that will do a bunch
of "p4 filelog"
> and we don't want our server to croak.
> 
> Better yet, is there a way to know if a revision is the
source of a
> branch without using filelog?
> 
> Thanks!
> 
> Nicolas
> 
> _______________________________________________
> p4perl mailing list
> p4perlperforce.com
> 
http://maillist.perforce.com/mailman/listinfo/p4perl
> 
> !DSPAM:44a312c1154383155389138!
> 
> 

_______________________________________________
p4perl mailing list
p4perlperforce.com

http://maillist.perforce.com/mailman/listinfo/p4perl
P4Perl tagged filelog leaking?
user name
2006-06-30 09:53:09
Yes, it helped a great deal - thanks. I've submitted a fix
for the leaks 
(there was more than one), so could you download the latest
build (5564) and 
let me know if that solves the problem.

(Note the Windows installer has not yet been updated, so
you'll need to use 
the source tarball).

Thanks,

Tony

On Thursday 29 June 2006 18:51, Nicolas St-Amour wrote:
> The script was running on a test server and it ran out
of memory so it
> crashed. The script.pl consumes the memory not p4d.
>
> When I run the while loop below the script hogs lots of
memory and never
> releases it.
>
> HTH
>
> NSA
>
> -----Message d'origine-----
> De : Tony Smith [mailto:tonysmee.org]
> Envoyé : 29 juin 2006 13:42
> À : Nicolas St-Amour
> Cc : p4perlperforce.com
> Objet : Re: [p4perl] P4Perl tagged filelog leaking?
>
> Hi Nicolas,
>
> I'm a bit confused: is it the server that's leaking?
Or P4Perl?
>
> If it's the server, you need to raise this with
Perforce Technical
> Support. If it's P4Perl, you've come to the right
place, but I don't
> understand how a leak in P4Perl will cause your server
to crash.
>
> Could you clarify what's going on?
>
> Thanks,
>
> Tony
>
> Nicolas St-Amour wrote:
> > On 2005 (.1 and .2) servers (both Windows and
Linux), we noticed an
> > enormous leak using P4Perl (version 3.5396).
> >
> > The following script will leak:
> >
> > --------------------------
> > #!/usr/bin/perl
> >
> > use P4;
> > my $p4 = new P4;
> > $p4->Tag();
> > $p4->ParseForms();
> > $p4->Connect () || die "p4 connect:
$!";
> >
> > while (1)
> > {
> > 	$p4->Run ("filelog",
"//data/...");
> > }
> >
> > $p4->Final ();
> > $p4 = undef;
> > --------------------------
> >
> >
> > If you run the script untagged, it leaks a lot
less (but still leaks).
> > Other commands seem to be leaking (tried info and
fstat amongst others).
> >
> > Is there a fix/workaround to this, any ideas?
> >
> > We want to introduce a nightly job that will do a
bunch of "p4 filelog"
> > and we don't want our server to croak.
> >
> > Better yet, is there a way to know if a revision
is the source of a
> > branch without using filelog?
> >
> > Thanks!
> >
> > Nicolas
> >
> > _______________________________________________
> > p4perl mailing list
> > p4perlperforce.com
> > 
http://maillist.perforce.com/mailman/listinfo/p4perl
>
> !DSPAM:44a4122387172103716401!

_______________________________________________
p4perl mailing list
p4perlperforce.com

http://maillist.perforce.com/mailman/listinfo/p4perl
[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )