Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

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

Report information
The Basics
Id:
92964
Status:
rejected
Priority:
Low/Low
Queue:

People
Owner:
MICHIELB [...] cpan.org
Requestors:
HMBRAND [...] cpan.org
Cc:
AdminCc:

BugTracker
Severity:
Critical
Broken in:
4.026
Fixed in:
(no value)



Subject: misallignments and connection fails
Linux 3.11.6-4-desktop [openSUSE 13.1 (Bottle)] i386 Core(TM) i7-2620M CPU @ 2.70GHz/2187(4) i686 8032 Mb mysql Ver 15.1 Distrib 5.5.33-MariaDB, for Linux (i686) using readline 5.1 This is perl 5, version 18, subversion 2 (v5.18.2) built for i686-linux-64int-ld DBI-1.631 I have no idea what part of the usage environment is due to these fails. I only use MariaDB/MySQL to check DBD support ingeneral. Below fails are similar in 4.025 cflags (mysql_config ) = -I/usr/include/mysql -fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches -fstack-protector -D_FORTIFY_SOURCE=2 -funwind-tables -fasynchronous-unwind-tables -g -DOPENSSL_LOAD_CONF -DPIC -fPIC -fno-strict-aliasing -g -DNDEBUG embedded (mysql_config ) = ldflags (mysql_config ) = libs (mysql_config ) = -L/usr/lib -lmysqlclient -lpthread -lz -lm -lssl -lcrypto -ldl mysql_config (guessed ) = mysql_config nocatchstderr (default ) = 0 nofoundrows (default ) = 0 ssl (guessed ) = 1 testdb (User's choice) = merijn testhost (default ) = testpassword (default ) = testport (default ) = testsocket (default ) = testuser (guessed ) = merijn cc -c -I/pro/lib/perl5/site_perl/5.18.2/i686-linux-64int-ld/auto/DBI -I/usr/include/mysql -fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches -fstack-protector -D_FORTIFY_SOURCE=2 -funwind-tables -fasynchronous-unwind-tables -g -DOPENSSL_LOAD_CONF -DPIC -fPIC -fno-strict-aliasing -g -DNDEBUG -DDBD_MYSQL_WITH_SSL -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -fno-strict-aliasing -pipe -fstack-protector -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"4.026\" -DXS_VERSION=\"4.026\" -fPIC "-I/pro/lib/perl5/5.18.2/i686-linux-64int-ld/CORE" dbdimp.c In file included from /pro/lib/perl5/5.18.2/i686-linux-64int-ld/CORE/perl.h:5156:0, from /pro/lib/perl5/site_perl/5.18.2/i686-linux-64int-ld/auto/DBI/DBIXS.h:23, from dbdimp.h:20, from dbdimp.c:18: dbdimp.c: In function ‘mysql_db_FETCH_attrib’: dbdimp.c:2585:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] result= sv_2mortal(newSViv((IV) imp_dbh->pmysql)); ^ /pro/lib/perl5/5.18.2/i686-linux-64int-ld/CORE/embed.h:554:46: note: in definition of macro ‘sv_2mortal’ #define sv_2mortal(a) Perl_sv_2mortal(aTHX_ a) ^ dbdimp.c:2585:26: note: in expansion of macro ‘newSViv’ result= sv_2mortal(newSViv((IV) imp_dbh->pmysql)); ^ dbdimp.c: In function ‘mysql_describe’: dbdimp.c:3676:22: warning: assignment from incompatible pointer type [enabled by default] buffer->is_null= &(fbh->is_null); ^ In file included from /pro/lib/perl5/5.18.2/i686-linux-64int-ld/CORE/perl.h:5156:0, from /pro/lib/perl5/site_perl/5.18.2/i686-linux-64int-ld/auto/DBI/DBIXS.h:23, from dbdimp.h:20, from dbdimp.c:18: dbdimp.c: In function ‘mysql_st_FETCH_attrib’: dbdimp.c:4539:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] retsv= sv_2mortal(newSViv((IV) imp_sth->result)); ^ /pro/lib/perl5/5.18.2/i686-linux-64int-ld/CORE/embed.h:554:46: note: in definition of macro ‘sv_2mortal’ #define sv_2mortal(a) Perl_sv_2mortal(aTHX_ a) ^ dbdimp.c:4539:27: note: in expansion of macro ‘newSViv’ retsv= sv_2mortal(newSViv((IV) imp_sth->result)); ^ cc -c -I/pro/lib/perl5/site_perl/5.18.2/i686-linux-64int-ld/auto/DBI -I/usr/include/mysql -fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches -fstack-protector -D_FORTIFY_SOURCE=2 -funwind-tables -fasynchronous-unwind-tables -g -DOPENSSL_LOAD_CONF -DPIC -fPIC -fno-strict-aliasing -g -DNDEBUG -DDBD_MYSQL_WITH_SSL -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -fno-strict-aliasing -pipe -fstack-protector -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"4.026\" -DXS_VERSION=\"4.026\" -fPIC "-I/pro/lib/perl5/5.18.2/i686-linux-64int-ld/CORE" mysql.c rm -f blib/arch/auto/DBD/mysql/mysql.so LD_RUN_PATH="/usr/lib" /pro/bin/perl5.18.2 myld cc -shared -O2 -L/pro/local/lib -fstack-protector dbdimp.o mysql.o -o blib/arch/auto/DBD/mysql/mysql.so \ -L/usr/lib -lmysqlclient -lpthread -lz -lm -lssl -lcrypto -ldl \ chmod 755 blib/arch/auto/DBD/mysql/mysql.so /pro/bin/perl5.18.2 -MExtUtils::Command::MM -e 'cp_nonempty' -- mysql.bs blib/arch/auto/DBD/mysql/mysql.bs 644 Manifying blib/man3/DBD::README.3 Manifying blib/man3/Bundle::DBD::mysql.3 Manifying blib/man3/DBD::mysql.3 Manifying blib/man3/DBD::mysql::INSTALL.3 $ make test make test Running Mkbootstrap for DBD::mysql () chmod 644 mysql.bs PERL_DL_NONLAZY=1 /pro/bin/perl5.18.2 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00base.t ........................... ok t/10connect.t ........................ ok t/15reconnect.t ...................... ok t/20createdrop.t ..................... ok t/25lockunlock.t ..................... ok t/29warnings.t ....................... 1/14 DBD::mysql::db do failed: Unknown database 'merijn' at t/29warnings.t line 41. DBD::mysql::db do failed: Unknown database 'merijn' at t/29warnings.t line 41. Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle merijn at t/29warnings.t line 41. # Looks like you planned 14 tests but ran 5. # Looks like your test exited with 255 just after 5. t/29warnings.t ....................... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 9/14 subtests t/30insertfetch.t .................... ok t/31insertid.t ....................... 1/18 DBD::mysql::db do failed: Unknown database 'merijn' at t/31insertid.t line 33. DBD::mysql::db do failed: Unknown database 'merijn' at t/31insertid.t line 33. # Looks like you planned 18 tests but ran 2. # Looks like your test exited with 255 just after 2. t/31insertid.t ....................... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 16/18 subtests t/32insert_error.t ................... ok t/35limit.t .......................... ok t/35prepare.t ........................ ok t/40bindparam.t ...................... ok t/40bindparam2.t ..................... 1/13 DBD::mysql::db do failed: Unknown database 'merijn' at t/40bindparam2.t line 30. DBD::mysql::db do failed: Unknown database 'merijn' at t/40bindparam2.t line 30. # Looks like you planned 13 tests but ran 2. # Looks like your test exited with 255 just after 2. t/40bindparam2.t ..................... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 11/13 subtests t/40blobs.t .......................... 2/14 DBD::mysql::db do failed: Can't create/write to file '/var/tmp/mysql.6pWNSa/MLyD9O4C' (Errcode: 2) at t/40blobs.t line 68. DBD::mysql::db do failed: Can't create/write to file '/var/tmp/mysql.6pWNSa/MLyD9O4C' (Errcode: 2) at t/40blobs.t line 68. # Looks like you planned 14 tests but ran 3. # Looks like your test exited with 255 just after 3. t/40blobs.t .......................... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 11/14 subtests t/40catalog.t ........................ 1/78 DBD::mysql::db column_info failed: Can't create/write to file '/var/tmp/mysql.6pWNSa/#sql_6a0_0.MAI' (Errcode: 2) at t/40catalog.t line 260. DBD::mysql::db column_info failed: Can't create/write to file '/var/tmp/mysql.6pWNSa/#sql_6a0_0.MAI' (Errcode: 2) at t/40catalog.t line 260. # Looks like you planned 78 tests but ran 71. # Looks like your test exited with 255 just after 71. t/40catalog.t ........................ Dubious, test returned 255 (wstat 65280, 0xff00) Failed 7/78 subtests t/40keyinfo.t ........................ ok t/40listfields.t ..................... DBD::mysql::db do failed: Unknown database 'merijn' at t/40listfields.t line 36. DBD::mysql::db do failed: Unknown database 'merijn' at t/40listfields.t line 36. Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle merijn at t/40listfields.t line 36. # Looks like your test exited with 255 before it could output anything. t/40listfields.t ..................... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 25/25 subtests t/40nulls.t .......................... ok t/40nulls_prepare.t .................. ok t/40numrows.t ........................ ok t/40server_prepare.t ................. ok t/40server_prepare_error.t ........... ok t/40types.t .......................... ok t/41bindparam.t ...................... ok t/41blobs_prepare.t .................. ok t/42bindparam.t ...................... ok t/43count_params.t ................... ok t/50chopblanks.t ..................... ok t/50commit.t ......................... ok t/51bind_type_guessing.t ............. ok t/52comment.t ........................ ok t/53comment.t ........................ ok t/55utf8.t ........................... ok t/60leaks.t .......................... skipped: Skip $ENV{EXTENDED_TESTING} is not set t/65segfault.t ....................... ok t/65types.t .......................... ok t/70takeimp.t ........................ ok t/71impdata.t ........................ ok t/75supported_sql.t .................. ok t/76multi_statement.t ................ 1/25 # Testing multicall against SQL_DBMS_VER: 5.5.33-MariaDB-log t/76multi_statement.t ................ ok t/80procs.t .......................... ok t/81procs.t .......................... ok t/85init_command.t ................... ok t/86_bug_36972.t ..................... ok t/87async.t .......................... 1/92 # Failed test at t/87async.t line 51. # got: undef # expected: '1' # Failed test at t/87async.t line 52. # Failed test at t/87async.t line 66. # Failed test at t/87async.t line 71. # got: undef # expected: '1' # Failed test at t/87async.t line 75. # got: undef # expected: '2' # Failed test at t/87async.t line 90. # Failed test at t/87async.t line 94. # got: undef # expected: '1' # Failed test at t/87async.t line 98. # got: undef # expected: '0' # Failed test at t/87async.t line 99. # got: undef # expected: '1' # Failed test at t/87async.t line 100. # got: undef # expected: '2' t/87async.t .......................... 30/92 # Failed test at t/87async.t line 145. # Failed test at t/87async.t line 146. # got: undef # expected: '1' # Failed test at t/87async.t line 150. # got: undef # expected: '0' # Failed test at t/87async.t line 151. # got: undef # expected: '1' # Failed test at t/87async.t line 152. # got: undef # expected: '2' # Failed test at t/87async.t line 156. # got: undef # expected: '1' t/87async.t .......................... 46/92 # Failed test at t/87async.t line 170. # Failed test at t/87async.t line 171. # got: undef # expected: '0E0' # Failed test at t/87async.t line 178. # Failed test at t/87async.t line 179. # got: undef # expected: '0E0' # Failed test at t/87async.t line 186. # got: undef # expected: '1' # Failed test at t/87async.t line 205. # got: undef # expected: '4' # Failed test at t/87async.t line 207. # Comparing $data as a Bag # got : undef # expect : An array to use as a Bag # Failed test at t/87async.t line 208. # Comparing $data as a Bag # got : undef # expect : An array to use as a Bag # Failed test at t/87async.t line 209. # Comparing $data as a Bag # got : undef # expect : An array to use as a Bag Can't set DBI::st=HASH(0x9f4bc9c)->{NAME_hash}: unrecognised attribute name or invalid value at t/87async.t line 210. Can't use an undefined value as a HASH reference at t/87async.t line 210. Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle merijn at t/87async.t line 210. # Looks like you planned 92 tests but ran 77. # Looks like you failed 25 tests of 77 run. # Looks like your test exited with 255 just after 77. t/87async.t .......................... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 40/92 subtests t/88async-multi-stmts.t .............. 1/8 # Failed test at t/88async-multi-stmts.t line 44. # Failed test at t/88async-multi-stmts.t line 45. # Looks like you failed 2 tests of 8. t/88async-multi-stmts.t .............. Dubious, test returned 2 (wstat 512, 0x200) Failed 2/8 subtests t/89async-method-check.t ............. 1/223 # Failed test at t/89async-method-check.t line 172. # Failed test at t/89async-method-check.t line 172. # Failed test at t/89async-method-check.t line 172. # Failed test at t/89async-method-check.t line 172. # Failed test at t/89async-method-check.t line 172. # Failed test at t/89async-method-check.t line 172. # Failed test at t/89async-method-check.t line 172. # Failed test at t/89async-method-check.t line 172. # Looks like you failed 8 tests of 223. t/89async-method-check.t ............. Dubious, test returned 8 (wstat 2048, 0x800) Failed 8/223 subtests t/90no-async.t ....................... skipped: Async support was built into this version of DBD::mysql t/91errcheck.t ....................... ok t/99_bug_server_prepare_blob_null.t .. ok t/manifest.t ......................... skipped: these tests are for release testing t/pod.t .............................. ok t/rt25389-bin-case.t ................. DBD::mysql::db do failed: Unknown database 'merijn' at t/rt25389-bin-case.t line 27. Unknown database 'merijn' at t/rt25389-bin-case.t line 27. # Looks like your test exited with 255 before it could output anything. t/rt25389-bin-case.t ................. Dubious, test returned 255 (wstat 65280, 0xff00) Failed 8/8 subtests t/rt50304-column_info_parentheses.t .. DBD::mysql::db do failed: Unknown database 'merijn' at t/rt50304-column_info_parentheses.t line 25. t/rt50304-column_info_parentheses.t .. 1/7 # Failed test 'create temporary table dbd_mysql_rt50304_column_info' # at t/rt50304-column_info_parentheses.t line 25. DBD::mysql::db column_info failed: Can't create/write to file '/var/tmp/mysql.6pWNSa/#sql_6a0_0.MAI' (Errcode: 2) at t/rt50304-column_info_parentheses.t line 29. Can't call method "fetchall_arrayref" on an undefined value at t/rt50304-column_info_parentheses.t line 30. # Looks like you planned 7 tests but ran 1. # Looks like you failed 1 test of 1 run. # Looks like your test exited with 255 just after 1. t/rt50304-column_info_parentheses.t .. Dubious, test returned 255 (wstat 65280, 0xff00) Failed 7/7 subtests t/rt83494-quotes-comments.t .......... ok t/rt85919-fetch-lost-connection.t .... ok t/rt86153-reconnect-fail-memory.t .... skipped: Skip $ENV{EXTENDED_TESTING} is not set t/rt91715.t .......................... ok Test Summary Report ------------------- t/29warnings.t (Wstat: 65280 Tests: 5 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 14 tests but ran 5. t/31insertid.t (Wstat: 65280 Tests: 2 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 18 tests but ran 2. t/40bindparam2.t (Wstat: 65280 Tests: 2 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 13 tests but ran 2. t/40blobs.t (Wstat: 65280 Tests: 3 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 14 tests but ran 3. t/40catalog.t (Wstat: 65280 Tests: 71 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 78 tests but ran 71. t/40listfields.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 25 tests but ran 0. t/87async.t (Wstat: 65280 Tests: 77 Failed: 25) Failed tests: 5-6, 11, 13-14, 18-22, 40-45, 51-52, 55-56 58, 73, 75-77 Non-zero exit status: 255 Parse errors: Bad plan. You planned 92 tests but ran 77. t/88async-multi-stmts.t (Wstat: 512 Tests: 8 Failed: 2) Failed tests: 7-8 Non-zero exit status: 2 t/89async-method-check.t (Wstat: 2048 Tests: 223 Failed: 8) Failed tests: 207, 209, 211, 213, 215, 217, 219, 221 Non-zero exit status: 8 t/rt25389-bin-case.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 0. t/rt50304-column_info_parentheses.t (Wstat: 65280 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 255 Parse errors: Bad plan. You planned 7 tests but ran 1. Files=58, Tests=1217, 25 wallclock secs ( 0.23 usr 0.05 sys + 2.48 cusr 0.26 csys = 3.02 CPU) Result: FAIL Failed 11/58 test programs. 36/1217 subtests failed. Using Devel::PPPort comes with a few suggestions, but they do not change the general FAIL to pass: $ perl -MDevel::PPPort -weDevel::PPPort::WriteFile $ perl ppport.h --compat-version=5.8.1 Scanning ./dbdimp.c ... Scanning ./dbdimp.h ... Scanning ./constants.h ... Scanning ./mysql.xs ... === Analyzing ./dbdimp.c === *** Uses perl_get_sv instead of get_sv Analysis completed Suggested changes: --- ./dbdimp.c +++ ./dbdimp.c.patched @@ -1481,7 +1481,7 @@ #define doquietwarn(s) \ { \ - SV* sv = perl_get_sv(DBD_MYSQL_NAMESPACE, FALSE); \ + SV* sv = get_sv(DBD_MYSQL_NAMESPACE, FALSE); \ if (!sv || !SvTRUE(sv)) { \ warn s; \ } \ @@ -2264,7 +2264,7 @@ #endif /* The disconnect_all concept is flawed and needs more work */ - if (!PL_dirty && !SvTRUE(perl_get_sv("DBI::PERL_ENDING",0))) { + if (!PL_dirty && !SvTRUE(get_sv("DBI::PERL_ENDING",0))) { sv_setiv(DBIc_ERR(imp_drh), (IV)1); sv_setpv(DBIc_ERRSTR(imp_drh), (char*)"disconnect_all not implemented"); === Analyzing ./dbdimp.h === Analysis completed Looks good === Analyzing ./constants.h === Analysis completed Looks good === Analyzing ./mysql.xs === Uses SvREFCNT_inc, which depends on PL_Sv, SvREFCNT Uses XSRETURN, which depends on PL_stack_base, PL_stack_sp, STMT_END, STMT_START, ax Needs to include 'ppport.h' Analysis completed Suggested changes: --- ./mysql.xs +++ ./mysql.xs.patched @@ -1,3 +1,4 @@ +#include "ppport.h" /* Hej, Emacs, this is -*- C -*- mode! Copyright (c) 2003 Rudolf Lippan
Hi Tux, thanks for your bug report. I set up an openSUSE 13.1 i386 test machine, just as you had, and I compiled perl 5.18.2 with the same options you used: ./Configure -Duse64bitint -Duselongdouble I installed DBI and was able to pass all tests against the local MariaDB from the repositories, for both the 4.025 you reported on as for the current cpan version. Of course, it could be the problem was in the libmysqlcient libs or such and was fixed in the mean time; your bug report is about a year old. As you told me on IRC you no longer have the setup you used to generate the report. So since we have no way to currently get this issue reproduced *and* all /seems/ fine now, I'll set this bug report to 'rejected'. Please feel free to re-open this ticket or to open a new ticket in case you can still reproduce this problem somehow, and I'll try to respond quicker :D -- Michiel On Wed Feb 12 08:29:12 2014, HMBRAND wrote:
Show quoted text
> Linux 3.11.6-4-desktop [openSUSE 13.1 (Bottle)] i386 Core(TM) i7- > 2620M CPU @ 2.70GHz/2187(4) i686 8032 Mb > mysql Ver 15.1 Distrib 5.5.33-MariaDB, for Linux (i686) using > readline 5.1 > This is perl 5, version 18, subversion 2 (v5.18.2) built for i686- > linux-64int-ld > DBI-1.631 > > I have no idea what part of the usage environment is due to these > fails. > I only use MariaDB/MySQL to check DBD support ingeneral. > > Below fails are similar in 4.025


This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.