Hi all, with the included script below, Devel::Leak keeps outputting different pointers each time for the leaked SVs. This makes debugging harder. Can I have perl somehow allocate the same pointers each time when an allocation is being requested? I don't mind rebuilding a dedicated perl for that using perlbrew or whatever. Note that this also happens if make_trouble() is as simple as "my $x; $x = \$x;".
Regards, -- Shlomi Fish # Feeding XML::LibXML with an invalid file, triggering memory leaks use strict; use warnings; use Devel::Leak; use Encode; use XML::LibXML; use Carp; binmode STDOUT, ':encoding(UTF-8)'; check_libxml_memory(); sub check_libxml_memory { print "running\n"; my $handle; my $leaveCount = 0; my $enterCount = Devel::Leak::NoteSV($handle); print STDERR "\nENTER: $enterCount SVs\n"; { make_trouble(); # Trace how loading a bad doc affects memory } $leaveCount = Devel::Leak::CheckSV($handle); print STDERR "\nLEAVE: $leaveCount SVs\n"; } sub make_trouble { # Tries to load a bad XML file into XML::LibXML my $filenameIn = 'libxml-trouble-sample.html'; local $/; #Read whole file open(my $FILEIN,'<', $filenameIn) or die "Can't read file '$filenameIn' [$!]\n"; my $str = <$FILEIN>; close ($FILEIN); # Feeds the bad file to XML::LibXML. my $parser = XML::LibXML->new; my $success=1; # if recover is set to 0 or 1, the problem ceases to exist my $doc = $parser->parse_html_string($str, {recover => 2, encoding => 'UTF-8'} ); return; } 1; -- ----------------------------------------------------------------- Shlomi Fish http://www.shlomifish.org/ Funny Anti-Terrorism Story - http://shlom.in/enemy What is is. Perceive It. Integrate it. Act on it. Idealize it. — Leonard Peikoff Please reply to list if it's a mailing list post - http://shlom.in/reply .