Skip to Content.
Sympa Menu

freetds - [freetds] db-lib unit tests fail with current CVS

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "James K. Lowden" <jklowden AT schemamania.org>
  • To: TDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: [freetds] db-lib unit tests fail with current CVS
  • Date: Tue, 16 Dec 2003 03:07:56 -0500

It seems the recent iconv changes broke my NetBSD system?

$ gdb .libs/t0001
...
This GDB was configured as "i386--netbsdelf"...
(gdb) r
Starting program:
/usr/local/website/DocumentRoot/projects/freetds/build/src/dblib/unittest
s/.libs/t0001
found s.tempdb for who in "../../../PWD"
Start
About to logon
About to open "s"

Program received signal SIGSEGV, Segmentation fault.
0x481e536c in strcmp () from /usr/lib/libc.so.12
(gdb) bt
#0 0x481e536c in strcmp () from /usr/lib/libc.so.12
#1 0x4808b343 in tds_srv_charset_changed (tds=0x8066100,
charset=0x80603a0 "iso_1")
at
/usr/local/website/DocumentRoot/projects/freetds/build/src/tds/../../../s
rc/tds/iconv.c:935

#2 0x48077714 in tds_process_env_chg (tds=0x8066100)
at
/usr/local/website/DocumentRoot/projects/freetds/build/src/tds/../../../s
rc/tds/token.c:2275
#3 0x480745c9 in tds_process_default_tokens (tds=0x8066100, marker=227)
at
/usr/local/website/DocumentRoot/projects/freetds/build/src/tds/../../../s
rc/tds/token.c:114
#4 0x48074c4c in tds_process_login_tokens (tds=0x8066100)
at
/usr/local/website/DocumentRoot/projects/freetds/build/src/tds/../../../s
rc/tds/token.c:364
#5 0x4807ae0b in tds_connect (tds=0x8066100, connect_info=0x8066200)
at
/usr/local/website/DocumentRoot/projects/freetds/build/src/tds/../../../s
rc/tds/login.c:378
#6 0x48066bf0 in tdsdbopen (login=0x8060080, server=0x804bf60 "varley")
at
/usr/local/website/DocumentRoot/projects/freetds/build/src/dblib/../../..
/src/dblib/dblib.c:957
#7 0x8049193 in main (argc=1, argv=0xbfbfd29c)
at
/usr/local/website/DocumentRoot/projects/freetds/build/src/dblib/unittest
s/../../../../src/dblib/unittests/
t0001.c:74
---Type <return> to continue, or q <return> to quit---q
Quit

(gdb) frame 1
#1 0x4808b343 in tds_srv_charset_changed (tds=0x8066100,
charset=0x80603a0 "iso_1")
at
/usr/local/website/DocumentRoot/projects/freetds/build/src/tds/../../../s
rc/tds/iconv.c:935
935 if (strcmp(canonic_charset,
iconv_info->server_charset.name) == 0)
(gdb) l
930 {
931 #if HAVE_ICONV_ALWAYS
932 TDSICONVINFO *iconv_info =
tds->iconv_info[client2server_chardata];
933 const char *canonic_charset =
tds_canonical_charset_name(charset);
934
935 if (strcmp(canonic_charset,
iconv_info->server_charset.name) == 0)
936 return;
937
938 /* find and set conversion */
939 iconv_info = tds_iconv_get_info(tds, canonic_charset);
(gdb) p iconv_info->server_charset
$1 = {name = 0x0, min_bytes_per_char = 0 '\000', max_bytes_per_char = 0
'\000'}

+++

$ grep -Ev '^[[:xdigit:]][[:xdigit:]]* ' dump |grep -v put_string
Starting log file for FreeTDS 0.62.dev.20031216
on 2003-12-16 02:54:33 with debug level 99.
names for ISO-8859-1: ISO-8859-1
names for UTF-8: UTF-8
names for UCS-2LE: UCS-2LE
names for UCS-2BE: UCS-2BE
iconv to convert client-side data to the "ISO-8859-1" character set
02:54:33.254482 tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
02:54:33.254520 tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
02:54:33.254559 Connecting to 144.137.27.242 port 1433, TDS 7.0.
02:54:33.762284 tds_process_login_tokens()
Received header @ 02:54:34.445917

Received packet @ 02:54:34.445990

02:54:34.446669 looking for login token, got e3(ENVCHANGE)
02:54:34.446692 tds_process_default_tokens() marker is e3(ENVCHANGE)
tds_get_string: reading 14 from wire to give 7 to client.
tds_get_string: reading 12 from wire to give 6 to client.
02:54:34.446764 looking for login token, got ab(INFO)
02:54:34.446786 tds_process_default_tokens() marker is ab(INFO)
tds_get_string: reading 76 from wire to give 38 to client.
tds_get_string: reading 14 from wire to give 7 to client.
02:54:34.446845 looking for login token, got e3(ENVCHANGE)
02:54:34.446867 tds_process_default_tokens() marker is e3(ENVCHANGE)
tds_get_string: reading 20 from wire to give 10 to client.
02:54:34.446900 looking for login token, got ab(INFO)
02:54:34.446922 tds_process_default_tokens() marker is ab(INFO)
tds_get_string: reading 78 from wire to give 39 to client.
tds_get_string: reading 14 from wire to give 7 to client.
02:54:34.447009 looking for login token, got e3(ENVCHANGE)
02:54:34.447033 tds_process_default_tokens() marker is e3(ENVCHANGE)
tds_get_string: reading 10 from wire to give 5 to client.
tds_get_string: reading 2 from wire to give 1 to client.




Archive powered by MHonArc 2.6.24.

Top of Page