develooper Front page | perl.perl5.porters | Postings from February 2003

[perl #21304] Patch for DBD::Oracle-1.12

Thread Next
From:
Dmitry A. Shapovalov
Date:
February 19, 2003 12:40
Subject:
[perl #21304] Patch for DBD::Oracle-1.12
Message ID:
rt-21304-52445.3.2351778166317@bugs6.perl.org
# New Ticket Created by  "Dmitry A. Shapovalov" 
# Please include the string:  [perl #21304]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=21304 >


Greetings,

Here is the micro patch to DBD::Oracle-1.12 module. The problem was the 
following, when you turn on high level debugging ( DBI->trace(2) or greater ) 
Perl crashes with "Segmentation failed" message. I found that DBILOGFP is no 
longer an FILE structute and PerlIO_printf should be used instead of fprintf 
to output logging information.

Best regards, Dmitry Shapovalov.

=====================================================================
$ perlbug -d

---
Flags:
    category=
    severity=
---
Site configuration information for perl v5.8.0:

Configured by inger at Mon Dec 30 15:08:38 MSK 2002.

Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
  Platform:
    osname=linux, osvers=2.4.18-alt7-smp, archname=i386-linux-thread-multi
    uname='linux mash.office.altlinux.ru 2.4.18-alt7-smp #1 smp thu jun 6 
11:43:56 msd 2002 i686 unknown unknown gnulinux '
    config_args='-des -Darchname=i386-linux -Dd_dosuid -Ud_csh -Duseshrplib 
-Dlibperl=libperl.so.5.8 -Doptimize=-pipe -Wall -O2 -fexpensive-optimizations 
-march=i586 -mcpu=i686 -Dinstallprefix=/usr -Dprefix=/usr 
-Dprivlib=/usr/lib/perl5 -Darchlib=/usr/lib/perl5/i386-linux 
-Dvendorprefix=/usr -Dvendorlib=/usr/lib/perl5/vendor_perl 
-Dvendorarch=/usr/lib/perl5/vendor_perl/i386-linux -Dsiteprefix=/usr/local 
-Dsitelib=/usr/local/lib/perl5/site_perl/5.8.0 
-Dsitearch=/usr/local/lib/perl5/site_perl/5.8.0/i386-linux 
-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dcf_by=ALT Linux 
Team -Dmyhostname=localhost -Dperladmin=root@localhost 
-Dinc_version_list=5.6.1 5.6.0  -Dpager=/usr/bin/less -isR -Di_shadow 
-Di_syslog -Dusethreads -Duseithreads -Duselargefiles -Ui_db -Di_gdbm 
-Di_ndbm -Di_sdbm -Ui_odbm'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=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='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
    optimize='-pipe -Wall -O2 -fexpensive-optimizations -march=i586 
-mcpu=i686',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing 
-I/usr/include/gdbm'
    ccversion='', gccversion='3.2.1 (ALT Linux, build 3.2.1-alt2)', 
gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lpthread -lc -lcrypt -lutil
    perllibs=-lnsl -ldl -lm -lpthread -lc -lcrypt -lutil
    libc=/lib/libc-2.2.6.so, so=so, useshrplib=true, libperl=libperl.so.5.8
    gnulibc_version='2.2.6'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'

Locally applied patches:


---
@INC for perl v5.8.0:
    /usr/lib/perl5/i386-linux
    /usr/lib/perl5
    /usr/local/lib/perl5/site_perl/5.8.0/i386-linux
    /usr/local/lib/perl5/site_perl/5.8.0
    /usr/local/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/i386-linux
    /usr/lib/perl5/vendor_perl
    /usr/lib/perl5/vendor_perl
    .

---
Environment for perl v5.8.0:
    HOME=/home/shap
    LANG=ru_RU.CP1251
    LANGUAGE=ru_RU.CP1251
    LC_COLLATE=ru_RU.CP1251
    LC_CTYPE=ru_RU.CP1251
    LC_MESSAGES=ru_RU.CP1251
    LC_MONETARY=ru_RU.CP1251
    LC_NUMERIC=ru_RU.CP1251
    LC_TIME=ru_RU.CP1251
    LD_LIBRARY_PATH=/usr/local/oracle/9.0.1/lib:/usr/local/oracle/9.0.1/lib
    LOGDIR (unset)
    
PATH=.:.:/home/shap/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/oracle/9.0.1/bin:/usr/local/oracle/9.0.1/bin
    PERL_BADLANG (unset)
    SHELL=/bin/bash
[shap@dshap shap]$ perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
  Platform:
    osname=linux, osvers=2.4.18-alt7-smp, archname=i386-linux-thread-multi
    uname='linux mash.office.altlinux.ru 2.4.18-alt7-smp #1 smp thu jun 6 
11:43:56 msd 2002 i686 unknown unknown gnulinux '
    config_args='-des -Darchname=i386-linux -Dd_dosuid -Ud_csh -Duseshrplib 
-Dlibperl=libperl.so.5.8 -Doptimize=-pipe -Wall -O2 -fexpensive-optimizations 
-march=i586 -mcpu=i686 -Dinstallprefix=/usr -Dprefix=/usr 
-Dprivlib=/usr/lib/perl5 -Darchlib=/usr/lib/perl5/i386-linux 
-Dvendorprefix=/usr -Dvendorlib=/usr/lib/perl5/vendor_perl 
-Dvendorarch=/usr/lib/perl5/vendor_perl/i386-linux -Dsiteprefix=/usr/local 
-Dsitelib=/usr/local/lib/perl5/site_perl/5.8.0 
-Dsitearch=/usr/local/lib/perl5/site_perl/5.8.0/i386-linux 
-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dcf_by=ALT Linux 
Team -Dmyhostname=localhost -Dperladmin=root@localhost 
-Dinc_version_list=5.6.1 5.6.0  -Dpager=/usr/bin/less -isR -Di_shadow 
-Di_syslog -Dusethreads -Duseithreads -Duselargefiles -Ui_db -Di_gdbm 
-Di_ndbm -Di_sdbm -Ui_odbm'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=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='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
    optimize='-pipe -Wall -O2 -fexpensive-optimizations -march=i586 
-mcpu=i686',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing 
-I/usr/include/gdbm'
    ccversion='', gccversion='3.2.1 (ALT Linux, build 3.2.1-alt2)', 
gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lpthread -lc -lcrypt -lutil
    perllibs=-lnsl -ldl -lm -lpthread -lc -lcrypt -lutil
    libc=/lib/libc-2.2.6.so, so=so, useshrplib=true, libperl=libperl.so.5.8
    gnulibc_version='2.2.6'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES 
PERL_IMPLICIT_CONTEXT
  Built under linux
  Compiled at Dec 30 2002 15:10:05
  @INC:
    /usr/lib/perl5/i386-linux
    /usr/lib/perl5
    /usr/local/lib/perl5/site_perl/5.8.0/i386-linux
    /usr/local/lib/perl5/site_perl/5.8.0
    /usr/local/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/i386-linux
    /usr/lib/perl5/vendor_perl
    /usr/lib/perl5/vendor_perl
    .


-- attachment  1 ------------------------------------------------------
url: http://rt.perl.org/rt2/attach/52445/39725/ff5406/oci7.c.diff

-- attachment  2 ------------------------------------------------------
url: http://rt.perl.org/rt2/attach/52445/39726/ce4c2a/dbdimp.c.diff

-- attachment  3 ------------------------------------------------------
url: http://rt.perl.org/rt2/attach/52445/39727/15614a/oci8.c.diff

-- attachment  4 ------------------------------------------------------
url: http://rt.perl.org/rt2/attach/52445/39728/c161e5/Oracle.xs.diff


Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About