Re: patch full of dark magic

2010-08-09 Thread Cosimo Streppone
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

2010-08-09 Thread Cosimo Streppone
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

2010-08-09 Thread Cosimo Streppone
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

2010-08-07 Thread Cosimo Streppone

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

2010-07-27 Thread Cosimo Streppone
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

2009-03-27 Thread Cosimo Streppone
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

2008-10-15 Thread Cosimo Streppone
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()

2006-11-22 Thread Cosimo Streppone

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()

2006-11-22 Thread Cosimo Streppone

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

2006-06-27 Thread Cosimo Streppone

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

2005-06-21 Thread Cosimo Streppone

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

2005-04-22 Thread Cosimo Streppone
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

2005-02-25 Thread Cosimo Streppone
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

2004-11-15 Thread Cosimo Streppone
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

2004-11-15 Thread Cosimo Streppone
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

2003-08-21 Thread Cosimo Streppone
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

2003-06-27 Thread Cosimo Streppone
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

2003-06-27 Thread Cosimo Streppone
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)

2003-06-25 Thread Cosimo Streppone
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)

2003-06-12 Thread Cosimo Streppone
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