QVariant and ODBC for iSeries segmentation fault in text field.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
qt4-x11 (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: libqt4-sql-odbc
Ubuntu / Kubuntu 10.04 everything worked perfectly.
With ubuntu / kubuntu 10.10, accessing a database on the IBM iSeries, using a SELECT query from QT4 application, everything works correctly only with numeric fields on the database.
If you try to read a text field with the method "QVariant value (int index) const", it lies in a crash!
The error is as follows:
gconv.c: 75: __gconv: Assertion "outbuf! = ((void *) 0) & & * outbuf! = ((void *) 0) 'failed.
Aborted
It happens on application found on the repositories, just as stacked on personal application.
For example, the application "tora", querying works on numeric fields, but does not work on text fields.
For example, an application personnel arrived at this point in the source:
...
while(
{
std:
std:
num_
std:
std:
sleep(3);
QVariant a=query.value(0);
std:
std:
main_
std:
std:
stato=true;
}
...
the output is as follows:
...
Valore letto..
Aborted
Even with a simple:
...
QVariant a=query.value(2);
...
the output is as follows:
...
gfat: gconv.c:75: __gconv: Asserzione "outbuf != ((void *)0) && *outbuf != ((void *)0)" non riuscita.
Aborted
description: | updated |
tags: | added: database gconv ibm iseries odbc qodbc qstring qt4 qvariant sql |
Following is the gdb bugtrace:
#0 0x00007ffff5d0cba5 in raise () from /lib/libc.so.6 iSeriesAccess/ lib64/libcwbcor e.so :convertIconv( unsigned char const*, unsigned char*, unsigned long, unsigned long, PiNlConversionD etail&) const () from /opt/ibm/ iSeriesAccess/ lib64/libcwbcor e.so :convert( unsigned char const*, unsigned char*, unsigned long, unsigned lon etail&) const () from /opt/ibm/ iSeriesAccess/ lib64/libcwbcor e.so INFO::convertTo ClientCodePage( char const*, char*, unsigned int, unsigned int, COLUMN_INFO&, COLUMN_INFO const&, unsigned int*, PiNlConverter: :PADTYPE, int) () iSeriesAccess/ lib64/libcwbodb c.so SQL400_ CHAR_to_ C_WCHAR( STATEMENT_ INFO&, char const*, char*, unsigned int, unsigned int, COLUMN_INFO&, COLUMN_INFO const&, unsigned int*) () from /opt/ibm/ iSeriesAccess/ lib64/libcwbodb c.so STATEMENT_ INFO&, int, int, char const*, char*, unsigned int, unsigned int, COLUMN_INFO&, COLUMN_INFO&, unsigned int*) () from /opt/ibm/ iSeriesAccess/ lib64/libcwbodb c.so INFO::odbcGetDa ta(unsigned int, short, char*, int, int*) () iSeriesAccess/ lib64/libcwbodb c.so iSeriesAccess/ lib64/libcwbodb c.so libodbc. so.1 qt4/plugins/ sqldrivers/ libqsqlodbc. so qt4/plugins/ sqldrivers/ libqsqlodbc. so :value( int) const () from /usr/lib/ libQtSql. so.4 :leggiFatture( ) () :qt_metacall( QMetaObject: :Call, int, void**) () :activate( QObject* , QMetaObject const*, int, void**) () libQtCore. so.4 :dateChanged( QDate const&) () from /usr/lib/ libQtGui. so.4 libQtGui. so.4 libQtGui. so.4 libQtGui. so.4 x::qt_metacall( QMetaObject: :Call, int, void**) () libQtGui. so.4 :qt_metacall( QMetaObject: :Call, int, void**) () libQtGui. so.4 :qt_metacall( QMetaObject: :Call, int, void**) () from /usr/lib/ libQtGui. so.4 :activate( QObject* , QMetaObject const*, int, void**) () libQtCore. so.4 :textChanged( QStri.. .
#1 0x00007ffff5d106b0 in abort () from /lib/libc.so.6
#2 0x00007ffff5d05a71 in __assert_fail () from /lib/libc.so.6
#3 0x00007ffff5cf93a3 in ?? () from /lib/libc.so.6
#4 0x00007ffff5cf882c in iconv () from /lib/libc.so.6
#5 0x00007fffe3227cb7 in doIconv(void*, unsigned char const*, unsigned char*, unsigned long, unsigned long, unsigned long&, bool) () from /opt/ibm/
#6 0x00007fffe3227de6 in PiNlConverter:
#7 0x00007fffe322afd8 in PiNlConverter:
g, PiNlConversionD
#8 0x00007fffe3454236 in STATEMENT_
from /opt/ibm/
#9 0x00007fffe345496b in odbcConv_
#10 0x00007fffe344e25a in odbcConvSQLtoC(
#11 0x00007fffe343d831 in STATEMENT_
from /opt/ibm/
#12 0x00007fffe344054d in SQLGetData () from /opt/ibm/
#13 0x00007fffe83c97e1 in SQLGetData () from /usr/lib/
#14 0x00007fffe861e114 in ?? () from /usr/lib/
#15 0x00007fffe8628986 in ?? () from /usr/lib/
#16 0x00007ffff7babc4d in QSqlQuery:
#17 0x0000000000422866 in fatture:
#18 0x000000000043d82d in fatture:
#19 0x00007ffff6b98b27 in QMetaObject:
from /usr/lib/
#20 0x00007ffff7468d45 in QDateTimeEdit:
#21 0x00007ffff746f0e1 in ?? () from /usr/lib/
#22 0x00007ffff744929e in ?? () from /usr/lib/
#23 0x00007ffff744c865 in ?? () from /usr/lib/
#24 0x00007ffff744c9ae in QAbstractSpinBo
from /usr/lib/
#25 0x00007ffff7470495 in QDateTimeEdit:
from /usr/lib/
#26 0x00007ffff7470945 in QDateEdit:
#27 0x00007ffff6b98b27 in QMetaObject:
from /usr/lib/
#28 0x00007ffff749ae72 in QLineEdit: