Skip Menu |

This queue is for tickets about the DBD-mysql CPAN distribution.

Report information
The Basics
Id: 18884
Status: resolved
Priority: 0/
Queue: DBD-mysql

People
Owner: CAPTTOFU [...] cpan.org
Requestors: jazzbotley [...] gmail.com
jg [...] rilk.com
kgeorge [...] tcpsoft.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 3.0002
Fixed in: (no value)



Subject: crash mysql_st_internal_execute DBD mod_perl
DBI mySQL 3.0002 OpenBSD 3.8 patch-branch Apache with mod_perl staticaly linked Perl Version This is perl, v5.8.6 built for i386-openbsd (with 1 registered patch, see perl -V for more detail) Summary of my perl5 (revision 5 version 8 subversion 6) configuration: Platform: osname=openbsd, osvers=3.8, archname=i386-openbsd uname='openbsd' config_args='-dsE -Dopenbsd_distribution=defined' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -fno-delete-null-pointer-checks -pipe -I/usr/local/ include', optimize='-O2', cppflags='-fno-strict-aliasing -fno-delete-null-pointer-checks -pipe -I/usr/local/ include' ccversion='', gccversion='3.3.5 (propolice)', gccosandvers='openbsd3.8' 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 ='-Wl,-E ' libpth=/usr/lib libs=-lm -lutil -lc perllibs=-lm -lutil -lc libc=/usr/lib/libc.a, so=so, useshrplib=true, libperl=libperl.so.10.0 gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-R/usr/libdata/perl5/ i386-openbsd/5.8.6/CORE' cccdlflags='-DPIC -fPIC ', lddlflags='-shared -fPIC ' Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Locally applied patches: SUIDPERLIO1 - fix PERLIO_DEBUG buffer overflow (CAN-2005-0156) Built under openbsd @INC: /usr/libdata/perl5/i386-openbsd/5.8.6 /usr/local/libdata/perl5/i386-openbsd/5.8.6 /usr/libdata/perl5 /usr/local/libdata/perl5 /usr/local/libdata/perl5/site_perl/i386-openbsd /usr/libdata/perl5/site_perl/i386-openbsd /usr/local/libdata/perl5/site_perl /usr/libdata/perl5/site_perl /usr/local/lib/perl5/site_perl . GDB Ouput Program received signal SIGSEGV, Segmentation fault. 0x0d0a4852 in mysql_st_internal_execute (h=0x82332c30, statement=0x8bb725ec, attribs=0x0, num_params=0, params=0x0, result=0xcfbd4d88, svsock=0x7d4c7854, use_mysql_use_result=0) at dbdimp.c:2335 2335 dbdimp.c: No such file or directory. in dbdimp.c (gdb) bt #0 0x0d0a4852 in mysql_st_internal_execute (h=0x82332c30, statement=0x8bb725ec, attribs=0x0, num_params=0, params=0x0, result=0xcfbd4d88, svsock=0x7d4c7854, use_mysql_use_result=0) at dbdimp.c:2335 #1 0x0d0a9670 in XS_DBD__mysql__db_do (cv=0x7da466dc) at mysql.xs:450 #2 0x05c36499 in XS_DBI_dispatch () from /usr/local/libdata/perl5/site_perl/i386-openbsd/auto/DBI/DBI.so #3 0x0d23afa4 in Perl_pp_entersub () from /usr/lib/libperl.so.10.0 #4 0x0d29cb45 in Perl_runops_standard () from /usr/lib/libperl.so.10.0 #5 0x0d28bd98 in Perl_call_sv () from /usr/lib/libperl.so.10.0 #6 0x0d28bba5 in Perl_call_sv () from /usr/lib/libperl.so.10.0 #7 0x1c029945 in perl_call_handler () #8 0x1c029286 in perl_run_stacked_handlers () #9 0x1c027d75 in perl_handler () #10 0x1c05617e in ap_invoke_handler () #11 0x1c06668b in process_request_internal () #12 0x1c06683b in ap_process_request () #13 0xcfbd5290 in ?? () #14 0x00000003 in ?? () #15 0x8382e034 in ?? () #16 0x8382e034 in ?? () #17 0x865f4044 in ?? () #18 0xcfbd52c8 in ?? () #19 0x1c05f701 in child_main () Previous frame inner to this frame (corrupt stack?)
From: S [...] msmith.net
I'm also seeing this too on OpenBSD -current (everything installed from ports) backtrace of the perl core: (gdb) bt #0 mysql_st_internal_execute (h=0x42071300, statement=0x4a3664c0, attribs=0x4e90b550, num_params=0, params=0x0, result=0x7f7ffffcfcc0, svsock=0x44dba898, use_mysql_use_result=0) at dbdimp.c:2335 #1 0x00000000511ffccf in XS_DBD__mysql__db_do (cv=0x42071300) at mysql.xs:450 #2 0x00000000505d38d2 in XS_DBI_dispatch () from /usr/local/libdata/perl5/site_perl/amd64-openbsd/auto/DBI/DBI.so #3 0x0000000040dd6c07 in Perl_pp_entersub () from /usr/lib/libperl.so.10.0 #4 0x0000000040e3d95e in Perl_runops_standard () from /usr/lib/libperl.so.10.0 #5 0x0000000040e2c42d in S_run_body () from /usr/lib/libperl.so.10.0 #6 0x0000000040e2c211 in perl_run () from /usr/lib/libperl.so.10.0 #7 0x0000000000401afe in main () it's being caused by various $dbh->do() statements. Summary of my perl5 (revision 5 version 8 subversion 6) configuration: Platform: osname=openbsd, osvers=3.8, archname=amd64-openbsd uname='openbsd' config_args='-dsE -Dopenbsd_distribution=defined' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -fno-delete-null-pointer-checks -pipe -I/usr/local/include', optimize='-O2', cppflags='-fno-strict-aliasing -fno-delete-null-pointer-checks -pipe -I/usr/local/include' ccversion='', gccversion='3.3.5 (propolice)', gccosandvers='openbsd3.8' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags ='-Wl,-E ' libpth=/usr/lib libs=-lm -lutil -lc perllibs=-lm -lutil -lc libc=/usr/lib/libc.so.38.4, so=so, useshrplib=true, libperl=libperl.so.10.0 gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-R/usr/libdata/perl5/amd64-openbsd/5.8.6/CORE' cccdlflags='-DPIC -fPIC ', lddlflags='-shared -fPIC ' Characteristics of this binary (from libperl): Compile-time options: USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES Locally applied patches: SUIDPERLIO1 - fix PERLIO_DEBUG buffer overflow (CAN-2005-0156) Built under openbsd @INC: /usr/libdata/perl5/amd64-openbsd/5.8.6 /usr/local/libdata/perl5/amd64-openbsd/5.8.6 /usr/libdata/perl5 /usr/local/libdata/perl5 /usr/local/libdata/perl5/site_perl/amd64-openbsd /usr/libdata/perl5/site_perl/amd64-openbsd /usr/local/libdata/perl5/site_perl /usr/libdata/perl5/site_perl /usr/local/lib/perl5/site_perl
This is fixed in 3.0002_5 (probably in _3). The port maintainer has been notified that an update (to what seems to a non-release) may be a good idea
From: jg [...] rilk.com

Message body is not shown because it is too large.

Subject: mysql_bind_ph dumps core on OpenBSD 3.9
Perl 5.8.6 on OpenBSD 3.9 (i386) dumps core when I attempt to bind_param or execute a statement that is "prepare_cached". See attached file for gdb backtrace, table definition, and Perl code fragment. When I tried to force Makefile.PL to integrate the broken tests, I got some interesting output from `make test` (pasted below, but also captured in attached file): PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00base.............ok t/10dsnlist..........ok t/20createdrop.......ok t/30insertfetch......dubious Test returned status 0 (wstat 139, 0x8b) test program seems to have generated a core t/35limit............ok t/35prepare..........dubious Test returned status 0 (wstat 139, 0x8b) test program seems to have generated a core t/40bindparam........ok t/40blobs............ok t/40listfields.......dubious Test returned status 0 (wstat 139, 0x8b) test program seems to have generated a core t/40nulls............ok t/40numrows..........ok t/41bindparam........ok t/41blobs_prepare....ok t/42bindparam........ok t/50chopblanks.......ok t/50commit...........dubious Test returned status 0 (wstat 139, 0x8b) test program seems to have generated a core t/60leaks............skipped all skipped: $ENV{SLOW_TESTS} is not set or Proc::ProcessTable not installed t/dbdadmin...........ok t/insertid...........ok t/param_values.......ok t/prepare_noerror....ok t/texecute...........dubious Test returned status 0 (wstat 139, 0x8b) test program seems to have generated a core Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/30insertfetch.t 0 139 ?? ?? % ?? t/35prepare.t 0 139 ?? ?? % ?? t/40listfields.t 0 139 ?? ?? % ?? t/50commit.t 0 139 ?? ?? % ?? t/texecute.t 0 139 ?? ?? % ?? 1 test skipped. Failed 5/22 test scripts, 77.27% okay. 0/326 subtests failed, 100.00% okay. # perl -V Summary of my perl5 (revision 5 version 8 subversion 6) configuration: Platform: osname=openbsd, osvers=3.9, archname=i386-openbsd uname='openbsd' config_args='-dsE -Dopenbsd_distribution=defined' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -fno-delete-null-pointer-checks -pipe -I/usr/local/include', optimize='-O2', cppflags='-fno-strict-aliasing -fno-delete-null-pointer-checks -pipe -I/usr/local/include' ccversion='', gccversion='3.3.5 (propolice)', gccosandvers='openbsd3.9' 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 ='-Wl,-E ' libpth=/usr/lib libs=-lm -lutil -lc perllibs=-lm -lutil -lc libc=/usr/lib/libc.so.39.0, so=so, useshrplib=true, libperl=libperl.so.10.0 gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-R/usr/libdata/perl5/i386-openbsd/5.8.6/CORE' cccdlflags='-DPIC -fPIC ', lddlflags='-shared -fPIC ' Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Locally applied patches: SUIDPERLIO1 - fix PERLIO_DEBUG buffer overflow (CAN-2005-0156) SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962 Built under openbsd @INC: /usr/libdata/perl5/i386-openbsd/5.8.6 /usr/local/libdata/perl5/i386-openbsd/5.8.6 /usr/libdata/perl5 /usr/local/libdata/perl5 /usr/local/libdata/perl5/site_perl/i386-openbsd /usr/libdata/perl5/site_perl/i386-openbsd /usr/local/libdata/perl5/site_perl /usr/libdata/perl5/site_perl /usr/local/lib/perl5/site_perl . # uname -a OpenBSD somehost 3.9 GENERIC#617 i386
Subject: gdb-backtrace-and-code-fragments.txt
/************************************** * GDB output * **************************************/ GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-unknown-openbsd3.9". (gdb) file /usr/bin/perl Reading symbols from /usr/bin/perl...(no debugging symbols found)...done. (gdb) run bind_param.pl Starting program: /usr/bin/perl bind_param.pl Program received signal SIGABRT, Aborted. 0x039c9995 in kill () from /usr/lib/libc.so.39.0 (gdb) bt #0 0x039c9995 in kill () from /usr/lib/libc.so.39.0 #1 0x039ec498 in __stack_smash_handler (func=0x2d1d89bc "mysql_bind_ph", damaged=2188137) at /usr/src/lib/libc/sys/stack_protector.c:88 #2 0x0d1e082b in mysql_bind_ph (sth=0x880152a0, imp_sth=0x87c2a200, param=0x0, value=0x84e0e234, sql_type=4, attribs=0x0, is_inout=0, maxlen=0) at dbdimp.c:3727 #3 0x0d1e2e78 in XS_DBD__mysql__st_bind_param (cv=0x88a37ef0) at mysql.xsi:515 #4 0x0e56e909 in XS_DBI_dispatch () from /usr/local/libdata/perl5/site_perl/i386-openbsd/auto/DBI/DBI.so #5 0x0781bfe4 in Perl_pp_entersub () at /usr/src/gnu/usr.bin/perl/pp_hot.c:2890 #6 0x0787dc29 in Perl_runops_standard () at /usr/src/gnu/usr.bin/perl/run.c:37 #7 0x0786c457 in S_run_body (oldscope=1) at /usr/src/gnu/usr.bin/perl/perl.c:1936 #8 0x0786c257 in perl_run (my_perl=0x7ce21030) at /usr/src/gnu/usr.bin/perl/perl.c:1855 #9 0x1c0012e6 in main () /************************************** * MySQL table definition * **************************************/ create table `tableA` ( `fieldA` int(8) unsigned not null default '0', `fieldB` bigint(20) unsigned default '0', primary key (`fieldA`), key (`fieldA`) ) ENGINE=MEMORY; /************************************** * Perl script fragment * **************************************/ my $dsn="DBI::mysql:database=mydb;host=localhost:mysql_srver_prepare=1"; my $conn=DBI->connect($dsn,"root","passw0rd", { 'RaiseError' => 1, 'AutoCommit' => 1, 'mysql_socket' => '/var/www/mysql/mysql.sock' }); my $query = "update tableA set fieldB = ? where fieldA = ?"; my $sth = $conn->prepare_cached($query); for (;;) { # read some values in a loop $sth->bind_param(1, $valB, {TYPE => SQL_INTEGER}); # <-- aborts here $sth->bind_param(2, $valA, {TYPE => SQL_INTEGER}); $sth->execute(); } /************************************** * notes from DBD::mysql Makefile.PL * **************************************/ [~/.cpan/sources/authors/id/C/CA/CAPTTOFU/DBD-mysql-3.0006]# perl Makefile.PL --testuser=root --testpassword=passw0rd --testhost=localhost --testsocket=/var/www/mysql/mysql.sock I will use the following settings for compiling and testing: cflags (mysql_config ) = -I/usr/local/include/mysql -pipe -Wbounded embedded (mysql_config ) = libs (mysql_config ) = -L/usr/local/lib/mysql -lmysqlclient -lz -lm -L/usr/lib -lssl -lcrypto mysql_config (guessed ) = mysql_config nocatchstderr (default ) = 0 nofoundrows (default ) = 0 ssl (guessed ) = 1 testdb (default ) = test testhost (User's choice) = localhost testpassword (User's choice) = passw0rd testsocket (User's choice) = /var/www/mysql/mysql.sock testuser (User's choice) = root To change these settings, see 'perl Makefile.PL --help' and 'perldoc INSTALL'. Checking if your kit is complete... Looks good Using DBI 1.51 (for perl 5.008006 on i386-openbsd) installed in /usr/local/libdata/perl5/site_perl/i386-openbsd/auto/DBI/ Writing Makefile for DBD::mysql [~/.cpan/sources/authors/id/C/CA/CAPTTOFU/DBD-mysql-3.0006]# make cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm cp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pm cp lib/Mysql.pm blib/lib/Mysql.pm cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod cp lib/Mysql/Statement.pm blib/lib/Mysql/Statement.pm cp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm cc -c -I/usr/local/libdata/perl5/site_perl/i386-openbsd/auto/DBI -I/usr/local/include/mysql -pipe -Wbounded -DDBD_MYSQL_WITH_SSL -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -fno-strict-aliasing -fno-delete-null-pointer-checks -pipe -I/usr/local/include -O2 -DVERSION=\"3.0006\" -DXS_VERSION=\"3.0006\" -DPIC -fPIC "-I/usr/libdata/perl5/i386-openbsd/5.8.6/CORE" dbdimp.c /usr/bin/perl -p -e "s/~DRIVER~/mysql/g" /usr/local/libdata/perl5/site_perl/i386-openbsd/auto/DBI/Driver.xst > mysql.xsi /usr/bin/perl /usr/libdata/perl5/ExtUtils/xsubpp -typemap /usr/libdata/perl5/ExtUtils/typemap mysql.xs > mysql.xsc && mv mysql.xsc mysql.c Warning: duplicate function definition 'do' detected in mysql.xs, line 224 Warning: duplicate function definition 'rows' detected in mysql.xs, line 567 cc -c -I/usr/local/libdata/perl5/site_perl/i386-openbsd/auto/DBI -I/usr/local/include/mysql -pipe -Wbounded -DDBD_MYSQL_WITH_SSL -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -fno-strict-aliasing -fno-delete-null-pointer-checks -pipe -I/usr/local/include -O2 -DVERSION=\"3.0006\" -DXS_VERSION=\"3.0006\" -DPIC -fPIC "-I/usr/libdata/perl5/i386-openbsd/5.8.6/CORE" mysql.c Running Mkbootstrap for DBD::mysql () chmod 644 mysql.bs rm -f blib/arch/auto/DBD/mysql/mysql.so LD_RUN_PATH="/usr/local/lib/mysql:/usr/lib" /usr/bin/perl myld cc -shared -fPIC dbdimp.o mysql.o -o blib/arch/auto/DBD/mysql/mysql.so -L/usr/local/lib/mysql -lmysqlclient -lz -lm -L/usr/lib -lssl -lcrypto chmod 755 blib/arch/auto/DBD/mysql/mysql.so cp mysql.bs blib/arch/auto/DBD/mysql/mysql.bs chmod 644 blib/arch/auto/DBD/mysql/mysql.bs Manifying blib/man3/DBD::mysql.3p Manifying blib/man3/DBD::mysql::INSTALL.3p Manifying blib/man3/Mysql.3p Manifying blib/man3/Bundle::DBD::mysql.3p [~/.cpan/sources/authors/id/C/CA/CAPTTOFU/DBD-mysql-3.0006]# make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00base.............ok t/10dsnlist..........ok t/20createdrop.......ok t/30insertfetch......dubious Test returned status 0 (wstat 139, 0x8b) test program seems to have generated a core t/35limit............ok t/35prepare..........dubious Test returned status 0 (wstat 139, 0x8b) test program seems to have generated a core t/40bindparam........ok t/40blobs............ok t/40listfields.......dubious Test returned status 0 (wstat 139, 0x8b) test program seems to have generated a core t/40nulls............ok t/40numrows..........ok t/41bindparam........ok t/41blobs_prepare....ok t/42bindparam........ok t/50chopblanks.......ok t/50commit...........dubious Test returned status 0 (wstat 139, 0x8b) test program seems to have generated a core t/60leaks............skipped all skipped: $ENV{SLOW_TESTS} is not set or Proc::ProcessTable not installed t/dbdadmin...........ok t/insertid...........ok t/param_values.......ok t/prepare_noerror....ok t/texecute...........dubious Test returned status 0 (wstat 139, 0x8b) test program seems to have generated a core Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/30insertfetch.t 0 139 ?? ?? % ?? t/35prepare.t 0 139 ?? ?? % ?? t/40listfields.t 0 139 ?? ?? % ?? t/50commit.t 0 139 ?? ?? % ?? t/texecute.t 0 139 ?? ?? % ?? 1 test skipped. Failed 5/22 test scripts, 77.27% okay. 0/326 subtests failed, 100.00% okay. *** Error code 2 Stop in /root/.cpan/sources/authors/id/C/CA/CAPTTOFU/DBD-mysql-3.0006 (line 870 of Makefile).
Subject: Re: [rt.cpan.org #20027] AutoReply: mysql_bind_ph dumps core on OpenBSD 3.9
Date: Wed, 21 Jun 2006 10:55:12 -0500
To: bug-DBD-mysql [...] rt.cpan.org
From: "Jeff Wilson" <jazzbotley [...] gmail.com>
I left out the MySQL server version: Show quoted text
mysql> \s
-------------- mysql Ver 14.12 Distrib 5.0.22, for unknown-openbsd3.9 (i386) using readline 4.3 On 6/21/06, Bugs in DBD-mysql via RT <bug-DBD-mysql@rt.cpan.org> wrote: Show quoted text
> > Greetings, > > This message has been automatically generated in response to the > creation of a trouble ticket regarding: > "mysql_bind_ph dumps core on OpenBSD 3.9", > a summary of which appears below. > > There is no need to reply to this message right now. Your ticket has been > assigned an ID of [rt.cpan.org #20027]. Your ticket is accessible > on the web at: > > http://rt.cpan.org/Ticket/Display.html?id=20027 > > Please include the string: > > [rt.cpan.org #20027] > > in the subject line of all future correspondence about this issue. To do so, > you may reply to this message. > > Thank you, > bug-DBD-mysql@rt.cpan.org > > ------------------------------------------------------------------------- > Perl 5.8.6 on OpenBSD 3.9 (i386) dumps core when I attempt to bind_param > or execute a statement that is "prepare_cached". See attached file for > gdb backtrace, table definition, and Perl code fragment. When I tried > to force Makefile.PL to integrate the broken tests, I got some > interesting output from `make test` (pasted below, but also captured in > attached file): > > PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" > "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t > t/00base.............ok > t/10dsnlist..........ok > t/20createdrop.......ok > t/30insertfetch......dubious > Test returned status 0 (wstat 139, 0x8b) > test program seems to have generated a core > t/35limit............ok > t/35prepare..........dubious > Test returned status 0 (wstat 139, 0x8b) > test program seems to have generated a core > t/40bindparam........ok > t/40blobs............ok > t/40listfields.......dubious > Test returned status 0 (wstat 139, 0x8b) > test program seems to have generated a core > t/40nulls............ok > t/40numrows..........ok > t/41bindparam........ok > t/41blobs_prepare....ok > t/42bindparam........ok > t/50chopblanks.......ok > t/50commit...........dubious > Test returned status 0 (wstat 139, 0x8b) > test program seems to have generated a core > t/60leaks............skipped > all skipped: $ENV{SLOW_TESTS} is not set or Proc::ProcessTable > not installed > t/dbdadmin...........ok > t/insertid...........ok > t/param_values.......ok > t/prepare_noerror....ok > t/texecute...........dubious > Test returned status 0 (wstat 139, 0x8b) > test program seems to have generated a core > Failed Test Stat Wstat Total Fail Failed List of Failed > ------------------------------------------------------------------------------- > t/30insertfetch.t 0 139 ?? ?? % ?? > t/35prepare.t 0 139 ?? ?? % ?? > t/40listfields.t 0 139 ?? ?? % ?? > t/50commit.t 0 139 ?? ?? % ?? > t/texecute.t 0 139 ?? ?? % ?? > 1 test skipped. > Failed 5/22 test scripts, 77.27% okay. 0/326 subtests failed, 100.00% okay. > > # perl -V > Summary of my perl5 (revision 5 version 8 subversion 6) configuration: > Platform: > osname=openbsd, osvers=3.9, archname=i386-openbsd > uname='openbsd' > config_args='-dsE -Dopenbsd_distribution=defined' > hint=recommended, useposix=true, d_sigaction=define > usethreads=undef use5005threads=undef useithreads=undef > usemultiplicity=undef > useperlio=define d_sfio=undef uselargefiles=define usesocks=undef > use64bitint=undef use64bitall=undef uselongdouble=undef > usemymalloc=n, bincompat5005=undef > Compiler: > cc='cc', ccflags ='-fno-strict-aliasing > -fno-delete-null-pointer-checks -pipe -I/usr/local/include', > optimize='-O2', > cppflags='-fno-strict-aliasing -fno-delete-null-pointer-checks -pipe > -I/usr/local/include' > ccversion='', gccversion='3.3.5 (propolice)', gccosandvers='openbsd3.9' > 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 ='-Wl,-E ' > libpth=/usr/lib > libs=-lm -lutil -lc > perllibs=-lm -lutil -lc > libc=/usr/lib/libc.so.39.0, so=so, useshrplib=true, > libperl=libperl.so.10.0 > gnulibc_version='' > Dynamic Linking: > dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, > ccdlflags='-Wl,-R/usr/libdata/perl5/i386-openbsd/5.8.6/CORE' > cccdlflags='-DPIC -fPIC ', lddlflags='-shared -fPIC ' > > > Characteristics of this binary (from libperl): > Compile-time options: USE_LARGE_FILES > Locally applied patches: > SUIDPERLIO1 - fix PERLIO_DEBUG buffer overflow (CAN-2005-0156) > SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962 > Built under openbsd > @INC: > /usr/libdata/perl5/i386-openbsd/5.8.6 > /usr/local/libdata/perl5/i386-openbsd/5.8.6 > /usr/libdata/perl5 > /usr/local/libdata/perl5 > /usr/local/libdata/perl5/site_perl/i386-openbsd > /usr/libdata/perl5/site_perl/i386-openbsd > /usr/local/libdata/perl5/site_perl > /usr/libdata/perl5/site_perl > /usr/local/lib/perl5/site_perl > . > > # uname -a > OpenBSD somehost 3.9 GENERIC#617 i386 > >
Subject: Re: [rt.cpan.org #20027] AutoReply: mysql_bind_ph dumps core on OpenBSD 3.9
Date: Wed, 21 Jun 2006 12:46:14 -0500
To: bug-DBD-mysql [...] rt.cpan.org
From: "Jeff Wilson" <jazzbotley [...] gmail.com>
Oops. Seems like the versioning is messed up in CPAN? I manually downloaded 3.0006_1 and my bind_param problem goes away. However, I may be back with other bug reports, because things still aren't behaving the way I expect them to. Please close/reject this bug report. Thanks, jw
From: patg [...] mysql.com Patrick Galbraith
On Wed Jun 21 13:46:55 2006, jazzbotley@gmail.com wrote: Show quoted text
> Oops. Seems like the versioning is messed up in CPAN? I manually > downloaded 3.0006_1 and my bind_param problem goes away. However, I > may be back with other bug reports, because things still aren't > behaving the way I expect them to. > > Please close/reject this bug report. > > Thanks, > jw
Jeff, Thanks for the info, this was a great bug report with nice backtrace. I'll stay tuned for whatever you find because I want to make the dev branch main soon.
Subject: Re: [rt.cpan.org #20027] mysql_bind_ph dumps core on OpenBSD 3.9
Date: Thu, 22 Jun 2006 15:02:29 -0500
To: bug-DBD-mysql [...] rt.cpan.org
From: "Jeff Wilson" <jazzbotley [...] gmail.com>
My update query doesn't seem to be executing when I prepare a cached query. I'll try to gather more details for you quick as I can. Thanks for the response! Jeff On 6/22/06, Guest via RT <bug-DBD-mysql@rt.cpan.org> wrote: Show quoted text
> Jeff, > > Thanks for the info, this was a great bug report with nice backtrace. > I'll stay tuned for whatever you find because I want to make the dev > branch main soon. > > >
From: Jeff <jazzbotley [...] gmail.com>
I have an updated trace that shows a core dump with 3.0006_1 when trying to bind a column to unsigned bigint (attached). I found the updated docs on search.cpan.org with the cool trick for bumping up $sth->{TraceLevel} ... I set for 2 but I can go higher if you want more feedback. [debug snippet] DBI::st=HASH(0x85ed2478) trace level set to 0x0/2 (DBI @ 0x0/0) in DBI 1.51-nothread (pid 19597) -> bind_param for DBD::mysql::st (DBI::st=HASH(0x85ed2508)~0x85ed2478 1 '0x900036150089+0' 4) --> do_error Binding non-numeric field 1, value '0x900036150089+0' as a numeric! error 16 recorded: Binding non-numeric field 1, value '0x900036150089+0' as a numeric! <-- do_error TRY TO BIND AN INT NUMBER Argument "0x900036150089+0" isn't numeric in subroutine entry at bind_param.pl line 13. SCALAR type 4 ->0<- IS A INT NUMBER [/snip] Regards, Jeff
/******************************************* * GDB w/backtrace * *******************************************/ GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-unknown-openbsd3.9". (gdb) file /usr/bin/perl Reading symbols from /usr/bin/perl...(no debugging symbols found)...done. (gdb) run bind_param.pl Starting program: /usr/bin/perl bind_param.pl DBI::st=HASH(0x85ed2478) trace level set to 0x0/2 (DBI @ 0x0/0) in DBI 1.51-nothread (pid 19597) -> bind_param for DBD::mysql::st (DBI::st=HASH(0x85ed2508)~0x85ed2478 1 '0x900036150089+0' 4) --> do_error Binding non-numeric field 1, value '0x900036150089+0' as a numeric! error 16 recorded: Binding non-numeric field 1, value '0x900036150089+0' as a numeric! <-- do_error TRY TO BIND AN INT NUMBER Argument "0x900036150089+0" isn't numeric in subroutine entry at rfgdb.pl line 430. SCALAR type 4 ->0<- IS A INT NUMBER Program received signal SIGABRT, Aborted. 0x037fe995 in kill () from /usr/lib/libc.so.39.0 (gdb) bt #0 0x037fe995 in kill () from /usr/lib/libc.so.39.0 #1 0x03821498 in __stack_smash_handler (func=0x2aa60bc2 "mysql_bind_ph", damaged=2188137) at /usr/src/lib/libc/sys/stack_protector.c:88 #2 0x0aa69493 in mysql_bind_ph (sth=0x85ed25e0, imp_sth=0x84cdd200, param=0x0, value=0x0, sql_type=4, attribs=0x0, is_inout=0, maxlen=0) at dbdimp.c:4058 #3 0x0aa6bae0 in XS_DBD__mysql__st_bind_param (cv=0x86973e0c) at mysql.xsi:515 #4 0x0f4cb909 in XS_DBI_dispatch () from /usr/local/libdata/perl5/site_perl/i386-openbsd/auto/DBI/DBI.so #5 0x0b278fe4 in Perl_pp_entersub () at /usr/src/gnu/usr.bin/perl/pp_hot.c:2890 #6 0x0b2dac29 in Perl_runops_standard () at /usr/src/gnu/usr.bin/perl/run.c:37 #7 0x0b2c9457 in S_run_body (oldscope=1) at /usr/src/gnu/usr.bin/perl/perl.c:1936 #8 0x0b2c9257 in perl_run (my_perl=0x8844f030) at /usr/src/gnu/usr.bin/perl/perl.c:1855 #9 0x1c0012e6 in main () /******************************************* * revised Perl fragment * *******************************************/ my $dsn="DBI::mysql:database=mydb;host=localhost"; my $conn=DBI->connect($dsn,"root","passw0rd", { 'RaiseError' => 1, 'AutoCommit' => 1, 'mysql_socket' => '/var/www/mysql/mysql.sock' }); my $query = "update tableA set fieldB = ? where fieldA = ?"; my $sth = $conn->prepare_cached($query); $sth->{TraceLevel} = "2"; for (;;) { # read some values in a loop $sth->bind_param(1, $valB, {TYPE => SQL_INTEGER}); $sth->bind_param(2, $valA, {TYPE => SQL_INTEGER}); $sth->execute(); }
Subject: Fw: [cpan #18884] DBD-MySQL core dumping
Date: Sat, 29 Jul 2006 15:39:15 +0200
To: bug-DBD-mysql [...] rt.cpan.org
From: Sébastien Aperghis-Tramoni <maddingue [...] free.fr>
This message was sent to P5P. It exposes a similar problem as the one discussed in this ticket. ----- Forwarded message from <perlbugs@msmith.net> ----- Date: Fri, 28 Jul 2006 10:01:54 -0700 From: via RT <perlbugs@msmith.net> Subject: [perl #40003] DBD-MySQL core dumping To: bugs-bitbucket@rt.perl.org # New Ticket Created by perlbugs@msmith.net # Please include the string: [perl #40003] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=40003 > This is a bug report for perl from perlbugs@msmith.net, generated with the help of perlbug 1.35 running under perl v5.8.6. ----------------------------------------------------------------- [Please enter your report here] Running mysql-client-5.0.19 multithreaded SQL database (client) mysql-server-5.0.19 multithreaded SQL database (server) p5-DBD-mysql-3.0006 MySQL drivers for the Perl DBI I'm seeing segfaults on connection attempts to a remote database. Sometimes it works, sometimes it doesn't. The script is run in a loop - some connections will work, some will core. coredump backtrace follows [msfssss3@recount ~/work/news]gdb /usr/bin/perl GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-unknown-openbsd3.8"...(no debugging symbols found) (gdb) target perl.core Undefined target command: "perl.core". Try "help target". (gdb) target core perl.core Core was generated by `perl'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr-lib/libperl.so.10.0...done. Loaded symbols for /usr/lib/libperl.so.10.0 Reading symbols from /usr-lib/libm.so.2.2...done. Loaded symbols for /usr/lib/libm.so.2.2 Reading symbols from /usr-lib/libutil.so.11.0...done. Loaded symbols for /usr/lib/libutil.so.11.0 Reading symbols from /usr-lib/libc.so.38.4...done. Loaded symbols for /usr/lib/libc.so.38.4 Reading symbols from /usr/libexec/ld.so...done. Loaded symbols for /usr/libexec/ld.so Reading symbols from /usr/local/libdata/perl5/site_perl/amd64-openbsd/auto/DBI/DBI.so...done. bLoaded symbols for /usr/local/libdata/perl5/site_perl/amd64-openbsd/auto/DBI/DBI.so Reading symbols from /usr/libdata/perl5/amd64-openbsd/5.8.6/auto/List/Util/Util.so...done. Loaded symbols for /usr/libdata/perl5/amd64-openbsd/5.8.6/auto/List/Util/Util.so Reading symbols from /usr/local/libdata/perl5/site_perl/amd64-openbsd/auto/HTML/Parser/Parser.so...done. Loaded symbols for /usr/local/libdata/perl5/site_perl/amd64-openbsd/auto/HTML/Parser/Parser.so Reading symbols from /usr/local/libdata/perl5/site_perl/amd64-openbsd/auto/DBD/mysql/mysql.so...done. Loaded symbols for /usr/local/libdata/perl5/site_perl/amd64-openbsd/auto/DBD/mysql/mysql.so Reading symbols from /usr/local/lib/mysql/libmysqlclient.so.16.0...done. Loaded symbols for /usr/local/lib/mysql/libmysqlclient.so.16.0 Reading symbols from /usr-lib/libz.so.4.1...done. Loaded symbols for /usr/lib/libz.so.4.1 Reading symbols from /usr-lib/libssl.so.10.0...done. Loaded symbols for /usr/lib/libssl.so.10.0 Reading symbols from /usr-lib/libcrypto.so.12.0...tdone. Loaded symbols for /usr/lib/libcrypto.so.12.0 Reading symbols from /usr/libdata/perl5/amd64-openbsd/5.8.6/auto/IO/IO.so...done. Loaded symbols for /usr/libdata/perl5/amd64-openbsd/5.8.6/auto/IO/IO.so Reading symbols from /usr/libdata/perl5/amd64-openbsd/5.8.6/auto/Socket/Socket.so...done. Loaded symbols for /usr/libdata/perl5/amd64-openbsd/5.8.6/auto/Socket/Socket.so Reading symbols from /usr/local/libdata/perl5/site_perl/amd64-openbsd/auto/Compress/Zlib/Zlib.so...done. Loaded symbols for /usr/local/libdata/perl5/site_perl/amd64-openbsd/auto/Compress/Zlib/Zlib.so Reading symbols from /usr/libdata/perl5/amd64-openbsd/5.8.6/auto/Fcntl/Fcntl.so...done. Loaded symbols for /usr/libdata/perl5/amd64-openbsd/5.8.6/auto/Fcntl/Fcntl.so Reading symbols from /usr/libdata/perl5/amd64-openbsd/5.8.6/auto/Encode/Encode.so...done. Loaded symbols for /usr/libdata/perl5/amd64-openbsd/5.8.6/auto/Encode/Encode.so #0 mysql_st_internal_execute (h=0x47213350, statement=0x4e8acd40, attribs=0x43e6d2a0, num_params=0, params=0x0, result=0x7f7ffffc99d0, svsock=0x4a98d898, use_mysql_use_result=0) at dbdimp.c:2346 2346 char *salloc = parse_params(svsock, (gdb) bt #0 mysql_st_internal_execute (h=0x47213350, statement=0x4e8acd40, attribs=0x43e6d2a0, num_params=0, params=0x0, result=0x7f7ffffc99d0, svsock=0x4a98d898, use_mysql_use_result=0) at dbdimp.c:2346 #1 0x00000000511e114f in XS_DBD__mysql__db_do (cv=0x47213350) at mysql.xs:458 #2 0x00000000505b78d2 in XS_DBI_dispatch () from /usr/local/libdata/perl5/site_perl/amd64-openbsd/auto/DBI/DBI.so #3 0x000000004d1fdc07 in Perl_pp_entersub () from /usr/lib/libperl.so.10.0 #4 0x000000004d26495e in Perl_runops_standard () from /usr/lib/libperl.so.10.0 #5 0x000000004d25342d in S_run_body () from /usr/lib/libperl.so.10.0 #6 0x000000004d253211 in perl_run () from /usr/lib/libperl.so.10.0 #7 0x0000000000401afe in main () [Please do not change anything below this line] ----------------------------------------------------------------- --- Flags: category=library severity=high --- Site configuration information for perl v5.8.6: Configured by root at Thu Jan 1 0:00:00 UTC 1970. Summary of my perl5 (revision 5 version 8 subversion 6) configuration: Platform: osname=openbsd, osvers=3.8, archname=amd64-openbsd uname='openbsd' config_args='-dsE -Dopenbsd_distribution=defined' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -fno-delete-null-pointer-checks -pipe -I/usr/local/include', optimize='-O2', cppflags='-fno-strict-aliasing -fno-delete-null-pointer-checks -pipe -I/usr/local/include' ccversion='', gccversion='3.3.5 (propolice)', gccosandvers='openbsd3.8' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags ='-Wl,-E ' libpth=/usr/lib libs=-lm -lutil -lc perllibs=-lm -lutil -lc libc=/usr/lib/libc.so.38.4, so=so, useshrplib=true, libperl=libperl.so.10.0 gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-R/usr/libdata/perl5/amd64-openbsd/5.8.6/CORE' cccdlflags='-DPIC -fPIC ', lddlflags='-shared -fPIC ' Locally applied patches: SUIDPERLIO1 - fix PERLIO_DEBUG buffer overflow (CAN-2005-0156) --- @INC for perl v5.8.6: /usr/libdata/perl5/amd64-openbsd/5.8.6 /usr/local/libdata/perl5/amd64-openbsd/5.8.6 /usr/libdata/perl5 /usr/local/libdata/perl5 /usr/local/libdata/perl5/site_perl/amd64-openbsd /usr/libdata/perl5/site_perl/amd64-openbsd /usr/local/libdata/perl5/site_perl /usr/libdata/perl5/site_perl /usr/local/lib/perl5/site_perl . --- Environment for perl v5.8.6: HOME=/home/recount/msfssss3 LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/home/recount/msfssss3/bin:/home/recount/msfssss3/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games:/usr/X11R6/bin:/usr/X/bin:/usr/local/bin/X11:/usr/openwin/bin:/usr/local/communicator:/home/cus/bbs/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games:/usr/X11R6/bin:/usr/X/bin:/usr/local/bin/X11:/usr/openwin/bin:/usr/local/communicator:/home/cus/bbs/bin PERL_BADLANG (unset) SHELL=/bin/ksh Show quoted text
----- End forwarded message ----- -- Sébastien Aperghis-Tramoni Close the world, txEn eht nepO.
Subject: Segfault in 3.0002, 3.0006 on OpenBSD 3.9
Date: Sun, 6 Aug 2006 20:09:54 -0400 (EDT)
To: bug-DBD-mysql [...] rt.cpan.org
From: Kyle George <kgeorge [...] tcpsoft.com>
There is a problem with DBD::mysql when running on OpenBSD 3.9. DBD::mysql causes seemingly random perl segfaults. I found this out by gdb'ing a perl.core. Then I googled and found this: http://rt.cpan.org/Public/Bug/Display.html?id=18884 And also this: https://bugzilla.mozilla.org/show_bug.cgi?id=329556 OpenBSD ships with version DBD::mysql 3.0002. I upgraded to 3.0006 through CPAN and it seems to have reduced the frequency of the segfaults, but it has not eliminated them completely. It still happens periodically. Presumably, this is happening on OpenBSD due to its stack/heap protection mechanisms (propolice, etc.). I believe there is some kind of buffer overflow, stack smashing, etc. going on that OpenBSD in particular is catching because of this. Replacing DBD::mysql with DBD::Pg (and therefore using postgresql instead of mysql) made the problem go away. In particular, I experienced this problem when using Bugzilla on OpenBSD. Steps to reproduce: Take Bugzilla 2.22 on OpenBSD 3.9 using mysql 5.0.22 and DBD::mysql 3.0002 or 3.0006 (all required perl modules were installed using pkg_add, where possible). Run one of the .cgi scripts from the shell repeatedly. Repeat until segfault. Examine core with gdb: # gdb /usr/bin/perl (gdb) target core perl.core (gdb) bt gdb output of 3.0006 segfault and perl -V to follow: # gdb /usr/bin/perl GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-unknown-openbsd3.9"...(no debugging symbols found) (gdb) target core perl.core Core was generated by `perl'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/lib/libperl.so.10.0...done. Loaded symbols for /usr/lib/libperl.so.10.0 Reading symbols from /usr/lib/libm.so.2.1...done. Loaded symbols for /usr/lib/libm.so.2.1 Reading symbols from /usr/lib/libutil.so.11.0...done. Loaded symbols for /usr/lib/libutil.so.11.0 Reading symbols from /usr/lib/libc.so.39.0...done. Loaded symbols for /usr/lib/libc.so.39.0 Reading symbols from /usr/libexec/ld.so...done. Loaded symbols for /usr/libexec/ld.so Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Opcode/Opcode.so...done. Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Opcode/Opcode.so Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/File/Glob/Glob.so...done. Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/File/Glob/Glob.so Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Socket/Socket.so...done. Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Socket/Socket.so Reading symbols from /usr/local/libdata/perl5/site_perl/i386-openbsd/auto/DBI/DBI.so...done. Loaded symbols for /usr/local/libdata/perl5/site_perl/i386-openbsd/auto/DBI/DBI.so Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/List/Util/Util.so...done. Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/List/Util/Util.so Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Fcntl/Fcntl.so...done. Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Fcntl/Fcntl.so Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Storable/Storable.so...done. Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Storable/Storable.so Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Data/Dumper/Dumper.so...done. Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Data/Dumper/Dumper.so Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/MIME/Base64/Base64.so...done. Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/MIME/Base64/Base64.so Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/IO/IO.so...done. Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/IO/IO.so Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Time/HiRes/HiRes.so...done. Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Time/HiRes/HiRes.so Reading symbols from /usr/local/libdata/perl5/site_perl/i386-openbsd/auto/DBD/mysql/mysql.so...done. Loaded symbols for /usr/local/libdata/perl5/site_perl/i386-openbsd/auto/DBD/mysql/mysql.so Reading symbols from /usr/local/lib/mysql/libmysqlclient.so.16.0...done. Loaded symbols for /usr/local/lib/mysql/libmysqlclient.so.16.0 Reading symbols from /usr/lib/libz.so.4.1...done. Loaded symbols for /usr/lib/libz.so.4.1 Reading symbols from /usr/lib/libssl.so.10.0...done. Loaded symbols for /usr/lib/libssl.so.10.0 Reading symbols from /usr/lib/libcrypto.so.12.0...done. Loaded symbols for /usr/lib/libcrypto.so.12.0 Reading symbols from /usr/local/libdata/perl5/site_perl/i386-openbsd/auto/Template/Stash/XS/XS.so...d one. Loaded symbols for /usr/local/libdata/perl5/site_perl/i386-openbsd/auto/Template/Stash/XS/XS.so Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Cwd/Cwd.so...done. Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Cwd/Cwd.so #0 0x02c6fb52 in mysql_st_internal_execute (h=0x85868288, statement=0x86fafbd8, attribs=0x0, num_params=0, params=0x0, result=0xcfbcefa8, svsock=0x7f8f5054, use_mysql_use_result=0) at dbdimp.c:2346 2346 char *salloc = parse_params(svsock, (gdb) (gdb) bt #0 0x02c6fb52 in mysql_st_internal_execute (h=0x85868288, statement=0x86fafbd8, attribs=0x0, num_params=0, params=0x0, result=0xcfbcefa8, svsock=0x7f8f5054, use_mysql_use_result=0) at dbdimp.c:2346 #1 0x02c75fd0 in XS_DBD__mysql__db_do (cv=0x7c508a64) at mysql.xs:458 #2 0x0b546909 in XS_DBI_dispatch () from /usr/local/libdata/perl5/site_perl/i386-openbsd/auto/DBI/DBI.so #3 0x01292fe4 in Perl_pp_entersub () at /usr/src/gnu/usr.bin/perl/pp_hot.c:2890 #4 0x012f4c29 in Perl_runops_standard () at /usr/src/gnu/usr.bin/perl/run.c:37 #5 0x012e3457 in S_run_body (oldscope=1) at /usr/src/gnu/usr.bin/perl/perl.c:1936 #6 0x012e3257 in perl_run (my_perl=0x7f76e030) at /usr/src/gnu/usr.bin/perl/perl.c:1855 #7 0x1c0012e6 in main () (gdb) # perl -V Summary of my perl5 (revision 5 version 8 subversion 6) configuration: Platform: osname=openbsd, osvers=3.9, archname=i386-openbsd uname='openbsd' config_args='-dsE -Dopenbsd_distribution=defined' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -fno-delete-null-pointer-checks -pipe -I/usr/local/include', optimize='-O2', cppflags='-fno-strict-aliasing -fno-delete-null-pointer-checks -pipe -I/usr/local/include' ccversion='', gccversion='3.3.5 (propolice)', gccosandvers='openbsd3.9' 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 ='-Wl,-E ' libpth=/usr/lib libs=-lm -lutil -lc perllibs=-lm -lutil -lc libc=/usr/lib/libc.a, so=so, useshrplib=true, libperl=libperl.so.10.0 gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-R/usr/libdata/perl5/i386-openbsd/5.8.6/CORE' cccdlflags='-DPIC -fPIC ', lddlflags='-shared -fPIC ' Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Locally applied patches: SUIDPERLIO1 - fix PERLIO_DEBUG buffer overflow (CAN-2005-0156) SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962 Built under openbsd @INC: /usr/libdata/perl5/i386-openbsd/5.8.6 /usr/local/libdata/perl5/i386-openbsd/5.8.6 /usr/libdata/perl5 /usr/local/libdata/perl5 /usr/local/libdata/perl5/site_perl/i386-openbsd /usr/libdata/perl5/site_perl/i386-openbsd /usr/local/libdata/perl5/site_perl /usr/libdata/perl5/site_perl /usr/local/lib/perl5/site_perl .
From: spambox [...] theapt.org
I am also seeing these same exact segfaults. Additional information (including a short testcase) can be found at http://lists.mysql.com/perl/3933
Still an issue in 3.0007/3.0007_1. Will modify arguments to parse_params.
duplicate of 18884
duplicate of 18884
Subject: Re: [rt.cpan.org #18884] crash mysql_st_internal_execute DBD mod_perl
Date: Mon, 18 Sep 2006 15:24:55 +0200
To: bug-DBD-mysql [...] rt.cpan.org
From: Pailloncy Jean-Gerard <jg [...] rilk.com>
Show quoted text
> <URL: http://rt.cpan.org/Ticket/Display.html?id=18884 > > > Still an issue in 3.0007/3.0007_1. Will modify arguments to > parse_params.
I do not remember exactly the test case I have. It was about DBD:mysql in apache with mod_perl. At the time of today I did not have to worry about this issue. If you want I test something, I may have some time to. Cordialement, Jean-Gérard Pailloncy
I looked at parse_params, and that doesn't seem to be the problem. Someone on the list offered me a Open BSD box to test on, but I can't find that URL any more. Is there a free-eval version of Open BSD somewhere? Thanks! Patrick On Mon Sep 18 09:28:18 2006, jg@rilk.com wrote: Show quoted text
> > <URL: http://rt.cpan.org/Ticket/Display.html?id=18884 > > > > > Still an issue in 3.0007/3.0007_1. Will modify arguments to > > parse_params.
> I do not remember exactly the test case I have. > It was about DBD:mysql in apache with mod_perl. > At the time of today I did not have to worry about this issue. > > If you want I test something, I may have some time to. > > Cordialement, > Jean-Gérard Pailloncy >
This is fixed (was fixed in 3.0006) in 4.00