Skip to Content.
Sympa Menu

freetds - [freetds] HP/UX 10.20 and unitests

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "ZIGLIO Frediano" <Frediano.Ziglio AT vodafone.com>
  • To: <freetds AT lists.ibiblio.org>
  • Subject: [freetds] HP/UX 10.20 and unitests
  • Date: Mon, 29 Dec 2003 11:04:10 +0100

As said I got core on bcp test (dblib)

# .libs/bcp
found OPDN014.tempdb for sa in "../../../PWD"
Start
About to logon
About to open OPDN014.tempdb
Dropping OPDN014.tempdb..all_types_bcp_unittest
Creating OPDN014.tempdb..all_types_bcp_unittest
preparing to insert into tempdb..all_types_bcp_unittest ... OK
Sending same row 10 times...
Segmentation fault (core dumped)

# gdb .libs/bcp core
HP gdb 3.0.01 for PA-RISC 1.1 or 2.0 (narrow), HP-UX 10.20.
Copyright 1986 - 2001 Free Software Foundation, Inc.
Hewlett-Packard Wildebeest 3.0.01 (based on GDB) is covered by the
GNU General Public License. Type "show copying" to see the conditions to
change it and/or distribute copies. Type "show warranty" for
warranty/support.
..
Core was generated by `bcp'.
Program terminated with signal 11, Segmentation fault.

warning: The shared libraries were not privately mapped; setting a
breakpoint in a shared library will not work until you rerun the
program.

#0 0xc0cdcec4 in tds_free_results (res_info=0x4000bbb8) at mem.c:490
490 if (res_info->current_row &&
is_blob_type(curcol->column_type) && curcol->column_offset) {
(gdb) l 480
475
476 }
477
478 void
479 tds_free_results(TDSRESULTINFO * res_info)
480 {
481 int i;
482 TDSCOLINFO *curcol;
483
484 if (!res_info)
(gdb) l
485 return;
486
487 if (res_info->num_cols && res_info->columns) {
488 for (i = 0; i < res_info->num_cols; i++)
489 if ((curcol = res_info->columns[i]) !=
NULL) {
490 if (res_info->current_row &&
is_blob_type(curcol->column_type) && curcol->column_offset) {
491 free(((TDSBLOBINFO *)
(res_info->current_row + curcol->column_offset))->textvalue);
492 }
493 free(curcol);
494 }
(gdb) print *res_info
$1 = {num_cols = 27, columns = 0x4000bf10, row_size = 296,
null_info_size = 4,
current_row = 0x40014840 "", rows_exist = 0, row_count = 0, computeid
= 0,
more_results = 0 '\000', bycolumns = 0x0, by_cols = 0}

Seem ok (null_info_size is correct, row_size and num_cols seem valid,
columns and current_row are valid pointers)

(gdb) print i
$2 = 1
(gdb) print res_info->columns[0]
$3 = (TDSCOLINFO *) 0x2c206e75
(gdb) print res_info->columns[1]
$4 = (TDSCOLINFO *) 0x6c6c6162
(gdb)

??? garbage ??

(gdb) print *(res_info->columns[0])
Cannot access memory at address 0x2c206e75
(gdb) print *(res_info->columns[1])
Cannot access memory at address 0x6c6c6162
(gdb)

... garbage !!!
However I don't understand why i is 1 and not 0...

freddy77



  • [freetds] HP/UX 10.20 and unitests, ZIGLIO Frediano, 12/29/2003

Archive powered by MHonArc 2.6.24.

Top of Page