@@ -412,8 +412,15 @@ property can be done in two different ways:
412
412
Issues
413
413
======
414
414
415
- Race condition in backup thread logic (new, runtime)
416
- ----------------------------------------------------
415
+ Unboxed ` Dynarray ` STM tests segfaults (new, fixed, runtime)
416
+ ------------------------------------------------------------
417
+
418
+ Early ` STM ` tests of [ the unboxed ` Dynarray ` PR] ( https://github.com/ocaml/ocaml/pull/12885 ) triggered
419
+ [ segfaults caused by mixing flat float arrays with boxed arrays] ( https://github.com/ocaml/ocaml/pull/12885#discussion_r1568976695 ) .
420
+
421
+
422
+ Race condition in backup thread logic (new, fixed, runtime)
423
+ -----------------------------------------------------------
417
424
418
425
An assertion error revealed [ a race condition between two atomic updates
419
426
underlying the coordination between a spawned domain and its backup thread] ( https://github.com/ocaml/ocaml/issues/13677 ) .
@@ -829,49 +836,6 @@ let () = List.iter (fun p -> Task.await pool p) [p0;p1;p2;p3;p4;p5]
829
836
let () = Task.teardown_pool pool
830
837
```
831
838
832
-
833
- Utop segfault (known?, status?)
834
- -------------------------------
835
-
836
- Utop segfaults when loading [ src/domain/domain_spawntree.ml] ( src/domain/domain_spawntree.ml )
837
- interactively:
838
-
839
- ``` ocaml
840
- $ utop
841
- ──────────────────────────────────────────────┬─────────────────────────────────────────────────────────────────────┬──────────────────────────────────────────────
842
- │ Welcome to utop version 2.8.0 (using OCaml version 4.12.0+domains)! │
843
- └─────────────────────────────────────────────────────────────────────┘
844
- Findlib has been successfully loaded. Additional directives:
845
- #require "package";; to load a package
846
- #list;; to list the available packages
847
- #camlp4o;; to load camlp4 (standard syntax)
848
- #camlp4r;; to load camlp4 (revised syntax)
849
- #predicates "p,q,...";; to set these predicates
850
- Topfind.reset();; to force that packages will be reloaded
851
- #thread;; to enable threads
852
-
853
-
854
- Type #utop_help for help about using utop.
855
-
856
- utop # #require "ppx_deriving.show";;
857
- utop # #require "qcheck";;
858
- utop # #use "src/domain_spawntree.ml";;
859
- type cmd = Incr | Decr | Spawn of cmd list
860
- val pp_cmd : Format.formatter -> cmd -> unit = <fun>
861
- val show_cmd : cmd -> string = <fun>
862
- val count_spawns : cmd -> int = <fun>
863
- val gen : int -> int -> cmd Gen.t = <fun>
864
- val shrink_cmd : cmd Shrink.t = <fun>
865
- val interp : int -> cmd -> int = <fun>
866
- val dom_interp : int Atomic.t -> cmd -> unit = <fun>
867
- val t : max_depth:int -> max_width:int -> Test.t = <fun>
868
- random seed: 359528592
869
- Segmentation fault (core dumped)
870
- ```
871
-
872
- This does not happen when running a plain ` ocaml ` top-level though, so it
873
- seems ` utop ` -specific.
874
-
875
839
---
876
840
877
841
This project has been created and is maintained by <a href =" https://tarides.com/ " >Tarides</a >.
0 commit comments