-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix "weak hash of serialised closures" from mantis #0005942. #330
Conversation
Hum, the failure report from travis seems to be related to a completely different problem:
|
The failure was due to #170 that broke Camlp4. I just merged camlp4/camlp4#91 that should fix the mismatch between OCaml and Camlp4. |
Thanks! Can you add an entry to Changes file? |
It goes a step further, now, the installation of cudf for opam fails for another reason: |
Somebody changed a file on some server and Travis fails. IMO in its current form the Travis test is not stable enough to be useful. If anyone wants to work on that I'll be happy, in the meantime I'll just ignore it. |
I've merge to trunk, after fixings a few things in the testsuite. A few things:
|
According to INRIA's CI, |
I reproduce the problem under a native linux 32 (cross compilation 64->32 using gcc -m32 seems to work). The problem probably comes from testsuite/tests/lib-marshal-closure/Makefile, since the error log file "write32byte.err" contains: |
I've committed a change to the Makefile to use |
Actually, this seemed to work before... |
Alternatively, just run the generated bytecode executables with ../../../byterun/ocamlrun foo.byte. This is what all the other tests in the testsuite do, I think. Why make a special case here? |
The same piece of code is used to call the .byte and .native versions, so one cannot call ocamlrun explicitly. One should either duplicate or complexify the code, or set the PATH as I tried to do (but failed miserably). |
Could it be that the code is PIC enough, but not the data (absolute closure pointers). This actually makes me wonder how this can possibly work under Linux, since we have no guarantee that the code pointers in data will also be the same. Any idea, Benoit ? |
@alainfrisch : yes, the Makefile should be written differently, separating the bytecode and native code cases and honoring the |
1. Revert "Switch to -custom for bytecode tests." This reverts commit 6b7f81c. 2. Revert "Fix Changelog." This reverts commit d94488d. 3.Revert "Fix testsuite: use binary channels." This reverts commit 840f7ca. 4. Revert "Fix testsuite: do not require a globally installed ocamlrun." This reverts commit 0388ef4. 5. Revert "Merge branch 'trunk' of https://github.com/bvaugon/ocaml into bvaugon-trunk" This reverts commit 1ff6db1, reversing changes made to 89d116c.
Changes reverted in e888e09. Let's try to find a less risky solution! |
IIUC, this PR should be reopened. Does anyone know how to reopen a PR that was merged then reverted? |
See http://caml.inria.fr/mantis/view.php?id=5942.