Trace:
>> ping DISPATCH (DBI::db=HASH(0xce2d58) rc1/1 @1 g2 ima405 + pid#3528) at test.pl line 20 -> ping for DBD::mysql::db (DBI::db=HASH(0xce2d58)~0xcf0178) thr#9 +a1010 <- ping= ( 1 ) [1 items] at test.pl line 20 OK >> ping DISPATCH (DBI::db=HASH(0xce2d58) rc1/1 @1 g2 ima405 + pid#3528) at test.pl line 20 -> ping for DBD::mysql::db (DBI::db=HASH(0xce2d58)~0xcf0178) thr#9 +a1010 <- ping= ( 1 ) [1 items] at test.pl line 20 OK >> ping DISPATCH (DBI::db=HASH(0xce2d58) rc1/1 @1 g2 ima405 + pid#3528) at test.pl line 20 -> ping for DBD::mysql::db (DBI::db=HASH(0xce2d58)~0xcf0178) thr#9 +a1010 <- ping= ( 1 ) [1 items] at test.pl line 20 OK >> ping DISPATCH (DBI::db=HASH(0xce2d58) rc1/1 @1 g2 ima405 + pid#3528) at test.pl line 20 -> ping for DBD::mysql::db (DBI::db=HASH(0xce2d58)~0xcf0178) thr#9 +a1010 imp_dbh->pmysql: d39230 my_login IMPSET but not ACTIVE so connect not skipped imp_dbh->my_login : dbname = test, uid = root, pwd = ,host = 127.0.0.1 +, port = 3306 imp_dbh->mysql_dr_connect: host = |127.0.0.1|, port = 3306, uid = root +, pwd = imp_dbh->bind_type_guessing: 0 imp_dbh->use_server_side_prepare: 0 imp_dbh->mysql_dr_connect: client_flags = 2 imp_dbh->mysql_dr_connect: <- --> do_error Can't connect to MySQL server on '127.0.0.1' (111) error 2003 recorded +: Can't connect to MySQL server on '127.0.0.1' (111) <-- do_error !! ERROR: 2003 'Can't connect to MySQL server on '127.0.0.1' (111) +' (err#0) <- ping= ( '' ) [1 items] at test.pl line 20 DBD::mysql::db ping failed: Can't connect to MySQL server on '127.0.0. +1' (111) at test.pl line 20. FAILED >> ping DISPATCH (DBI::db=HASH(0xce2d58) rc1/1 @1 g2 ima405 + pid#3528) at test.pl line 20 -> ping for DBD::mysql::db (DBI::db=HASH(0xce2d58)~0xcf0178) thr#9 +a1010 imp_dbh->pmysql: d39230 my_login IMPSET but not ACTIVE so connect not skipped imp_dbh->my_login : dbname = test, uid = root, pwd = ,host = 127.0.0.1 +, port = 3306 imp_dbh->mysql_dr_connect: host = |127.0.0.1|, port = 3306, uid = root +, pwd = imp_dbh->bind_type_guessing: 0 imp_dbh->use_server_side_prepare: 0 imp_dbh->mysql_dr_connect: client_flags = 2 imp_dbh->mysql_dr_connect: <-*** Error in `perl': double free or corru +ption (!prev): 0x0000000000d39230 *** Aborted
Seems that when Ping is called from connection established by itself and this connection failed, memory is not handled properly inside mysql_dr_connect. Maybe i must just check if Ping returned a valid conection before calling it again.
Anyways using DBI->connect_cached instead of Ping solved my problem.
although I still curious.
In reply to Re^2: DBD::mysql Ping segmentation fault
by RndNoob
in thread DBD::mysql Ping segmentation fault
by RndNoob
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |