Skip to Content.
Sympa Menu

freetds - Re: [freetds] Cored dump

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "martin A." <acevedoma AT hotmail.com>
  • To: freetds AT lists.ibiblio.org
  • Subject: Re: [freetds] Cored dump
  • Date: Mon, 28 Nov 2005 17:26:04 +0000

hi
Linux localhost.localdomain 2.6.11-1.1369_FC4smp #1 SMP Thu Jun 2 23:08:39 EDT 2005 i686 i686 i386 GNU/Linux

the kernel is SMP on intel dual processor machine....



From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio AT vodafone.com>
Reply-To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
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 mailing list
FreeTDS AT lists.ibiblio.org
http://lists.ibiblio.org/mailman/listinfo/freetds






Archive powered by MHonArc 2.6.24.

Top of Page