Comments (2)
This turns out to be a hilarious bug. Noticed that just before segfaulting, the program calls into Gc.get()
. Now, why should anyone call into asking for GC stats other than to perf test? topkg
loads topfind
which uses this abomination to determine whether the program is running in native or bytecode mode: https://gitlab.camlcity.org/gerd/lib-findlib/blob/master/src/findlib/topfind_rd1.p#L26-28. Since multicore doesn't implement Gc.get
yet and always returns Val_unit
: https://github.com/ocamllabs/ocaml-multicore/blob/master/byterun/gc_ctrl.c#L329, the code natually segfaults.
There is a better way to query the backend type, ocaml/ocaml#473, but this is only available in 4.04. For now, my plan is to match the behaviour for stack limit to get findlib
to work.
from ocaml-multicore.
Fixed by 0b2e9d7.
from ocaml-multicore.
Related Issues (20)
- Not all registers need to be saved for `caml_call_realloc_stack`
- Use explicit next pointer in gc_regs_bucket
- Backport PR #701 to 4.12 HOT 1
- caml_process_pending_actions_exn is missing HOT 2
- Audit OCAMLRUNPARAM options HOT 1
- Make Minor_heap_max and Max_domains as OCAMLRUNPARAM options HOT 10
- Caml_state for domains should not use mmap HOT 6
- Atomic access on `bigarray`
- Bring runner.sh in the CI in line with trunk
- Call to `fork` in `Sys.command` HOT 1
- Improve `stack_size_bucket` / `alloc_stack_noexc`
- Unify GC interrupt and signals triggering mechanisms HOT 2
- Getting segfault/undefined behavior using multicore with custom blocks HOT 10
- Double check rebase through ocaml/ocaml#10726 HOT 1
- Revert some changes to match trunk
- Filter-tree to normalise email address from commiters HOT 4
- freebsd/openbsd segfault in tests/lib-obj/test_reachable HOT 1
- Signal stack is freed, but isn't reset. HOT 1
- `Domain.DLS`: overflow and `release_key` function HOT 1
- Reporting a vulnerability HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ocaml-multicore.