caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* possible instability with native code on UltraSPARC?
@ 1999-03-28 19:14 William Chesters
  1999-03-28 19:58 ` William Chesters
  0 siblings, 1 reply; 2+ messages in thread
From: William Chesters @ 1999-03-28 19:14 UTC (permalink / raw)
  To: caml-list

   Has anyone had a problems with stability of native code on
UltraSPARC/Solaris?  When I try my program on the Uni Suns, it crashes
with a bus error or segmentation fault after some number of iterations
of a top level test loop.

   A few random remarks in case anything rings a bell:

   Depending on what I put in the test loop, it crashes anywhere from
the first to the 31st iteration, or not at all; and the place where it
crashes varies between sweep_slice (it seems to have walked off the
end having trashed the `limit' pointer), oldify, and a float array
store in of my modules (most commonly: it can happen in other places
too).  It sometimes behave a little differently under gdb than on its
own.

   With the debug runtime libasmrund.a, it crashes in a different
place but sadly doesn't fail any assertions.

   I haven't so far been able to isolate a single piece of my code
which causes the problem.  However the whole thing is very float-array
intensive, which is probably relatively uncommon in ocaml
applications?

   I tried a few variations of the same code compiled to bytecode, and
didn't see any problems, so it seems not to be in the runtime per se.

   Using -compact with ocamlopt didn't help.  I haven't tried playing
with the -inline.

   I use camlp4 very intensively as a front end, but I don't think
this is a camlp4-related problem, because it happens just the same if
I use pr_o.cmo (which outputs ocaml-syntax ASCII text for ocaml to
parse) as with pr_dump.cmo (which outputs a marshalled syntax tree).

   The only library I am linking with is camlp4's "gramlib.cmxa" which
I use for the lexer (and yes, for what it's worth, I have recompiled
camlp4 and tried again).  That is the only `.cmxa' in the link
command; everything else is one of my `.cmx's.  There are no `.o's or
explicit `-cclib's at all.

   To concentrate my mind, here is a declaration: "I am certain that
there is nothing but ML in the code.  The only compiler involved is
vanilla out-of-the-box ocamlopt 2.02.  The only non-standard library I
am linking with is gramlib.cmxa.  I slept normally last night and have
not ingested coffee for six hours."


   System:

      SunOS stilt 5.6 Generic_105181-11 sun4u sparc  (Sun Ultra 5)

      The Objective Caml compiler, version 2.02
         compiled with gcc version 2.8.1 (*)
         configured to use posix threads for threading (+)

(*) same problem when ocaml compiled with egcs 1.1; N.B. it bootstraps
successfully with either compiler

(+) but the program isn't compiled with -thread or linked with any
thread library




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: possible instability with native code on UltraSPARC?
  1999-03-28 19:14 possible instability with native code on UltraSPARC? William Chesters
@ 1999-03-28 19:58 ` William Chesters
  0 siblings, 0 replies; 2+ messages in thread
From: William Chesters @ 1999-03-28 19:58 UTC (permalink / raw)
  To: caml-list

William Chesters writes:
 >    To concentrate my mind, here is a declaration:

Forgot to add, there aren't any Array.unsafe_... or
String.unsafe_... calls in the code either.




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1999-03-29  8:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-03-28 19:14 possible instability with native code on UltraSPARC? William Chesters
1999-03-28 19:58 ` William Chesters

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).