Re: I'm having a crashing problem with FreeTDS under OSX

Daniel Parnell <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <[email protected]>
Here is the version output from gcc

i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5490)

I wasn't aware that FreeTDS used it's own memory allocator.
I've not had any problems like this with any of the installs I've done  
in the past (and I've done a lot of them).

Daniel

On 08/03/2009, at 9:55 PM, Frediano Ziglio wrote:

> 2009/3/8 Daniel Parnell <[email protected]>:
>> Hi James,
>>
>> Looks like I've got things working on my machine.
>> What I had to do was replace any calls to strdup with a new function
>> tds_strdup.
>> I also have to replace the call to asprintf in odbc.c with sprintf
>> into a character array and a tds_strdup (not too happy about that  
>> one).
>>
>> It's very VERY strange that I should need to do this.  I've tried
>> replicating the problem with a smaller application without success.
>>
>> Daniel
>>
>
> Mmmm... this can be the problem
>
> http://osdir.com/ml/web.curl.general/2004-12/msg00080.html
>
> does Mac OS X has asprintf ?? Try using only your tds_strdup.
>
> Reading at http://developer.apple.com/documentation/Darwin/Reference/Manpages/man3/asprintf.3.html
> it seems that same problem apply also to asprintf/vasprintf. They
> returns pointers malloc-ed with libc but if free is not from libc you
> get heap corruption. The solution is to use a tds_strdup (as you did)
> and say in configure that you don't have asprintf/vasprintf so FreeTDS
> will compile a version that use proper malloc.
>
> Which compiler are you using?
>
> Another solution would be to link FreeTDS with libc malloc/free.
>
> freddy77
> _______________________________________________
> FreeTDS mailing list
> [email protected]
> http://lists.ibiblio.org/mailman/listinfo/freetds
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.