У меня установлена MariaDB (как часть установки Fedora) на Fedora 21. Также установлен ODBC. НО, когда я иду тестировать конфигурацию ODBC (или когда Asterisk пытается использовать ODBC), я получаю сообщение об ошибке в free():invalid pointer.
odbcinst.ini
[MySQL]
Description=ODBC for MySQL
Driver=/usr/lib64/libmyodbc5.so
Setup=/usr/lib64/libodbcmyS.so
FileUsage=1
UsageCount=2
odbc.ini
[asterisk]
Description=MySQL connection to 'asterisk' database
Driver=MySQL
Database=asteriskdb
Server=localhost
UserName=<theusername>
Password=<thepassword>
Port=3306
Socket=/var/lib/mysql/mysql.sock
Подключение к базе данных с помощью mysql отлично работает с этими учетными данными. Но делать:
echo "select 1"|isql -v asterisk theusername thepassword
приводит к этому:
*** Error in `isql': free(): invalid pointer: 0x00000000011c4e58 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7850e)[0x7fdd0ef7850e]
/lib64/libc.so.6(cfree+0x5b5)[0x7fdd0ef84165]
/usr/lib64/libmyodbc5.so(MySQLGetPrivateProfileStringW+0x132)[0x7fdd083381c2]
/usr/lib64/libmyodbc5.so(ds_lookup+0x5d)[0x7fdd08336c3d]
/usr/lib64/libmyodbc5.so(MySQLConnect+0xbe)[0x7fdd08316a1e]
/lib64/libodbc.so.2(SQLConnect+0x9e5)[0x7fdd0fb41745]
isql[0x402908]
/lib64/libc.so.6(__libc_start_main+0xf0)[0x7fdd0ef1ffe0]
isql[0x402c31]
======= Memory map: ========
Я могу предоставить остальную часть дампа ядра, если это кому-то поможет.
Любые предложения о том, что вызывает это и как это предотвратить? Мне нужно, чтобы ODBC работал.