Bug 427881 - ocaml-3.10.0-7.fc8.x86_64 produces faulty code
ocaml-3.10.0-7.fc8.x86_64 produces faulty code
Product: Fedora
Classification: Fedora
Component: ocaml (Show other bugs)
x86_64 Linux
low Severity medium
: ---
: ---
Assigned To: Gérard Milmeister
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2008-01-07 19:44 EST by Krzysztof Halasa
Modified: 2008-01-15 04:43 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-01-15 04:43:18 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Krzysztof Halasa 2008-01-07 19:44:40 EST
Description of problem:
ocaml-3.10.0 on x86_64 miscompiles MLdonkey code - mlnet frequently crashes
with stack corruption. ocaml "release310" CVS branch (containing several
listed bugfixes to 3.10.0) makes this problem disappear.

Version-Release number of selected component (if applicable):

How reproducible:
Build and run MLdonkey-2.9.2 on x86_64.

Steps to Reproduce:
1. build MLdonkey
2. run MLdonkey (mlnet)
3. wait for crash, 20 minutes should be enough.
Actual results:
segmentation fault in mlnet code

Expected results:
program should work correctly

Additional info:
http://savannah.nongnu.org/bugs/?21172 contains more details about this
mlnet malfunction.
Comment 1 Richard W.M. Jones 2008-01-08 07:14:35 EST
I haven't seen any discussion of codegen bugs like this upstream.  Has it
been raised / entered into the OCaml bugtracker or discussed on caml-list?
Comment 2 Krzysztof Halasa 2008-01-08 14:15:46 EST
I guess so but what I did was limited to checking if the 3.10.0 version causes
the problem (it does) and if the pre-3.10.1 CVS code is ok (and it is).

OCaml "Changes" list several fixes in the CVS branch "release310" (compared to
3.10.0) (I don't know which one fixes the problem) such as:
- PR#4300 ocamlopt: crash with backtrace and illegal array access
- PR#4316 compilers: crash with recursive modules and Lazy
- PR#4328 camlp4: stack overflow with nil nodes
- PR#4336 compilers: unsafe recursive modules
- PR#4374 otherlibs: threads module not initialized
- PR#4412 stdlib: marshalling broken on 64 bit architectures
- PR#4413 ocamlopt: crash on AMD64 with out-of-bound access and reraise
- PR#4435 compilers: crash with objects
- PR#4442 stdlib: crash with weak pointers
- PR#4450 compilers: stack overflow with recursive modules
and many others (some of the above problems may be the compiler crashing,
not the compiled program, of course).

The complete list is (currently) at:
Comment 3 Richard W.M. Jones 2008-01-15 04:43:18 EST
Unless you can isolate a patch which specifically fixes this and produce a test
case, I can't do much about this.  We will upgrade to 3.10.1 some time in
Fedora 9.  We cannot upgrade to 3.10.1 in earlier versions of Fedora, because
of the disruption that breaking all code will bring.

Note You need to log in before you can comment on or make changes to this bug.