Re: patch full of dark magic
On Sat, 07 Aug 2010 23:12:48 +0200, David E. Wheeler da...@kineticode.com wrote: On Aug 7, 2010, at 2:07 AM, Cosimo Streppone wrote: My really *ignorant* wild guess is that exit just avoids the troubles bits of DESTROY() that are causing segfaults without actually solving the problem. So the issue is that it segfaults when you exit in DESTROY (which is called during global destruction)? If so, this simple script should segfault for you: package Foo; sub DESTROY { exit; } my $foo = bless {}, 'Foo'; I couldn't try this yet, but, I don't think this would segfault. What I *guess* happens is that the 'exit' will cause the script to immediately exit, skipping the nasty part that would otherwise segfault. Oops. Try unless to if in this bit, please: fail 'Child should be inactive on DESTROY' if $self-FETCH('Active'); Will try and let you know. -- Cosimo
Re: patch full of dark magic
In data 09 agosto 2010 alle ore 17:27:52, David E. Wheeler da...@kineticode.com ha scritto: On Aug 9, 2010, at 8:21 AM, Cosimo Streppone wrote: package Foo; sub DESTROY { exit; } my $foo = bless {}, 'Foo'; I couldn't try this yet, but, I don't think this would segfault. What I *guess* happens is that the 'exit' will cause the script to immediately exit, skipping the nasty part that would otherwise segfault. Which nasty part? Ehm... scrap that :) Your patch with 'unless' reversed to 'if' works fine. Just for clarity, here's the full DESTROY() of 16destroy.t: sub DESTROY { if ($expect_active 0) { # inside child my $self = shift; exit ($self-FETCH('Active') || 0) unless $^O eq 'MSWin32'; # On Win32, the forked child is actually a thread. So don't exit, # and report failure directly. fail 'Child should be inactive on DESTROY' if $self-FETCH('Active'); } else { return $expect_active ? ok( shift-FETCH('Active'), 'Should be active in DESTROY') : ok( !shift-FETCH('Active'), 'Should not be active in DESTROY'); } } Will try and let you know. Thanks! Done. Passes all tests. This is perl 5.10.0 on MSWin32 + MSVC9 (cc='cl' and ccversion '15.00.21022.08') -- Cosimo
Re: patch full of dark magic
In data 09 agosto 2010 alle ore 22:42:59, David E. Wheeler da...@kineticode.com ha scritto: On Aug 9, 2010, at 1:06 PM, Cosimo Streppone wrote: Which nasty part? Ehm... scrap that :) Your patch with 'unless' reversed to 'if' works fine. Thanks! Committed in r14317. Confirmed. r14317 passes all tests. -- Cosimo
Re: patch full of dark magic
Hi DBI Win32 hackers, David E. Wheeler wrote: I *think* it works the way it does because on Win32 it's not really a fork, but a thread, and when you exit in a child thread, it exits the parent, too. Correct? Sounds reasonable? Alexandr's patch works fine for me. Passes all tests. That's fantastic! However, I'd be willing to spend a couple hours if someone can guide me into compiling a debugging version with MSVC, and trying to find out why this segfaults. My really *ignorant* wild guess is that exit just avoids the troubles bits of DESTROY() that are causing segfaults without actually solving the problem. If so, then the attached patch should work just as well. Alexandr, can you give it a try? [win32-destroy.patch] Yours fails for me with the following output: ok 18 - Should start active not ok 19 - Child should be inactive on DESTROY# Failed test 'Child should be inactive on DESTROY' # at ./t/16destroy.t line 104. ok 19 - Child should be inactive on DESTROY ok 20 - Should be active in DESTROY Failed 1/20 subtests Test Summary Report --- t/zvp_16destroy.t (Wstat: 0 Tests: 21 Failed: 2) Failed tests: 19-20 Parse errors: Tests out of sequence. Found (19) but expected (20) Tests out of sequence. Found (20) but expected (21) Bad plan. You planned 20 tests but ran 21. t/zvxgp_16destroy.t (Wstat: 0 Tests: 21 Failed: 2) Failed tests: 19-20 Parse errors: Tests out of sequence. Found (19) but expected (20) Tests out of sequence. Found (20) but expected (21) Bad plan. You planned 20 tests but ran 21. Files=4, Tests=82, 2 wallclock secs ( 0.19 usr + 0.03 sys = 0.22 CPU) Result: FAIL -- Cosimo
Re: Please Test: AutoInactiveDestroy
In data 26 luglio 2010 alle ore 23:11:42, David E. Wheeler da...@kineticode.com ha scritto: [...] AutoInactiveDestroy. We need to make sure that it doesn't die an ugly death on systems without fork (and on Win32, where it's emulated). It seems to die an ugly death for me. I'm experiencing the same failures as Martin. DBI SVN updated to r14289. Test output === (It segfaults at test 19) d:\dev\src\dbi-svnprove -vb t/zvp_16destroy.t t/zvp_16destroy.t .. 1..20 ok 1 - use DBI; ok 2 - ... check DBD::Test::dr::imp_data_size to avoid typo ok 3 - ... check DBD::Test::db::imp_data_size to avoid typo ok 4 - Install test driver ok 5 - Connect to test driver ok 6 - Should start active ok 7 - Should be active in DESTROY ok 8 - Create with ActiveDestroy ok 9 - InactiveDestroy should be set ok 10 - Should start active ok 11 - Should not be active in DESTROY ok 12 - Create with AutoInactiveDestroy ok 13 - InactiveDestroy should be set ok 14 - Should start active ok 15 - Should be active in DESTROY ok 16 - Create with AutoInactiveDestroy again ok 17 - InactiveDestroy should be set ok 18 - Should start active Dubious, test returned 5 (wstat 1280, 0x500) Failed 2/20 subtests Test Summary Report --- t/zvp_16destroy.t (Wstat: 1280 Tests: 18 Failed: 0) Non-zero exit status: 5 Parse errors: Bad plan. You planned 20 tests but ran 18. Files=1, Tests=18, 3 wallclock secs ( 0.08 usr + 0.05 sys = 0.12 CPU) Result: FAIL Perl binary (Windows Vista 32 bit) == This is perl, v5.10.0 built for MSWin32-x86-multi-thread. Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cl', ccflags ='-nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -D_CRT_SECU RE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO', optimize='-MD -Zi -DNDEBUG -O1', cppflags='-DWIN32' ccversion='15.00.21022.08', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -libpath:c:\dev\perl510\lib\CORE -machine:x86' libpth=c:\dev\msvc9\vc\lib libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32. lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl510.lib gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -libpath:c:\dev\perl510\lib\CORE -mach ine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_ITHREADS USE_LARGE_FILES USE_PERLIO Built under MSWin32 Compiled at Jan 30 2008 08:15:22 @INC: c:/dev/perl510/lib c:/dev/perl510/site/lib . -- Cosimo
Re: RFC: developing DBD::SQLite
In data 27 marzo 2009 alle ore 03:30:10, Darren Duncan dar...@darrenduncan.net ha scritto: So, out of my un-paid projects, my promise to take over release management of DBD::SQLite (from the still incommunicado previous owner) has now come to the front of my queue (now that Set::Relation 0.9.0 is out) Hi Darren, I *seem* to remember, but I might be totally wrong, that ADAMK took over maintainership for DBD::SQLite some months ago. Regarding feedback on DBD::SQLite, give me some time to read all your mail. The only thing I can say right now is that DBD::SQLite rocks for me because it's a direct-from-CPAN install with no hassle, even on Windows. -- Cosimo
Re: Building Perl with Statically Linked Modules
På Wed, 15 Oct 2008 15:41:37 +0200, skrev Jonathan Leffler [EMAIL PROTECTED]: [...] wanting to build Perl with both DBI and DBD::Informix statically linked. Does anyone have any recent experience building Perl with static modules? I used to create and maintain a custom perl build with many bundled modules (CPAN and non-CPAN) for a commercial application. I don't have *really* recent experience, but everytime I tried to statically link even builtin modules like 'Socket', 'IO' or others, I failed. Probably it's my ignorance of the process, but I never managed to do that. Note that I tried first with core modules because I thought that would be simpler, just needing to tell ./Configure to enable static linking for, say, 're'. My ultimate goal was to bundle DBI and DBD::Pg. As I said, I never managed to do that. We went for the '/opt/perl' + '/opt/{informix|freetds|pg|sybase|...}' way. BTW, any pointers or success stories on static linking would be appreciated. -- Cosimo
Possible strange problem in DBI::type_info()
Hi all, I found a strange problem in DBI::type_info(). I don't know much of DBI internals. Only found that sometimes, the 'type_info_all' structure returned by the driver is mangled by some shift() that happens in DBI::type_info(). This happens only for DBD::Informix driver (2003.04, but last version still has the problem), while for example, DBD::Pg doesn't show the problem. The following patch solves the problem, and I think shows also the reason why. I don't know whether it's more appropriate to apply this patch to DBI or to modify DBD::Informix::TypeInfo to return a new structure every time. No, bad. Probably it's better to change in DBI.pm. --- DBI.pm 2006-10-30 21:35:19.0 +0100 +++ DBI_cosimo.pm 2006-11-22 09:38:47.459177881 +0100 @@ -1713,8 +1713,11 @@ else { my $temp = $dbh-type_info_all; return unless $temp @$temp; + # make a temporary copy of tia structure returned by driver, to avoid + # mangling of driver's internal ref (see $DBD::Informix::TypeInfo::type_info_all) + my @temp_copy = @$temp; # we cache here because type_info_all may be expensive to call - $tia = $dbh-{dbi_type_info_row_cache} = $temp; + $tia = $dbh-{dbi_type_info_row_cache} = [EMAIL PROTECTED]; $idx_hash = $dbh-{dbi_type_info_idx_cache} = shift @$tia; } -- Cosimo
Re: Possible strange problem in DBI::type_info()
Steffen Goeldner wrote: Cosimo Streppone wrote: Hi all, I found a strange problem in DBI::type_info(). I don't know much of DBI internals. Only found that sometimes, the 'type_info_all' structure returned by the driver is mangled by some shift() that happens in DBI::type_info(). FTR: This was the reason for this patch: http://www.xray.mpe.mpg.de/mailing-lists/dbi/2005-02/msg00085.html Has this patch been already applied? I found this problem with DBI 1.48. I didn't test it with 1.53. Should I ? [...] No, bad. Probably it's better to change in DBI.pm. Well, safety vs. efficiency - Tim should decide. I think changing DBI.pm is both safer and more efficient, because as far as I can understand, type_info_all() should be called only once in the DBI lifetime. The fact that I'm seeing this problem is probably due to multiple opening/closing of different DBI handles (for DBD::Pg DBD::Informix together). -- Cosimo
[PATCH] DBI::TINYINT constant used instead of DBI::SQL_TINYINT
I think that DBD::File at line 392 has a mistake in DBI::SQL_TINYINT() constant name. Attached is a patch against DBI 1.51 (and DBD::File v0.34) that should solve this problem. The actual result of this problem is the following error message: Can't locate auto/DBI/TINYINT.al in @INC (@INC contains: ... .) at /opt/perl/lib/site_perl/5.8.6/x86_64-linux/DBD/File.pm line 384 I didn't understand clearly what triggers the error, may be the `quote($value, $type)' call? If useful to you, I can also file a bug on rt.cpan.org. -- Cosimo diff -u -Naur DBI-1.51/lib/DBD/File.pm DBI-1.51_cosimo/lib/DBD/File.pm --- DBI-1.51/lib/DBD/File.pm 2005-03-14 17:39:17.0 +0100 +++ DBI-1.51_cosimo/lib/DBD/File.pm 2006-06-27 09:54:36.087829379 +0200 @@ -389,7 +389,7 @@ $type == DBI::SQL_FLOAT() || $type == DBI::SQL_REAL() || $type == DBI::SQL_DOUBLE()|| - $type == DBI::TINYINT())) { + $type == DBI::SQL_TINYINT())) { return $str; } if (!defined($str)) { return NULL }
Re: Makefile.PL problems on windows
Tim Bunce wrote: I'd appreciate it if someone could look into why sometimes Makefile.PL fails on windows. There are four reports here http://testers.cpan.org/show/DBI.html#DBI-1.48 For example http://www.nntp.perl.org/group/perl.cpan.testers/204712 It's not consistent though, as there are reports of success as well. I read those reports. They seem to come from the same guy. The exact error message is localized, but can be reproduced by simply having nmake.exe in your $PATH without microsoft compiler executable (cl.exe). Here it is a similar message after running build process on one of our systems, *without* setting vcvars32. ---8-- Checking if your kit is complete... Looks good I see you're using perl 5.008 on MSWin32-x86-multi-thread, okay. Remember to actually *read* the README file! Use 'make' to build the software (dmake or nmake on Windows). [...] Writing Makefile for DBI C:\Documents and Settings\cosimo\Documenti\CPAN\DBI-1.48nmake Microsoft (R) Program Maintenance Utility Version 1.40 Copyright (c) Microsoft Corp 1988-93. All rights reserved. [...] cp lib/DBD/ExampleP.pm blib\lib\DBD/ExampleP.pm cp lib/DBI/ProfileData.pm blib\lib\DBI/ProfileData.pm C:\prg\lng\indigoperl\perl\bin\perl.exe -p -e s/~DRIVER~/Perl/g ./Driv er.xst Perl.xsi C:\prg\lng\indigoperl\perl\bin\perl.exe C:\prg\lng\indigoperl\perl\lib\E xtUtils/xsubpp -typemap C:\prg\lng\indigoperl\perl\lib\ExtUtils\typemap -typema p typemap Perl.xs Perl.xsc C:\prg\lng\indigoperl\perl\bin\perl.exe -MExtUt ils::Command -e mv Perl.xsc Perl.c cl -c-nologo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPE RL_MSVCRT_READFIX -MD -DNDEBUG -O1-DVERSION=\1.48\ -DXS_VERSION=\1.48\ -IC:\prg\lng\indigoperl\perl\lib\CORE Perl.c cl non è riconosciuto come comando interno o esterno, un programma eseguibile o un file batch. NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code '0x1' Stop. C:\Documents and Settings\cosimo\Documenti\CPAN\DBI-1.48 ---8-- I think it only means `cl' is an unknown command. -- Cosimo
Re: SQL-Statement 1.13
Jeff Zucker wrote: H.Merijn Brand wrote: Failed 2/15 test scripts, 86.67% okay. 1/227 subtests failed, 99.56% okay. I added over 140 tests in recent releases (and doubled the Devel::Cover coverage) and apparently forgot to wrap some of the requires in evals. SQL::Statement has no prerequisites but since its most common use is with DBI some of the tests do eval{require DBI; require DBD::File}. I've fixed the requires so that some of the tests will be skipped if DBI and/or DBD::File are not found, but they should not show errors regardless of what's available. I'd much appreciate if those who experienced test failures could try again with http://svn.perl.org/modules/SQL-Statement/trunk/SQL-Statement-1.14.tar.gz (OS: Linux, Perl: 5.8.6, DBI 1.48) Passes all tests here, though the tar.gz archive is itself gzipped. -- Cosimo
Re: [Dbdpg-general] Problem when upgrading to latest versions of DBD::Pg
Greg Sabino Mullane wrote: JJ Merelo wrote: that is, column is of type whatever and should be of type whatever else. The aforementioned column is of type serial. I'm using Perl Hard to say without knowing what version you have [...] Before upgrading however, please run the test suite (make test) and send us the results so we can possibly narrow down the problem. I don't know if this is going to help in some way, but... I've put up a test case that is failing with DBD::Pg 1.40 and works ok with DBD::Pg 1.32. Environment is: Pg 8.0.1 Perl 5.8.6 DBI 1.46 1.40 builds and tests fine, while 1.32 has errors (detail can be provided if necessary). Run of test script with DBD::Pg 1.32: $ perl t/24_server_side_prepare.t 1..9 ok 1 - database ready ok 2 - create test table ok 3 - insert sth prepared correctly # skipping bind_param(1, undef, SQL_INTEGER) on DBD::Pg 1.40 # because it triggers error: Can't change TYPE ... to 0 ... #execute()=1 [EMAIL PROTECTED] ok 4 - execute of insert query ok 5 - rollback transaction ok 6 - create test table ok 7 - insert sth prepared correctly ok 8 - execute of insert query ok 9 - rollback transaction Run of test script with DBD::Pg 1.40: $perl t/24_server_side_prepare.t 1..9 ok 1 - database ready ok 2 - create test table ok 3 - insert sth prepared correctly #execute()=1 [EMAIL PROTECTED] ok 4 - execute of insert query ok 5 - rollback transaction ok 6 - create test table ok 7 - insert sth prepared correctly DBD::Pg::st execute failed: ERROR: column myfield1 is of type integer but expression is of type character varying HINT: You will need to rewrite or cast the expression. not ok 8 - execute of insert query # Failed test (t/24_server_side_prepare.t at line 83) #$dbh-err=7 $dbh-errstr=ERROR: column myfield1 is of type integer but expression is of type character varying # HINT: You will need to rewrite or cast the expression. ok 9 - rollback transaction # Looks like you failed 1 tests of 9. I've tried to understand what's going on in Pg.pm/xs but I need to dig some more to be somewhat helpful. Here it is the test script that I used: --8-- #!/usr/bin/perl # Tests about server side prepared statements in Pg # $Id: 24_server_side_prepare.t,v 1.1 2005/02/16 10:50:42 cosimo Exp $ # use Test::More; plan tests = 9; use strict; use warnings; use DBI qw(:sql_types); sub create_test_table { my $dbh = $_[0]; $dbh-do(SQL); CREATE TABLE dbdpg_test1 ( myfield1 integer, myfield2 numeric(5,0), myfield3 numeric(8,3) ) SQL } my $dbh; my $sth; my $ok = 0; my $sql = 'INSERT INTO dbdpg_test1 (myfield1) VALUES (?)'; # Connect to pgperltest database in transactional mode $dbh = DBI-connect('DBI:Pg:dbname=pgperltest', undef, undef, {RaiseError=1, PrintError=1, AutoCommit=0} ); ok( ref $dbh $dbh-ping(), 'database ready'); # # Prepare first insert statement w/o server side prepare # ok( create_test_table($dbh), 'create test table'); eval { $sth = $dbh-prepare($sql, {pg_server_prepare=0}) }; ok( $sth ! $@, 'insert sth prepared correctly'); # # The following bind_param() makes the test work # If you omit this, does not work anymore with DBD::Pg 1.40 (see below) # with DBD::Pg 1.32 everything works as expected # if( DBD::Pg-VERSION() 1.32 ) { $sth-bind_param(1, undef, SQL_INTEGER); } else { diag('skipping bind_param(1, undef, SQL_INTEGER) on DBD::Pg 1.40'); diag('because it triggers error: Can\'t change TYPE ...'); } eval { $ok = $sth-execute(99) }; diag(' execute()='.$ok.' [EMAIL PROTECTED]'.$@); ok( $ok ! $@, 'execute of insert query'); if( ! $ok ) { diag(' $dbh-err='.$dbh-err().' $dbh-errstr='.$dbh-errstr()); } ok( $dbh-rollback(), 'rollback transaction' ); # # This time we repeat all the test without binding param # Test fails with DBD::Pg 1.40 ! # $ok = 0; ok( create_test_table($dbh), 'create test table'); eval { $sth = $dbh-prepare($sql, {pg_server_prepare=0} ) }; ok( $sth ! $@, 'insert sth prepared correctly'); eval { $ok = $sth-execute(99) }; ok( $ok ! $@, 'execute of insert query'); if( ! $ok ) { diag(' $dbh-err='.$dbh-err().' $dbh-errstr='.$dbh-errstr()); } ok( $dbh-rollback(), 'rollback transaction' ); # # End of test # --8-- -- Cosimo
Re: ANNOUNCE: DBI 1.46 release candidate
Tim Bunce wrote: [...] DBI-1.46-rc1-20041114.tar.gz Testing with perl 5.8.3 5.8.5 gave All tests successful. However, with 5.6.1 (for two different test machines/environments/GCCs) test t/zvpp_01basics.t fails. Don't know the importance of this failure, though. CPAN release of DBI-1.45 still compiles and tests ok. Report follows: 8--- [EMAIL PROTECTED] DBI-1.46]$ make test /bin/sh -c true PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/opt/perl/lib/5.6.1/linux -I/opt/perl/lib/5.6.1 -e 'use Test::Harness qw(runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t t/01basicsok 4/131 skipped: developer tests t/02dbidrvok t/03handleok t/04mods..ok t/05thrclone..skipped all skipped: this linux perl 5.006001 not configured to support iThreads t/06attrs.ok t/07kids..ok t/08keeperr...ok t/09trace.ok t/10examp.ok t/14utf8..skipped all skipped: Requires perl 5.8 t/15array.ok t/20meta..ok t/30subclass..ok t/40profile...ok t/41prof_dump.ok t/42prof_data.ok t/50dbm...ok t/60preparse..ok t/80proxy.skipped all skipped: modules required for proxy are probably not installed (e.g., RPC/PlClient.pm) t/pod.skipped all skipped: Test::Pod 1.00 required for testing POD t/zvpp_01basics...ok 104/131DBI::PurePerl doesn't support hash type 1 without Math::BigInt = 1.56 (available on CPAN) at t/01basics.t line 245 ...caught at t/zvpp_01basics.t line 3. DBI::PurePerl doesn't support hash type 1 without Math::BigInt = 1.56 (available on CPAN) at t/01basics.t line 245 ...caught ...propagated at t/zvpp_01basics.t line 4. # Looks like you planned 131 tests but only ran 104. # Looks like your test died just after 104. t/zvpp_01basics...dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 105-131 Failed 27/131 tests, 79.39% okay t/zvpp_02dbidrv...ok 10/51 skipped: various reasons t/zvpp_03handle...ok 69/124 skipped: various reasons t/zvpp_04mods.ok t/zvpp_05thrclone.skipped all skipped: this linux perl 5.006001 not configured to support iThreads t/zvpp_06attrsok 7/137 skipped: various reasons t/zvpp_07kids.skipped all skipped: $h-{Kids} attribute not supported for DBI::PurePerl t/zvpp_08keeperr..ok t/zvpp_09traceok t/zvpp_10exampok 39/252 skipped: various reasons t/zvpp_14utf8.skipped all skipped: Requires perl 5.8 t/zvpp_15arrayok t/zvpp_20meta.ok t/zvpp_30subclass.ok t/zvpp_40profile..skipped all skipped: profiling not supported for DBI::PurePerl t/zvpp_41prof_dumpskipped all skipped: profiling not supported for DBI::PurePerl t/zvpp_42prof_dataskipped all skipped: profiling not supported for DBI::PurePerl t/zvpp_50dbm..ok t/zvpp_60preparse.skipped all skipped: preparse not supported for DBI::PurePerl t/zvpp_80proxyskipped all skipped: modules required for proxy are probably not installed (e.g., RPC/PlClient.pm) Failed Test Stat Wstat Total Fail Failed List of Failed --- t/zvpp_01basics.t 255 65280 131 27 20.61% 105-131 12 tests and 129 subtests skipped. Failed 1/41 test scripts, 97.56% okay. 27/2056 subtests failed, 98.69% okay. make: *** [test_dynamic] Error 11 [EMAIL PROTECTED] DBI-1.46]$ 8--- -- Cosimo
Re: ANNOUNCE: DBI 1.46 release candidate
Tim Bunce wrote: [...] t/zvpp_01basics...ok 104/131DBI::PurePerl doesn't support hash type 1 without Math::BigInt = 1.56 (available on CPAN) at t/01basics.t line 245 Failed 1/41 test scripts, 97.56% okay. 27/2056 subtests failed, 98.69% okay. The message seems pretty self-explanatory, but I'll make it not fail in this case. Thanks. Sorry, I could have inspected the report a little more. BTW, I upgraded Math::BigInt to 1.73 and all went ok. -- Cosimo
Re: Announce: DBI 1.38 release candidate
Tim Bunce wrote: I'd be grateful if you could take a moment to try out this release candidate of DBI 1.38: All tests successful, 9 tests skipped. Files=34, Tests=1215, 33 wallclock secs ( 9.09 cusr + 0.67 csys = 9.76 CPU) $perl -MDBI -e 'DBI-installed_versions' Perl: 5.006001 OS : linux DBI : 1.38 DBD::Sybase : 0.95 DBD::Sponge : 11.09 DBD::Pg : 1.22 DBD::ODBC : 1.05 DBD::LDAP : 0.05 DBD::Informix : 1.00.PC2 DBD::File : 0.1023 DBD::Excel : 0.05 DBD::ExampleP : 11.10 DBD::DB2: 0.76 DBD::CSV: 0.1030 -- Cosimo WinNT error 003: FPU error - enter any 11 digit prime number to continue.
Re: DBD::Pg 1.30_2 (beta) make test results
Rudy Lippan wrote: Cosimo Streppone wrote: So I did further investigations. I recompiled my perl 5.6.1 from same clean source package (no rpm) [...] Installed DBI 1.35, DBD::Pg 1.30_2 and everything worked! Everything else is same as before, postgres db version (7.3.3), dbi (1.35), dbd-pg, libs, ... I can reproduce the error simply switching the symlink from `/opt/perl-5.6.1-new' to `/opt/perl-5.6.1', where i have the two installations of perl. At this point, I don't know if more investigation is useful. I am sure that there is a bug somewhere, but it seems to be fairly isolated; I am just worried about what happens when people try to use this in production envionment. The effect I'm having on test servers is that my cgis are dieing in a random way just as the test scripts. I see no errors on webserver error log, I see no application main log, no dbi error, just dieing without explanation. Postgres client library comes out with `pq_recvbuf: eof on client connection' errors, and all stops silently, resulting in `500' errors. As you can imagine, this is a Bad Thing(tm). I have also a (failed) make test report on 5.8.0. I don't know if this can be useful... Maybe... But it would be nice to try and fix this before a release, anyway. Ok, I'll try to report asap. -- Cosimo
DBD::Pg 1.30_2 test failure with perl 5.8.0
Hi all, I'm reporting another make test failure this time with perl 5.8.0. I realize that Test/Builder.pm warnings are due to bugs in that module, but the other warning, `v-string in use/require ...' , seems more important. In the end, tests are failing due to a `call queue aborted'. Is this a threading issue? Perl 5.8.0 threaded DBI1.37 DBD-Pg 1.30_2 Postgresql 7.3.3 - 08:55:41$make test PERL_DL_NONLAZY=1 /opt/perl-5.8.0/bin/perl -MExtUtils::Command::MM -e test_harness(0, 'blib/lib', 'blib/arch') t/*.t t/00basic...v-string in use/require non-portable at /home/cosimo/files/CPAN/DBD-Pg-1.30_2/blib/lib/DBD/Pg.pm line 12. t/00basic...ok t/01connect.v-string in use/require non-portable at /home/cosimo/files/CPAN/DBD-Pg-1.30_2/blib/lib/DBD/Pg.pm line 12. Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 332. Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 1301. END failed--call queue aborted. t/01connect.dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 1-2 Failed 2/2 tests, 0.00% okay t/01constants...v-string in use/require non-portable at /home/cosimo/files/CPAN/DBD-Pg-1.30_2/blib/lib/DBD/Pg.pm line 12. Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 332. Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 1301. END failed--call queue aborted. t/01constants...dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 1-20 Failed 20/20 tests, 0.00% okay t/01setup...v-string in use/require non-portable at /home/cosimo/files/CPAN/DBD-Pg-1.30_2/blib/lib/DBD/Pg.pm line 12. Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 332. Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 1301. END failed--call queue aborted. t/01setup...dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 1-5 Failed 5/5 tests, 0.00% okay t/02prepare.v-string in use/require non-portable at /home/cosimo/files/CPAN/DBD-Pg-1.30_2/blib/lib/DBD/Pg.pm line 12. Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 332. Issuing rollback() for database handle being DESTROY'd without explicit disconnect(). Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 1301. END failed--call queue aborted. t/02prepare.dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 1-8 Failed 8/8 tests, 0.00% okay t/03bindv-string in use/require non-portable at /home/cosimo/files/CPAN/DBD-Pg-1.30_2/blib/lib/DBD/Pg.pm line 12. Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 332. Issuing rollback() for database handle being DESTROY'd without explicit disconnect(). Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 1301. END failed--call queue aborted. t/03binddubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 1-11 Failed 11/11 tests, 0.00% okay t/04execute.v-string in use/require non-portable at /home/cosimo/files/CPAN/DBD-Pg-1.30_2/blib/lib/DBD/Pg.pm line 12. Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 332. Issuing rollback() for database handle being DESTROY'd without explicit disconnect(). Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 1301. END failed--call queue aborted. t/04execute.dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 1-13 Failed 13/13 tests, 0.00% okay t/05fetch...v-string in use/require non-portable at /home/cosimo/files/CPAN/DBD-Pg-1.30_2/blib/lib/DBD/Pg.pm line 12. Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 332. Issuing rollback() for database handle being DESTROY'd without explicit disconnect(). Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 1301. END failed--call queue aborted. t/05fetch...dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 1-10 Failed 10/10 tests, 0.00% okay t/06disconnect..v-string in use/require non-portable at /home/cosimo/files/CPAN/DBD-Pg-1.30_2/blib/lib/DBD/Pg.pm line 12. Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 332. Issuing rollback() for database handle being DESTROY'd without explicit disconnect(). Invalid value for shared scalar at /opt/perl/lib/5.8.0/Test/Builder.pm line 1301. END failed--call queue aborted. t/06disconnect..dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 1-3 Failed 3/3 tests, 0.00% okay t/07reuse...v-string in use/require non-portable at /home/cosimo/files/CPAN/DBD-Pg-1.30_2/blib/lib/DBD/Pg.pm line 12. Invalid value for shared scalar at
Re: Announce: DBD::Pg 1.30_2 (beta)
Cosimo Streppone wrote: Subject: Re: Announce: DBD::Pg 1.30_2 (beta) From: Rudy Lippan [EMAIL PROTECTED] Date: Wed, 25 Jun 2003 00:26:08 -0400 (EDT) To: Cosimo Streppone [EMAIL PROTECTED] I can't seem to get get DBD::Pg to die. Do you think you could give me a backtrace from the core file? Hi Rudy, I'm not very familiar with those backtraces, but here it is the result: Core was generated by `/usr/bin/perl t/03bind.t'. Program terminated with signal 11, Segmentation fault. Cannot access memory at address 0x400136c0 #0 0x4207aebf in ?? () (gdb) bt full #0 0x4207aebf in ?? () No symbol table info available. Cannot access memory at address 0xb278 (gdb) I don't know you, but I did't understand more from this, except that I'm getting segfaults. So I did further investigations. I recompiled my perl 5.6.1 from same clean source package (no rpm), enabling the -DDEBUG switch at config time (I thought it was not enabled in my previous perl version). Installed DBI 1.35, DBD::Pg 1.30_2 and everything worked! Note that `perl -V' output is the same as before, nothing changes except the compile date. If relevant, `ldd' on the two executables shows no difference. Everything else is same as before, postgres db version (7.3.3), dbi (1.35), dbd-pg, libs, ... I can reproduce the error simply switching the symlink from `/opt/perl-5.6.1-new' to `/opt/perl-5.6.1', where i have the two installations of perl. At this point, I don't know if more investigation is useful. Here is the successful report. SUCCESSFUL MAKE TEST FOR: Perl5.6.1 (recompiled) DBD::Pg 1.30_2 DBI 1.35 Postgresql 7.3.3 The result of the tests is the same, but I get no more the `pq_recvbuf: got EOF on client connection' errors I got before that caused the death of many test scripts. 10:08:42$make test PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/opt/perl/lib/5.6.1/linux -I/opt/perl/lib/5.6.1 -e 'use Test::Harness qw(runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t t/00basic...ok t/01connect.ok t/01constants...ok t/01setup...ok 2/5ERROR: table test2 does not exist NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'test2_pkey' for table 'test2' t/01setup...ok 3/5ERROR: table test3 does not exist NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'test3_pkey' for table 'test3' t/01setup...ok t/02prepare.ok t/03bindok t/04execute.ok t/05fetch...ok 3/10 skipped: need Encode module for unicode tests t/06disconnect..ok t/07reuse...ok t/08txn.ok t/09autocommit..ok t/11quoting.ok 5/9Use of uninitialized value in concatenation (.) or string at t/11quoting.t line 34. t/11quoting.ok t/12placeholdersok t/13pgtype..ok 1/3ERROR: table tt does not exist t/13pgtype..ok t/15funct...ok t/99cleanup.ok All tests successful, 3 subtests skipped. Files=17, Tests=201, 4 wallclock secs ( 2.54 cusr + 0.19 csys = 2.73 CPU) [EMAIL PROTECTED]:///opt/download/DBD-Pg-1.30_2 10:08:48$ I have also a (failed) make test report on 5.8.0. I don't know if this can be useful... -- Cosimo
Re: Announce: DBD::Pg 1.30_2 (beta)
Rudy Lippan wrote: DBD::Pg 1.30 is nearing release, and you can grab a copy of the latest beta at: http://www.remotelinux.com/rlippan/DBD-Pg-1.30_2.tar.gz Hi Rudy, here is the result of my tests, with either DBI 1.35 and 1.37 and Postgresql version 7.3.3. I'm having several problems with the test scripts. I cannot understand if these are caused by my setup... OS: Linux RedHat 7.3 Pg: 7.3.3 Perl : 5.6.1 DBI : 1.35 and 1.37 DBD-PG: 1.30_2 First I was using DBD::Pg 1.22 with DBI 1.30 through 1.37 with no problems. I upgraded from Postgresql 7.1.3 to 7.3.3 because 7.2 was a prerequisite. Here I include output of `make test' with DBI 1.37. Hope that this can be of any help. Output of testing with DBI 1.35 is very similar but the number of failed subtests is 80 instead of 92. Please tell if I can test and/or report something more to help. Output of `make test' --- [EMAIL PROTECTED]://~/files/DBD-Pg-1.30_2 14:36:03$DBI_DSN=dbi:Pg:dbname=pg130test DBI_USER=postgres make test /bin/sh -c true /bin/sh -c true PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/opt/perl/lib/5.6.1/linux -I/opt/perl/lib/5.6.1 -e 'use Test::Harness qw(runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t t/00basic...ok t/01connect.ok t/01constants...ok t/01setup...ok t/02prepare.ok t/03binddubious Test returned status 0 (wstat 11, 0xb) DIED. FAILED tests 5-11 Failed 7/11 tests, 36.36% okay t/04execute.dubious Test returned status 0 (wstat 11, 0xb) DIED. FAILED tests 5-13 Failed 9/13 tests, 30.77% okay t/05fetch...dubious Test returned status 0 (wstat 11, 0xb) DIED. FAILED tests 9-10 Failed 2/10 tests, 80.00% okay (less 3 skipped tests: 5 okay, 50.00%) t/06disconnect..ok t/07reuse...ok t/08txn.ok t/09autocommit..ok t/11quoting.dubious Test returned status 0 (wstat 11, 0xb) DIED. FAILED tests 2-9 Failed 8/9 tests, 11.11% okay t/12placeholdersdubious Test returned status 0 (wstat 11, 0xb) DIED. FAILED tests 5-9 Failed 5/9 tests, 44.44% okay t/13pgtype..ok t/15funct...dubious Test returned status 0 (wstat 11, 0xb) DIED. FAILED tests 11-71 Failed 61/71 tests, 14.08% okay t/99cleanup.ok Failed TestStat Wstat Total Fail Failed List of Failed --- t/03bind.t011117 63.64% 5-11 t/04execute.t 011139 69.23% 5-13 t/05fetch.t 011102 20.00% 9-10 t/11quoting.t 011 98 88.89% 2-9 t/12placeholders.t011 95 55.56% 5-9 t/15funct.t 01171 61 85.92% 11-71 3 subtests skipped. Failed 6/17 test scripts, 64.71% okay. 92/201 subtests failed, 54.23% okay. make: *** [test_dynamic] Error 11 [EMAIL PROTECTED]://~/files/DBD-Pg-1.30_2 14:36:30$ -- Cosimo