companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.2.0 released: https://ocaml.org/releases/5.2.0 | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
<dmbaturin> Anarchos: I'm not a Haiku user but I think it's cool that you are doing that porting work.
<Anarchos> dmbaturin what annoys me is that errors :
<Anarchos>
<Anarchos> List of failed tests:
<Anarchos> tests/lib-format/mc_pr586_par.ml
<Anarchos> tests/lib-runtime-events/test_create_cursor_failures.ml
<Anarchos> tests/lib-unix/unix-socket/recvfrom_unix.ml
<Anarchos>
<Anarchos> and sometimes, there is also tests/lib-format/mc_pr586_par2.ml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
malte has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
Tuplanolla has quit [Quit: Leaving.]
<discocaml> <romain.beauxis> I'm still exploring this stacktrace/memory corruption. The underlying value is using `Atomic` and is called a lot. It also turns out that the client is not oberving an issue with a build using ocaml 5 (which is not yet suitable for production really due to excessive memory usage).
<discocaml> <romain.beauxis> Question: how much do we know that `Atomic` is.. atomic in `4.14.x` in particular w.r.t. the GC? All I'm seeing in the code is:
<discocaml> <romain.beauxis> ```
<discocaml> <romain.beauxis> let get r = r.v
<discocaml> <romain.beauxis> let set r v = r.v <- v
<discocaml> <romain.beauxis> ```
<discocaml> <romain.beauxis> I'm having then run a build with this functionality removed to see if the memory corruption still happens but wanted to ask here too.
<discocaml> <romain.beauxis> (all I'm seeing in the *compiler* code)
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #ocaml
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #ocaml
chiselfuse has quit [Read error: Connection reset by peer]
infohazards has quit [Remote host closed the connection]
infohazards has joined #ocaml
chiselfuse has joined #ocaml
bartholin has joined #ocaml
bartholin has quit [Quit: Leaving]
Haudegen has joined #ocaml
Serpent7776 has joined #ocaml
infinity0 has quit [Ping timeout: 245 seconds]
Mister_Magister has quit [Excess Flood]
Mister_Magister has joined #ocaml
Mister_Magister has quit [Ping timeout: 245 seconds]
infinity0 has joined #ocaml
hwj has joined #ocaml
dhil has joined #ocaml
Mister_Magister has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
<rustyne> romain.beauxis: I don’t think there’s a problem there if you don’t have C code (in a separate thread for instance) that can mess it up.
<rustyne> romain.beauxis: I admit that I wonder if the C compiler might be doing something nasty, such as assuming `Field(_on_keyframe,0)` is a constant and not reloading it properly after the acquire_runtime.
<rustyne> Have you had a look at the assembly by any chance?
<discocaml> <romain.beauxis> I did some digging. The call to `caml_callback` seems to go straight to assembly so it would not appear in the stack track necessarily I believe.
<discocaml> <romain.beauxis> I don't think that the values changes from under the C code but the whole application is under a log of GC pressure and does a lot of runtime release/acquisition. I've had issues in other areas of it already with values being agressively collected.
hwj has quit [Ping timeout: 244 seconds]
<discocaml> <contificate> surprised there isn't some kind of like LLVM-based static analzyzer that modifies the Caml headers to emit like useful things, then give approximate warnings for classes of errors - like even just non-interprocedurally, using a value without holding the runtime lock is ohnoitsover behaviour
semarie has quit [Ping timeout: 272 seconds]
semarie has joined #ocaml
jutty has quit [Quit: jutty]
jutty has joined #ocaml
hwj has joined #ocaml
<discocaml> <romain.beauxis> Yeah that'd be nice. In my case, the only thing I'm doing is: testing: `_on_keyframe != Val_none`. Given that `Val_none` is `1` I have a hard time seeing this being a problem.
pi3ce has quit [Ping timeout: 252 seconds]
pi3ce has joined #ocaml
Serpent7776 has quit [Ping timeout: 252 seconds]
myrkraverk has quit [Read error: Connection reset by peer]
myrkraverk has joined #ocaml
myrkraverk_ has joined #ocaml
myrkraverk has quit [Ping timeout: 248 seconds]
euphores has quit [Quit: Leaving.]
ygrek has joined #ocaml
euphores has joined #ocaml
ygrek has quit [Quit: Leaving]
ygrek has joined #ocaml
bartholin has joined #ocaml
tomku has quit [Ping timeout: 244 seconds]
tomku has joined #ocaml
Tuplanolla has joined #ocaml
Anarchos has joined #ocaml
ygrek has quit [Remote host closed the connection]
ygrek has joined #ocaml
ygrek has quit [Remote host closed the connection]
Serpent7776 has joined #ocaml
dawids_ has joined #ocaml
dawids_ has quit [Remote host closed the connection]
dawids_ has joined #ocaml
tomku has quit [Ping timeout: 268 seconds]
tomku has joined #ocaml
malte has quit [Ping timeout: 276 seconds]
malte has joined #ocaml
hwj has quit [Quit: Leaving]
dhil has quit [Ping timeout: 248 seconds]
YuGiOhJCJ has joined #ocaml
dawids_ has quit [Ping timeout: 265 seconds]
Serpent7776 has quit [Ping timeout: 260 seconds]
malte has quit [Ping timeout: 244 seconds]
bartholin has quit [Quit: Leaving]
cedb has joined #ocaml
<cedb> is there a way to capture output from a command launched with Lwt_process without redirecting to a file?
malte has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
malte has quit [Ping timeout: 252 seconds]
malte has joined #ocaml
Anarchos has joined #ocaml
Anarchos has quit [Client Quit]
malte has quit [Ping timeout: 252 seconds]