freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
- From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio AT vodafone.com>
- To: "FreeTDS Development Group" <freetds AT lists.ibiblio.org>
- Subject: Re: [freetds] Cored dump
- Date: Mon, 28 Nov 2005 16:47:04 +0100
>
> Hello, I have now another core.xxx but with this some debug
> info is showed
>
> 1) tail -f freetds_20051126_182913.log
> util.c:276:Starting log file for FreeTDS 0.64.dev.20051019
> on 2005-11-26 18:27:45 with debug flags 0x4fff.
> iconv.c:361:iconv to convert client-side data to the
> "ISO-8859-1" character
> set
> iconv.c:514:tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
> iconv.c:514:tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
> net.c:168:Connecting to 213.27.242.161 port 1433.
>
Mm... this time no connection error, it seems tds_open_socket returns
TDS_SUCCEED
> 2) GDB shows some information
>
> ......
>
> #0 tds_connect (tds=Cannot access memory at address 0x8
> ) at login.c:235
>
>
> 235 if (IS_TDS80(tds)) {
>
>
> (gdb) backtrace
> #0 tds_connect (tds=Cannot access memory at address 0x8
> ) at login.c:235
> Cannot access memory at address 0x0
> Current language: auto; currently c
> (gdb)
>
> ........
>
>
> (gdb) list -
> 225
> 226 memcpy(tds->capabilities, connection->capabilities,
> TDS_MAX_CAPABILITY);
> 227
> 228 retval = tds_version(tds, version);
> 229 if (!retval)
> 230 version[0] = '\0';
> 231
> 232 if (tds_open_socket(tds,
> tds_dstr_cstr(&connection->ip_addr), connection->port,
> connect_timeout) !=
> TDS_SUCCEED)
> 233 return TDS_FAIL;
> 234
>
> (gdb) list
>
> 235 if (IS_TDS80(tds)) { /** <<<<< ERROR HERE */
> 236 retval = tds8_do_login(tds, connection);
> 237 db_selected = 1;
> 238 } else if (IS_TDS7_PLUS(tds)) {
> 239 retval = tds7_send_login(tds, connection);
> 240 db_selected = 1;
> 241 } else {
> 242 tds->out_flag = 0x02;
> 243 retval = tds_send_login(tds, connection);
> 244
>
> I can open and disconnect many connections without problem
> but after some
> hours [5-10] the program dump the core...
>
> Regards
Mmmm... tds == 0x8 means a corruption on stack. tds variable can't be
0x8 in tds_open_socket so something in tds_open_socket corrupts memory
(or another thread or kernel).
Which system are you using?
freddy77
-
[freetds] Cored dump,
martin A., 11/25/2005
- Re: [freetds] Cored dump, James K. Lowden, 11/26/2005
-
Re: [freetds] Cored dump,
Frediano Ziglio, 11/26/2005
- Re: [freetds] Cored dump, martin A., 11/28/2005
- <Possible follow-up(s)>
-
Re: [freetds] Cored dump,
ZIGLIO, Frediano, VF-IT, 11/28/2005
- Re: [freetds] Cored dump, martin A., 11/28/2005
Archive powered by MHonArc 2.6.24.