* 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