Closed p5pRT closed 21 years ago
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 .
On Wed 19 Feb 2003 21:33\, "Dmitry A. Shapovalov" (via RT) \perlbug\-followup@​perl\.org wrote:
# 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.
I /think/ this issue is already being addressed.
Since DBD-Oracle is not a CORE module\, I think you'd better take these kind of changes to the place where they belong: bi-dev \dbi\-dev@​perl\.org\, but as I know that the DBD-Oracle maintainer is listening in on this list too\, I'm sure he has seen it\, and will check it against the current version.
For your information\, he *is* working towards a new version\, but wanted to leave a stable DBI module before going on with DBD::Oracle.
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
-- H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/) using perl-5.6.1\, 5.8.0 & 633 on HP-UX 10.20 & 11.00\, AIX 4.2\, AIX 4.3\, WinNT 4\, Win2K pro & WinCE 2.11. Smoking perl CORE: smokers@perl.org http://archives.develooper.com/daily-build@perl.org/ perl-qa@perl.org send smoke reports to: smokers-reports@perl.org\, QA: http://qa.perl.org
On Wed\, Feb 19\, 2003 at 10:55:41PM +0100\, H.Merijn Brand wrote:
On Wed 19 Feb 2003 21:33\, "Dmitry A. Shapovalov" (via RT) \perlbug\-followup@​perl\.org wrote:
# 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.
I /think/ this issue is already being addressed.
Since DBD-Oracle is not a CORE module\, I think you'd better take these kind of changes to the place where they belong: bi-dev \dbi\-dev@​perl\.org\, but as I know that the DBD-Oracle maintainer is listening in on this list too\, I'm sure he has seen it\, and will check it against the current version.
For your information\, he *is* working towards a new version\, but wanted to leave a stable DBI module before going on with DBD::Oracle.
All true. Thanks.
Tim.
@jhi - Status changed from 'new' to 'resolved'
Migrated from rt.perl.org#21304 (status was 'resolved')
Searchable as RT21304$