Bug #64380 | Conflict between Connector c++ and Boost 1.48.0 causing run failure | ||
---|---|---|---|
Submitted: | 20 Feb 2012 14:44 | Modified: | 22 Nov 2022 19:49 |
Reporter: | Joseph Cameron | Email Updates: | |
Status: | Won't fix | Impact on me: | |
Category: | Connector / C++ | Severity: | S3 (Non-critical) |
Version: | 1.1.0 | OS: | Linux (Debian 6) |
Assigned to: | CPU Architecture: | Any | |
Tags: | boost, connector, glibc detected |
[20 Feb 2012 14:44]
Joseph Cameron
[20 Feb 2012 18:58]
Sveta Smirnova
Thank you for the report. Could you please provide complete test case demonstrating the problem?
[20 Feb 2012 20:16]
Joseph Cameron
This is all that is required. Just force a reference to connector c++ /* * File: main.cpp * Author: gdmps * * Created on February 13, 2012, 6:23 AM */ #include <cstdlib> #include <stdlib.h> #include <iostream> #include <fstream> //#include <string> #include <boost/algorithm/string.hpp> #include "boost/date_time.hpp" #include "boost/date_time/gregorian/gregorian.hpp" /* MySQL Connector/C++ specific headers */ #include <cppconn/driver.h> #include <cppconn/connection.h> #include <cppconn/statement.h> #include <cppconn/prepared_statement.h> #include <cppconn/resultset.h> #include <cppconn/metadata.h> #include <cppconn/resultset_metadata.h> #include <cppconn/exception.h> #include <cppconn/warning.h> using namespace std; using namespace sql; using namespace boost::gregorian; /* * */ int main(int argc, char** argv) { bool new_db = true; bool verbose = true; bool update; int index; string start_date; Driver *driver; Connection *con; Statement *stmt; ResultSet *res; PreparedStatement *prep_stmt; Savepoint *savept; // Create history database tables "YYYY-mm". months single(1); date work_date(from_simple_string( "2000-01-01" )); date end_date = day_clock::local_day(); std::string table_date; table_date = to_iso_extended_string( work_date ); table_date = table_date.substr( 0, 7 ); cout << "table_date: " << table_date << endl; return 0; } -------------------------- *** glibc detected *** /home/gdmps/NetBeansProjects/testboost/dist/Debug/GNU-Linux-x86/testboost: free(): invalid pointer: 0x08a5a288 *** ======= Backtrace: ========= /lib/libc.so.6(+0x6b19a)[0xb730419a] /lib/libc.so.6(+0x6c9e8)[0xb73059e8] /lib/libc.so.6(cfree+0x6d)[0xb7308b2d] /usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb74dd701] /usr/lib/libstdc++.so.6(_ZNSs4_Rep10_M_destroyERKSaIcE+0x1d)[0xb74b96bd] /usr/lib/libstdc++.so.6(_ZNSs6assignERKSs+0xa0)[0xb74bb1d0] /usr/lib/libstdc++.so.6(_ZNSsaSERKSs+0x24)[0xb74bb234] /home/gdmps/NetBeansProjects/testboost/dist/Debug/GNU-Linux-x86/testboost[0x804b17a] /lib/libc.so.6(__libc_start_main+0xe6)[0xb72afc96] /home/gdmps/NetBeansProjects/testboost/dist/Debug/GNU-Linux-x86/testboost[0x804af81] ======= Memory map: ======== 08048000-08055000 r-xp 00000000 08:01 270821 /home/gdmps/NetBeansProjects/testboost/dist/Debug/GNU-Linux-x86/testboost 08055000-08056000 rw-p 0000c000 08:01 270821 /home/gdmps/NetBeansProjects/testboost/dist/Debug/GNU-Linux-x86/testboost 08a5a000-08a7b000 rw-p 00000000 00:00 0 [heap] b7000000-b7021000 rw-p 00000000 00:00 0 b7021000-b7100000 ---p 00000000 00:00 0 b7171000-b7173000 rw-p 00000000 00:00 0 b7173000-b7223000 r-xp 00000000 08:01 323812 /usr/lib/libstdc++.so.5.0.7 b7223000-b7228000 rw-p 000af000 08:01 323812 /usr/lib/libstdc++.so.5.0.7 b7228000-b722d000 rw-p 00000000 00:00 0 b722d000-b7240000 r-xp 00000000 08:01 360455 /lib/libnsl-2.11.3.so b7240000-b7241000 r--p 00012000 08:01 360455 /lib/libnsl-2.11.3.so b7241000-b7242000 rw-p 00013000 08:01 360455 /lib/libnsl-2.11.3.so b7242000-b7244000 rw-p 00000000 00:00 0 b7244000-b724d000 r-xp 00000000 08:01 360456 /lib/libcrypt-2.11.3.so b724d000-b724e000 r--p 00008000 08:01 360456 /lib/libcrypt-2.11.3.so b724e000-b724f000 rw-p 00009000 08:01 360456 /lib/libcrypt-2.11.3.so b724f000-b7277000 rw-p 00000000 00:00 0 b7277000-b727e000 r-xp 00000000 08:01 360470 /lib/librt-2.11.3.so b727e000-b727f000 r--p 00006000 08:01 360470 /lib/librt-2.11.3.so b727f000-b7280000 rw-p 00007000 08:01 360470 /lib/librt-2.11.3.so b7280000-b7294000 r-xp 00000000 08:01 360461 /lib/libpthread-2.11.3.so b7294000-b7295000 ---p 00014000 08:01 360461 /lib/libpthread-2.11.3.so b7295000-b7296000 r--p 00014000 08:01 360461 /lib/libpthread-2.11.3.so b7296000-b7297000 rw-p 00015000 08:01 360461 /lib/libpthread-2.11.3.so b7297000-b7299000 rw-p 00000000 00:00 0 b7299000-b73d7000 r-xp 00000000 08:01 360471 /lib/libc-2.11.3.so b73d7000-b73d8000 ---p 0013e000 08:01 360471 /lib/libc-2.11.3.so b73d8000-b73da000 r--p 0013e000 08:01 360471 /lib/libc-2.11.3.so b73da000-b73db000 rw-p 00140000 08:01 360471 /lib/libc-2.11.3.so b73db000-b73de000 rw-p 00000000 00:00 0 b73de000-b73fb000 r-xp 00000000 08:01 360451 /lib/libgcc_s.so.1 b73fb000-b73fc000 rw-p 0001c000 08:01 360451 /lib/libgcc_s.so.1 b73fc000-b7420000 r-xp 00000000 08:01 360453 /lib/libm-2.11.3.so b7420000-b7421000 r--p 00023000 08:01 360453 /li b/libm-2.11.3.so b7421000-b7422000 rw-p 00024000 08:01 360453 /lib/libm-2.11.3.so b7422000-b750b000 r-xp 00000000 08:01 280858 /usr/lib/libstdc++.so.6.0.13 b750b000-b750f000 r--p 000e9000 08:01 280858 /usr/lib/libstdc++.so.6.0.13 b750f000-b7510000 rw-p 000ed000 08:01 280858 /usr/lib/libstdc++.so.6.0.13 b7510000-b7518000 rw-p 00000000 00:00 0 b7528000-b778a000 r-xp 00000000 08:01 257691 /usr/mysql-connector-c++-1.1.0/lib/libmysqlcppconn.so.5.1.1.0 b778a000-b77c9000 rw-p 00261000 08:01 257691 /usr/mysql-connector-c++-1.1.0/lib/libmysqlcppconn.so.5.1.1.0 b77c9000-b77ca000 rw-p 00000000 00:00 0 b77ca000-b77d8000 r-xp 00000000 08:01 201938 /usr/boost_1_48_0/stage/lib/libboost_date_time.so.1.48.0 b77d8000-b77d9000 rw-p 0000d000 08:01 201938 /usr/boost_1_48_0/stage/lib/libboost_date_time.so.1.48.0 b77d9000-b77db000 rw-p 00000000 00:00 0 b77db000-b77dc000 r-xp 00000000 00:00 0 [vdso] b77dc000-b77f7000 r-xp 00000000 08:01 360464 /lib/ld-2.11.3.so b77f7000-RUN FAILED (exit value 1, total time: 150ms)
[20 Feb 2012 20:52]
Sveta Smirnova
Thank you for the feedback. I can not repeat described behavior: [sveta@delly bugs]$ g++ bug64380.cpp -o bug64380 -I/home/sveta/build/mysql-connector-c++-1.1.0/include -L/home/sveta/build/mysql-connector-c++-1.1.0/lib -lboost_date_time [sveta@delly bugs]$ ./bug64380 table_date: 2000-01 [sveta@delly bugs]$ So looks like this is environment-specific. Please indicate exact package name of Connector/C++ you use (file name you downloaded), boost version and specify your platform details.
[20 Feb 2012 21:38]
Joseph Cameron
Win Vista running - Oracle Vitual Box - Ver: 4.1.8r75457 Guest - Debian release 6.0.4 Kernal Linux 2.6.32-5-686 Mem 2.0gb Proc AMD Athlon II X2 245 proc. NetBeans 7.1 From http://dev.mysql.com/downloads/connector/cpp/#downloads mysql-connector-c++-1.1.0-linux-glibc2.3-x86-32bit.tar.gz From http://sourceforge.net/projects/boost/files/boost/1.48.0/boost_1_48_0.tar.gz/ boost_1_48_0.tar.gz ( self built, defaults ) Linking to: boost_date_time libmysqlcppconn.so (short cut to) libmysqlcppconn.so.5.1.1.0 === dont know what else to give you.
[21 Feb 2012 20:00]
Sveta Smirnova
Thank you for the feedback. Verified as described on Debian. Not repeatable with self-compiled package on Oracle Linux. I did typo in my description of how-to-repeat: [sveta@delly bugs]$ g++ bug64380.cpp -o bug64380 -I/home/sveta/build/mysql-connector-c++-1.1.0/include -L/home/sveta/build/mysql-connector-c++-1.1.0/lib -lboost_date_time -lmysqlcppconn
[22 Feb 2012 17:11]
Joseph Cameron
Also have the same error when running under VMware Player.
[9 Jan 2015 11:51]
Hemant Dangi
Not able to reproduce with C/C++ 1.1.5 on Debian 6 and 7.
[16 Jan 2015 11:56]
Hemant Dangi
Joseph, Can you please verify if this is still a issue on newer C/C++ releases?
[17 Feb 2015 1:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[22 Nov 2022 19:49]
Luis Silva
Posted by developer: Can't be replicated using recent builds. Closing it.