Skip to Content.
Sympa Menu

freetds - Re: [freetds] tsql segfaults?

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Drange, Bernt Andreas" <bernt.andreas.drange AT imr.no>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] tsql segfaults?
  • Date: Thu, 19 Aug 2004 09:14:26 +0200

On Thu, 2004-08-19 at 01:00, James K. Lowden wrote:
> On Tue, 17 Aug 2004, "Drange, Bernt Andreas" <bernt.andreas.drange AT imr.no>
> wrote:
> > I trying to install freetds on a redhat 7.0 system. The setup on this
> > box is a bit weird, but I actually managed to compile and install the
> > system, so I am a bit surprised to experience segfaults when trying to
> > start tsql.
>
> That can happen when you mis-specify the TDS version. Turn on TDSDUMP;
> the top of the log will tell you where you're connecting to, and what
> protocol version you're using.

I see. Well, what baffled me so was that I ran freetds without any
configuration of my own, with only the default config file - and with no
parameters.

> > The version of unixODBC that is installed is really old, from 2001
>
> See the README that came with your distribution. As for tsql, of course
> it doesn't use ODBC, so that's not the immediate problem.

Sure. I just figured compiling in --with-odbc might have something to do
with it.

> > Is this all my fault or have I discovered som weird bug? I couldn't find
> > any 'system requirements' (regarding unixODBC or the like) on the
> > freetds website..
>
> Good suggestion. At least there should be pointer to the README. The
> requirements change over time, and the website doesn't attempt to capture
> those changes.

I see, I have now made a note to check the README file properly before
hitting a web page :)

Turning on logging didn't give me any logs. I did it in both the config
files and with export TDSDUMP=/tmp/tds.log.

Here is the output from systrace:

[root@gnu etc]# strace tsql
execve("/usr/local/bin/tsql", ["tsql"], [/* 32 vars */]) = 0
uname({sys="Linux", node="gnu", ...}) = 0
brk(0) = 0x804be40
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40016000
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, 0xbfffeb0c) = -1 ENOSYS (Function not
implemented)
fstat(3, {st_mode=S_IFREG|0644, st_size=34053, ...}) = 0
old_mmap(NULL, 34053, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40017000
close(3) = 0
open("/usr/lib/libncurses.so.5", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\342\0"...,
1024) = 1024
fstat(3, {st_mode=S_IFREG|0755, st_size=257300, ...}) = 0
old_mmap(NULL, 270124, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x40020000
mprotect(0x40056000, 48940, PROT_NONE) = 0
old_mmap(0x40056000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x35000) = 0x40056000
old_mmap(0x4005f000, 12076, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4005f000
close(3) = 0
open("/usr/lib/libreadline.so.4.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\240"...,
1024) = 1024
fstat(3, {st_mode=S_IFREG|0755, st_size=177545, ...}) = 0
old_mmap(NULL, 151920, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x40062000
mprotect(0x40082000, 20848, PROT_NONE) = 0
old_mmap(0x40082000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x1f000) = 0x40082000
old_mmap(0x40087000, 368, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40087000
close(3) = 0
open("/usr/local/lib/libtds.so.3", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200Z\0"...,
1024) = 1024
fstat(3, {st_mode=S_IFREG|0755, st_size=593713, ...}) = 0
old_mmap(NULL, 208548, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x40088000
mprotect(0x400b6000, 20132, PROT_NONE) = 0
old_mmap(0x400b6000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x2d000) = 0x400b6000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\303"...,
1024) = 1024
fstat(3, {st_mode=S_IFREG|0755, st_size=5725295, ...}) = 0
old_mmap(NULL, 1265832, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x400bb000
mprotect(0x401e7000, 37032, PROT_NONE) = 0
old_mmap(0x401e7000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x12b000) = 0x401e7000
old_mmap(0x401ec000, 16552, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x401ec000
close(3) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x401f1000
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++

I don't know if that will help pinpointing what is wrong. I do hope
someone on this list can help me though!

Cheers, Bernt

> --jkl
> _______________________________________________
> FreeTDS mailing list
> FreeTDS AT lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds
--
Bernt Andreas Drange
Institute of Marine Research
Tel: +47 5523 8500 / Direct: +47 5523 6984
E-mail: post AT imr.no / Direct: bernt.andreas.drange AT imr.no




Archive powered by MHonArc 2.6.24.

Top of Page