Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] segfault in Unix.gethostbyname
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Blair Zajac <blair@o...>
Subject: Re: [Caml-list] segfault in Unix.gethostbyname
Kenneth Knowles wrote:
> 
> Hi all,
> 
> I get a segfault from Unix.gethostbyname whenever I have wins enabled in my
> nsswitch.conf, but with wins removed everything is fine.  I'm hoping someone
> with more unix/ocaml-C experience will have a clue.  This was actually working a
> week ago, but I had to "flatten and reinstall" my system.
> 
> $ grep wins /etc/nsswitch.conf
> hosts:       files wins dns
> 
> $ gdb ocamlrun
> (gdb) run /usr/local/bin/ocaml unix.cma
> Starting program: /usr/local/bin/ocamlrun /usr/local/bin/ocaml unix.cma
>         Objective Caml version 3.07+2
> 
> # Unix.gethostbyname "dbdev";;
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x080536c3 in string_set ()
> (gdb) bt
> #0  0x080536c3 in string_set ()
> #1  0x4034b971 in _nss_wins_gethostbyname2_r () from /lib/libnss_wins.so.2
> #2  0x403cb42c in bLoaded () from /lib/libnss_wins.so.2
> #3  0x4039bb5b in ?? () from /lib/libnss_wins.so.2
> #4  0x00000294 in ?? ()
> 
> Now I can see it is some kind of string error, and it occurs in the WINS
> library, but I'm sure it traces back somehow to the ocaml String_val(..)

I believe you're running into a problem where the Samba code is binding
to the string_set symbol in Ocaml and not in the Samba library.  You'll
find a string_set in Ocaml's byterun/str.c.

Probably the easiest solution is to get CVS HEAD of ocaml which has renamed
many function names to have "caml_" prepended, thus avoiding this issue.

Best,
Blair

-- 
Blair Zajac <blair@orcaware.com>
Plots of your system's performance - http://www.orcaware.com/orca/

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners