Am 07.11.2014 um 16:10 schrieb Lamprecht:
Am 04.11.2014 um 16:32 schrieb Greg Sabino Mullane:
I verified that the problem is in that block by setting:
$dbh->{pg_expand_array} = 0;
If that is set, no leak is seen in the test case.
I tried to reproduce with Ubuntu 14.04 / perl 5.18.2 / PG 9.3.5
DBD::Pg 3.4.2
I set $dbh->{pg_expand_array} = 0;
No matter if I select the text or the array column, I still get an inc of 1 SV
per round.
But what makes it much worse is a growth of process memory: It increases by 0.4
MB each round. I doubt that this is all lost in the one SV that D::L reports...
Cheers, Christoph
Checked with perlbrew installs of perl-5.16.3 and perl-5.21.5 - got the same
results.
Unfortunately Git checkout commit 18b5b8f0d4f82fdc4a0 fails tests on all the
three perls I tried:
t/01connect.t ....... 1/15 #
# DBI Version 1.63
# DBD::Pg Version 3.4.2
# Perl Version 5.18.2
# OS linux
# PostgreSQL (compiled) 90305
# PostgreSQL (target) 90305
# PostgreSQL (reported) PostgreSQL 9.3.5 on i686-pc-linux-gnu, compiled by
gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 32-bit
# Default port 5432
# DBI_DSN dbi:Pg:;client_encoding=utf8
# DBI_USER postgres
# Test schema dbd_pg_testschema
# LANG de_DE.UTF-8
# array_nulls on
# backslash_quote safe_encoding
# client_encoding UTF8
# server_encoding UTF8
# standard_conforming_strings on
# Adjusted: DBI_DSN
t/01connect.t ....... ok
t/01constants.t ..... ok
t/02attribs.t ....... 254/260 (in cleanup) DBD::Pg::st DESTROY failed: no
connection to the server at t/02attribs.t line 1622.
t/02attribs.t ....... ok
t/03dbmethod.t ...... 1/547
# Failed test 'DB handle method "do" works properly with passed-in array with
undefined entries'
# at t/03dbmethod.t line 133.
# Structures begin differing at:
# $got->[1][2] = 'ARRAY(0x8728480)'
# $expected->[1][2] = 'asasa'
t/03dbmethod.t ...... 158/547 # Looks like you failed 1 test of 547.
...
Test Summary Report
-------------------
t/03dbmethod.t (Wstat: 256 Tests: 547 Failed: 1)
Failed test: 11
Non-zero exit status: 1
t/03smethod.t (Wstat: 65280 Tests: 90 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 122 tests but ran 90.
t/09arrays.t (Wstat: 65280 Tests: 144 Failed: 46)
Failed tests: 5, 7, 10, 12, 15, 17, 20, 22, 25, 27, 46
48, 51, 53, 56, 58, 61, 63, 66, 68, 71
73, 76, 78, 81, 83, 86, 88, 91, 93, 96
98, 101, 103, 106, 108, 111, 113, 116, 118
121, 123, 126, 128, 141, 143
Non-zero exit status: 255
Parse errors: Bad plan. You planned 200 tests but ran 144.
t/30unicode.t (Wstat: 65280 Tests: 32 Failed: 0)
Non-zero exit status: 255
Parse errors: No plan found in TAP output
Files=21, Tests=1719, 32 wallclock secs ( 0.73 usr 0.09 sys + 8.44 cusr 0.90
csys = 10.16 CPU)
Result: FAIL
Failed 4/21 test programs. 47/1719 subtests failed.
Christoph