PEPPLER.ORG
Michael Peppler
Sybase Consulting
Menu
Home
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
Freeware
Sybperl
Sybase::Simple
DBD::Sybase
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
FAQs
Sybase on Linux FAQ
Sybperl FAQ
Personal
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: Peter Sinnott <psinnottie at aol dot com>
Subject: Re: DBD::Sybase 1.04_10 available
Date: Oct 7 2004 3:54PM

On Tue, Oct 05, 2004 at 08:10:45AM +0200, Michael Peppler wrote:
> DBD::Sybase 1.04_10 is now available on CPAN and at
> http://www.peppler.org/downloads. This version should fix various
> problems with $sth->finish() when syb_flush_finish is enabled.
> 
> I'm getting close to a 1.05 release, so if you have a chance to download
> this version and test it I'd appreciate it.
>

Seems to be failing for me on both i386 linux and hpux when used 
with the most recent DBI. Using DBI 1.43 is passes on linux
(not tested on hp).

hpux perl is  v5.8.0
linux perl is v5.8.4

Possibly related to these lines in DBI.xs which were
changed in 1.44
( changelog says Fixed risk of utf8 flag persisting from one row to the next )

/* don't let SvUTF8 flag persist from one row to the next   */
/* (only affects drivers that use sv_setpv, but most XS do) */
while(i--)                  /* field 1 stored at index 0    */
	SvUTF8_off(AvARRAY(av)[i]);


psinnott@migo:/tmp/DBD-Sybase-1.04_10$ perl -I blib/lib/ -I blib/arch/ t/exec.t 
1..17
ok 1 - use DBI;
ok 2 - use DBD::Sybase;
ok 3 - Connect
ok 4 - Prepare sp_helpindex
ok 5 - exec sysusers
ok 6 - -1 (create proc)
# 
ok 7 - prepare dbitest
ok 8 - execute dbitest 1
Segmentation fault (core dumped)

Backtrace from linux core :

#0  0x40254b68 in dbih_get_fbav () from
/usr/local/lib/perl/5.8.4/auto/DBI/DBI.so
(gdb) backtrace
#0  0x40254b68 in dbih_get_fbav () from
/usr/local/lib/perl/5.8.4/auto/DBI/DBI.so
#1  0x4028b34d in syb_st_fetch () from
blib/arch/auto/DBD/Sybase/Sybase.so
#2  0x4027b07f in XS_DBD__Sybase__st_fetchrow_arrayref () from
blib/arch/auto/DBD/Sybase/Sybase.so
#3  0x4025caf0 in XS_DBI_dispatch () from
/usr/local/lib/perl/5.8.4/auto/DBI/DBI.so
#4  0x080c30c6 in Perl_pp_entersub ()
#5  0x080bbbb9 in Perl_runops_standard ()
#6  0x080635e8 in perl_run ()
#7  0x080633f5 in perl_run ()
#8  0x0805fb9f in main ()

Bactrace from hpux core  :

#0  0xc125b620 in dbih_get_fbav (imp_sth=0x402ef628) at DBI.xs:1269
#1  0xc128aeb4 in syb_st_fetch (sth=0x401ec2d0, imp_sth=0x402ef628)
    at dbdimp.c:3350
#2  0xc127f1ec in XS_DBD__Sybase__st_fetchrow_arrayref
    (cv=0x402ef628)
       at Sybase.xsi:584
#3  0xc1260960 in XS_DBI_dispatch (cv=0x401930b4) at DBI.xs:2661
#4  0xa770c in Perl_pp_entersub () at pp_hot.c:2773
#5  0x9af00 in Perl_runops_debug () at dump.c:1398
#6  0x2c22c in S_run_body (oldscope=1) at perl.c:1681
#7  0x2bdcc in perl_run (my_perl=0x402ef628) at perl.c:1600
#8  0x280b0 in main (argc=2, argv=0x7b040574, env=0x4000e6ec) at
	perlmain.c:85
	

-- 
We exist to collaboratively administrate long-term high-impact deliverables 
and continually customize value-added infrastructures because that is what 
the customer expects