Version française
Home     About     Download     Resources     Contact us    
Browse thread
Floating exception
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Richard Jones <rich@a...>
Subject: Re: [Caml-list] Floating exception
On Tue, Nov 27, 2007 at 11:19:25AM +0000, Jon Harrop wrote:
> There isn't really anything more that I can add. We wrote the OCaml the 
> obvious way (no unsafe code) and used the conventional bindings (LablGL) and 
> distributed the binary, only to find that too many people had reliability 
> problems for it to be a viable product so we pulled it.

It does sound like the bindings or GL implementations are to blame.
virt-top is used by an indeterminate number of people, as a binary,
and I've not had any reports like this.  It does plenty of floating
point, it's native code, and compiled in the usual way.

> Now we're trying to give it away in bytecode form and even that is a major 
> PITA because we need to install and compile against (including dependencies) 
> several different minor-minor versions of OCaml just to garner enough 
> interest to find out (from the only person who has given us feedback having 
> managed to compile it out of 75 downloads so far this month) that even these 
> trivial demos don't work.

In Fedora I instituted a system of rigorous dependencies so that
binary RPMs can't be installed if they were built against the wrong
OCaml.  Doesn't help you though :-(

# rpm -q --requires ocaml-csv
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(VersionedDependencies) <= 3.0.3-1
libc.so.6()(64bit)  
libc.so.6(GLIBC_2.2.5)(64bit)  
libc.so.6(GLIBC_2.3)(64bit)  
libc.so.6(GLIBC_2.3.4)(64bit)  
libc.so.6(GLIBC_2.4)(64bit)  
libdl.so.2()(64bit)  
libdl.so.2(GLIBC_2.2.5)(64bit)  
libm.so.6()(64bit)  
libm.so.6(GLIBC_2.2.5)(64bit)  
ocaml(Array) = aa8e3cd5824f9bb40b93fcd38d0c95b5
ocaml(Buffer) = f6cef633ea14963b84b79c4095c63dc3
ocaml(Enum) = c16e527384c2b6d71d8b19582503f5f1
ocaml(ExtList) = f0f729e9c5635a8010fc862a9c31fed4
ocaml(Obj) = 5cfae708052c692ea39d23ed930fd64d
ocaml(Pervasives) = 8ba3d1faa24d659525c9025f41fd0c57
ocaml(Printf) = 5dbbf45a03b54e6dbfcf39178d0d6341
ocaml(String) = 2c162ab314b2f0a2cfd22d471b2e21ab
ocaml(runtime) = 3.10.0

> My guess is that the glut libraries installed on these computers are causing 
> the problems. Perhaps we should write bindings to GLX or use LablGTK2 to 
> evade glut and see what happens but, of course, we cannot reproduce the 
> problem here and there are a huge number of variations we could try without 
> having any real idea of what is going wrong.

Do you remember if the crashes happened at predictable places (for
your customers) or were they random each time the program ran?

Rich.

-- 
Richard Jones
Red Hat