- github
- ocaml
- opam-repository
- 3af7d0
- macos,macos-homebrew-ocaml-4.14-amd64,picos.0.3.0,tests
(not at the head of any monitored branch or PR)
2026-03-10 08:59.56: New job: test picos.0.3.0, using opam dev
from https://github.com/ocaml/opam-repository.git#refs/pull/29530/head (3af7d0a25910b3d20c909e559efb484eb6a78128)
on macos-homebrew-ocaml-4.14/amd64
To reproduce locally:
cd $(mktemp -d)
git clone --recursive "https://github.com/ocaml/opam-repository.git" && cd "opam-repository" && git fetch origin "refs/pull/29530/head" && git reset --hard 3af7d0a2
git fetch origin master
git merge --no-edit 3c70647a78a7fd22066fca4f17f7ca4514500663
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM macos-homebrew-ocaml-4.14
USER 1000:1000
RUN ln -f ~/local/bin/opam-dev ~/local/bin/opam
RUN opam init --reinit -ni
RUN opam option solver=builtin-0install && opam config report
ENV OPAMDOWNLOADJOBS="1"
ENV OPAMERRLOGLEN="0"
ENV OPAMPRECISETRACKING="1"
ENV CI="true"
ENV OPAM_REPO_CI="true"
RUN rm -rf opam-repository/
COPY --chown=1000:1000 . opam-repository/
RUN opam repository set-url -k local --strict default opam-repository/
RUN opam update --depexts || true
RUN opam pin add -k version -yn picos.0.3.0 0.3.0
RUN opam reinstall picos.0.3.0; \
res=$?; \
test "$res" != 31 && exit "$res"; \
export OPAMCLI=2.0; \
build_dir=$(opam var prefix)/.opam-switch/build; \
failed=$(ls "$build_dir"); \
partial_fails=""; \
for pkg in $failed; do \
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"macos-homebrew\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'picos.0.3.0' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
RUN (opam reinstall --with-test picos.0.3.0) || true
RUN opam reinstall --with-test --verbose picos.0.3.0; \
res=$?; \
test "$res" != 31 && exit "$res"; \
export OPAMCLI=2.0; \
build_dir=$(opam var prefix)/.opam-switch/build; \
failed=$(ls "$build_dir"); \
partial_fails=""; \
for pkg in $failed; do \
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"macos-homebrew\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'picos.0.3.0' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
END-OF-DOCKERFILE
docker build -f ../Dockerfile .
2026-03-10 08:59.56: Using cache hint "macos-homebrew-ocaml-4.14-picos.0.3.0-3af7d0a25910b3d20c909e559efb484eb6a78128"
2026-03-10 08:59.56: Using OBuilder spec:
((from macos-homebrew-ocaml-4.14)
(user (uid 1000) (gid 1000))
(run (shell "ln -f ~/local/bin/opam-dev ~/local/bin/opam"))
(run (network host)
(shell "opam init --reinit -ni"))
(run (shell "opam option solver=builtin-0install && opam config report"))
(env OPAMDOWNLOADJOBS 1)
(env OPAMERRLOGLEN 0)
(env OPAMPRECISETRACKING 1)
(env CI true)
(env OPAM_REPO_CI true)
(run (shell "rm -rf opam-repository/"))
(copy (src .) (dst opam-repository/))
(run (shell "opam repository set-url -k local --strict default opam-repository/"))
(run (network host)
(shell "opam update --depexts || true"))
(run (shell "opam pin add -k version -yn picos.0.3.0 0.3.0"))
(run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew)))
(network host)
(shell "opam reinstall picos.0.3.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"macos-homebrew\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'picos.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
(run (network host)
(shell "(opam reinstall --with-test picos.0.3.0) || true"))
(run (shell "opam reinstall --with-test --verbose picos.0.3.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"macos-homebrew\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'picos.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
)
2026-03-10 08:59.56: Waiting for resource in pool OCluster
2026-03-10 09:00.15: Waiting for worker…
2026-03-10 10:13.43: Got resource from pool OCluster
Building on i7-worker-01
All commits already cached
Updating files: 39% (7289/18405)
Updating files: 40% (7362/18405)
Updating files: 41% (7547/18405)
Updating files: 42% (7731/18405)
Updating files: 43% (7915/18405)
Updating files: 44% (8099/18405)
Updating files: 45% (8283/18405)
Updating files: 46% (8467/18405)
Updating files: 47% (8651/18405)
Updating files: 48% (8835/18405)
Updating files: 49% (9019/18405)
Updating files: 50% (9203/18405)
Updating files: 51% (9387/18405)
Updating files: 52% (9571/18405)
Updating files: 53% (9755/18405)
Updating files: 54% (9939/18405)
Updating files: 55% (10123/18405)
Updating files: 56% (10307/18405)
Updating files: 57% (10491/18405)
Updating files: 58% (10675/18405)
Updating files: 59% (10859/18405)
Updating files: 60% (11043/18405)
Updating files: 61% (11228/18405)
Updating files: 62% (11412/18405)
Updating files: 63% (11596/18405)
Updating files: 64% (11780/18405)
Updating files: 65% (11964/18405)
Updating files: 66% (12148/18405)
Updating files: 67% (12332/18405)
Updating files: 68% (12516/18405)
Updating files: 69% (12700/18405)
Updating files: 69% (12717/18405)
Updating files: 70% (12884/18405)
Updating files: 71% (13068/18405)
Updating files: 72% (13252/18405)
Updating files: 73% (13436/18405)
Updating files: 74% (13620/18405)
Updating files: 75% (13804/18405)
Updating files: 76% (13988/18405)
Updating files: 77% (14172/18405)
Updating files: 78% (14356/18405)
Updating files: 79% (14540/18405)
Updating files: 80% (14724/18405)
Updating files: 81% (14909/18405)
Updating files: 82% (15093/18405)
Updating files: 83% (15277/18405)
Updating files: 84% (15461/18405)
Updating files: 85% (15645/18405)
Updating files: 86% (15829/18405)
Updating files: 87% (16013/18405)
Updating files: 88% (16197/18405)
Updating files: 89% (16381/18405)
Updating files: 90% (16565/18405)
Updating files: 91% (16749/18405)
Updating files: 92% (16933/18405)
Updating files: 93% (17117/18405)
Updating files: 94% (17301/18405)
Updating files: 95% (17485/18405)
Updating files: 96% (17669/18405)
Updating files: 97% (17853/18405)
Updating files: 98% (18037/18405)
Updating files: 99% (18221/18405)
Updating files: 100% (18405/18405)
Updating files: 100% (18405/18405), done.
HEAD is now at 3c70647a78 Merge pull request #29507 from NathanReb/release-ppxlib-0-38-0-5-5-preview
Updating 3c70647a78..3af7d0a259
Fast-forward
packages/bimage-lwt/bimage-lwt.0.3.0/opam | 6 +++++-
packages/bimage-lwt/bimage-lwt.0.3.1/opam | 6 +++++-
packages/bimage-lwt/bimage-lwt.0.4.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.0.11.0/opam | 4 +++-
packages/caqti-lwt/caqti-lwt.1.0.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.1.2.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.1.3.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.1.6.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.1.7.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.1.8.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.1.9.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.2.0.1/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.2.1.1/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.2.2.4/opam | 6 +++++-
packages/fuseau-lwt/fuseau-lwt.0.1/opam | 6 +++++-
packages/lambda-term/lambda-term.1.13/opam | 6 +++++-
packages/lambda-term/lambda-term.2.0.1/opam | 6 +++++-
packages/lambda-term/lambda-term.2.0.2/opam | 6 +++++-
packages/lambda-term/lambda-term.2.0.3/opam | 6 +++++-
packages/lambda-term/lambda-term.2.0/opam | 6 +++++-
packages/lambda-term/lambda-term.3.0.0/opam | 6 +++++-
packages/lambda-term/lambda-term.3.0.1/opam | 6 +++++-
packages/lambda-term/lambda-term.3.1.0/opam | 6 +++++-
packages/lambda-term/lambda-term.3.2.0/opam | 6 +++++-
packages/lambda-term/lambda-term.3.3.0/opam | 6 +++++-
packages/lambda-term/lambda-term.3.3.1/opam | 6 +++++-
packages/lambda-term/lambda-term.3.3.2/opam | 6 +++++-
packages/lwt_domain/lwt_domain.0.1.0/opam | 6 +++++-
packages/lwt_domain/lwt_domain.0.2.0/opam | 6 +++++-
packages/lwt_domain/lwt_domain.0.3.0/opam | 6 +++++-
packages/lwt_eio/lwt_eio.0.1/opam | 6 +++++-
packages/lwt_eio/lwt_eio.0.2/opam | 6 +++++-
packages/lwt_eio/lwt_eio.0.3/opam | 6 +++++-
packages/lwt_eio/lwt_eio.0.4/opam | 6 +++++-
packages/lwt_eio/lwt_eio.0.5.1/opam | 6 +++++-
packages/lwt_eio/lwt_eio.0.5/opam | 6 +++++-
packages/lwt_glib/lwt_glib.1.0.1/opam | 6 +++++-
packages/lwt_glib/lwt_glib.1.1.0/opam | 6 +++++-
packages/lwt_glib/lwt_glib.1.1.1/opam | 6 +++++-
packages/lwt_log/lwt_log.1.1.0/opam | 6 +++++-
packages/lwt_log/lwt_log.1.1.1/opam | 6 +++++-
packages/lwt_log/lwt_log.1.1.2/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.0.0/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.0.1/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.1.0/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.2.0/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.2.1/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.2.2/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.2.3/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.2.4/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.2.0.0/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.2.0.1/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.2.0.2/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.2.0.3/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.2.1.0/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.5.8.0/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.5.8.1/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.5.9.1/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.5.9.2/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.5.9.3/opam | 6 +++++-
packages/moonpool-lwt/moonpool-lwt.0.10/opam | 6 +++++-
packages/moonpool-lwt/moonpool-lwt.0.6/opam | 6 +++++-
packages/moonpool-lwt/moonpool-lwt.0.7/opam | 6 +++++-
packages/moonpool-lwt/moonpool-lwt.0.8/opam | 6 +++++-
packages/moonpool-lwt/moonpool-lwt.0.9/opam | 6 +++++-
packages/mwt/mwt.0.1.0/opam | 6 +++++-
packages/nocrypto/nocrypto.0.5.4-1/opam | 6 +++++-
packages/nocrypto/nocrypto.0.5.4-2/opam | 6 +++++-
packages/ocluster/ocluster.0.1/opam | 4 +++-
packages/ocluster/ocluster.0.2.1/opam | 6 +++++-
packages/ocluster/ocluster.0.2/opam | 4 +++-
packages/ocluster/ocluster.0.3.0/opam | 6 +++++-
packages/picos/picos.0.3.0/opam | 6 +++++-
packages/picos/picos.0.4.0/opam | 6 +++++-
packages/picos_lwt/picos_lwt.0.5.0/opam | 6 +++++-
packages/picos_lwt/picos_lwt.0.6.0/opam | 6 +++++-
packages/tezt/tezt.2.0.0/opam | 6 +++++-
packages/tezt/tezt.3.0.0/opam | 4 +++-
packages/tezt/tezt.3.1.0/opam | 4 +++-
packages/tezt/tezt.3.1.1/opam | 4 +++-
packages/tezt/tezt.4.0.0/opam | 4 +++-
packages/tezt/tezt.4.1.0/opam | 4 +++-
packages/tezt/tezt.4.2.0/opam | 4 +++-
packages/tezt/tezt.4.3.0/opam | 4 +++-
84 files changed, 400 insertions(+), 84 deletions(-)
(from macos-homebrew-ocaml-4.14)
2026-03-10 10:13.47 ---> using "0c60f117aee57abea8364cb033d47bb1d63ff0f68e5ee97378e032498e8442af" from cache
/: (user (uid 1000) (gid 1000))
/: (run (shell "ln -f ~/local/bin/opam-dev ~/local/bin/opam"))
2026-03-10 10:13.47 ---> using "f20a31eccb94af52fa2a3ef86b723bc6460bac3d8a92b8861915540c2498d20a" from cache
/: (run (network host)
(shell "opam init --reinit -ni"))
No configuration file found, using built-in defaults.
Checking for available remotes: rsync and local, git.
- you won't be able to use mercurial repositories unless you install the hg command on your system.
- you won't be able to use darcs repositories unless you install the darcs command on your system.
This version of opam requires an update to the layout of /Users/mac1000/.opam from version 2.1 to version 2.2, which can't be reverted.
You may want to back it up before going further.
Continue? [Y/n] y
[NOTE] The 'jobs' option was reset, its value was 1 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
opam option jobs=1 --global
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] no changes from git+file:///Users/mac1000/opam-repository
2026-03-10 10:13.48 ---> using "7818e224f85c11d1d318abe9ba4e297be345388b7ed476f912b6900c6bae56aa" from cache
/: (run (shell "opam option solver=builtin-0install && opam config report"))
Set to 'builtin-0install' the field solver in global configuration
# opam config report
# opam-version 2.5.0
# self-upgrade no
# system arch=x86_64 os=macos os-distribution=homebrew os-version=15.5
# solver builtin-0install
# install-criteria -changed,-count[avoid-version,solution]
# upgrade-criteria -count[avoid-version,solution]
# jobs 11
# repositories 1 (version-controlled)
# pinned 0
# current-switch 4.14.2
# invariant ["ocaml-base-compiler" {= "4.14.2"} | "ocaml-system" {= "4.14.2"}]
# compiler-packages ocaml-base-compiler.4.14.2, ocaml-options-vanilla.1
# ocaml:native true
# ocaml:native-tools true
# ocaml:native-dynlink true
# ocaml:stubsdir /Users/mac1000/.opam/4.14.2/lib/ocaml/stublibs:/Users/mac1000/.opam/4.14.2/lib/ocaml
# ocaml:preinstalled false
# ocaml:compiler 4.14.2
2026-03-10 10:13.48 ---> using "625776f8b2f728a128171e2ba4372c97abd18632a07574a8412026e8be39dac5" from cache
/: (env OPAMDOWNLOADJOBS 1)
/: (env OPAMERRLOGLEN 0)
/: (env OPAMPRECISETRACKING 1)
/: (env CI true)
/: (env OPAM_REPO_CI true)
/: (run (shell "rm -rf opam-repository/"))
2026-03-10 10:13.48 ---> using "15fbb76bf7dee5d6e8ae583230339015a61d8d2d8397de2cfe6459f8ba421f1e" from cache
/: (copy (src .) (dst opam-repository/))
2026-03-10 10:13.50 ---> using "62df4a6736934bb6c3691030f97d3d2e01998b025470a661281ddfb72f92a1c8" from cache
/: (run (shell "opam repository set-url -k local --strict default opam-repository/"))
[default] Initialised
2026-03-10 10:13.50 ---> using "af375344c24704545d7b5b85acba18d8cca4a07dd1c3de94a089b7c4ba534bcc" from cache
/: (run (network host)
(shell "opam update --depexts || true"))
+ /usr/local/bin/brew "update"
- ==> Updating Homebrew...
- ==> Downloading https://ghcr.io/v2/homebrew/core/portable-ruby/blobs/sha256:80c194381e990a4967a1ae44b8242b688e6a17ab590865a38671137677411469
- #=#=#
0.7%
# 1.5%
# 2.4%
-
## 3.2%
## 4.1%
### 5.0%
#### 5.8%
#### 6.7%
##### 7.6%
###### 8.4%
###### 9.2%
####### 10.1%
####### 11.0%
######## 11.8%
######### 12.6%
-
######### 13.6%
########## 14.4%
########## 15.2%
########### 16.0%
############ 17.0%
############ 17.8%
############# 18.6%
############## 19.5%
############## 20.3%
############### 21.2%
############### 22.1%
-
################ 23.0%
################# 23.8%
################# 24.8%
################## 25.6%
################### 26.4%
################### 27.2%
#################### 28.2%
#################### 29.0%
##################### 29.8%
###################### 30.8%
###################### 31.6%
-
####################### 32.5%
######################## 33.4%
######################## 34.1%
######################### 35.1%
######################### 36.0%
########################## 36.9%
########################### 37.7%
########################### 38.6%
############################ 39.4%
############################# 40.3%
############################# 41.3%
############################## 42.1%
-
############################## 43.0%
############################### 43.9%
################################ 44.7%
################################ 45.6%
################################# 46.4%
################################## 47.4%
################################## 48.2%
################################### 49.0%
#################################### 50.0%
#################################### 50.8%
##################################### 51.6%
-
##################################### 52.6%
###################################### 53.4%
####################################### 54.3%
####################################### 55.2%
######################################## 56.0%
######################################## 56.9%
######################################### 57.7%
########################################## 58.7%
########################################## 59.5%
########################################### 60.5%
-
############################################ 61.3%
############################################ 62.2%
############################################# 63.0%
############################################# 63.9%
############################################## 64.7%
############################################### 65.6%
############################################### 66.4%
################################################ 67.2%
################################################# 68.2%
################################################# 69.0%
################################################## 69.9%
-
################################################## 70.7%
################################################### 71.6%
#################################################### 72.5%
#################################################### 73.2%
##################################################### 74.2%
###################################################### 75.0%
###################################################### 75.8%
####################################################### 76.7%
####################################################### 77.6%
######################################################## 78.4%
######################################################### 79.2%
-
######################################################### 80.2%
########################################################## 81.0%
########################################################## 81.8%
########################################################### 82.8%
############################################################ 83.6%
############################################################ 84.4%
############################################################# 85.2%
############################################################## 86.2%
############################################################## 87.0%
############################################################### 87.8%
############################################################### 88.6%
-
################################################################ 89.6%
################################################################# 90.3%
################################################################# 91.2%
################################################################## 92.1%
################################################################## 92.9%
################################################################### 93.9%
#################################################################### 94.6%
#################################################################### 95.5%
##################################################################### 96.4%
###################################################################### 97.2%
###################################################################### 98.1%
-
####################################################################### 98.9%
####################################################################### 99.8%
######################################################################## 100.0%
- ==> Pouring portable-ruby-3.4.8.catalina.bottle.tar.gz
- ==> Homebrew collects anonymous analytics.
- Read the analytics documentation (and how to opt-out) here:
- https://docs.brew.sh/Analytics
- No analytics have been recorded yet (nor will be during this `brew` run).
-
- ==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
- https://github.com/Homebrew/brew#donations
-
- Already up-to-date.
2026-03-10 10:13.50 ---> using "a6b5f30c5231180af1bb228cd259aa8c12463acbf36bf242b51aae5b70935330" from cache
/: (run (shell "opam pin add -k version -yn picos.0.3.0 0.3.0"))
picos is now pinned to version 0.3.0
2026-03-10 10:13.51 ---> using "598e03975b6c96aa94c869aa9e2f0720e0b76a5b052493a984f87ff362a49039" from cache
/: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew)))
(network host)
(shell "opam reinstall picos.0.3.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"macos-homebrew\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'picos.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
picos.0.3.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 17 packages
- install backoff 0.1.1 [required by picos]
- install base-bytes base [required by ocplib-endian]
- install cppo 1.8.0 [required by lwt]
- install csexp 1.5.2 [required by dune-configurator]
- install dune 3.21.1 [required by picos]
- install dune-configurator 3.21.1 [required by lwt]
- install lwt 6.1.1 [required by picos]
- install mtime 2.1.0 [required by picos]
- install multicore-magic 2.3.2 [required by picos]
- install ocamlbuild 0.16.1 [required by mtime]
- install ocamlfind 1.9.8 [required by mtime]
- install ocplib-endian 1.2 [required by lwt]
- install picos 0.3.0 (pinned)
- install psq 0.2.1 [required by picos]
- install seq base [required by psq]
- install thread-local-storage 0.1 [required by picos]
- install topkg 1.1.1 [required by mtime]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved backoff.0.1.1 (cached)
-> retrieved cppo.1.8.0 (cached)
-> retrieved csexp.1.5.2 (cached)
-> retrieved dune.3.21.1, dune-configurator.3.21.1 (cached)
-> retrieved lwt.6.1.1 (cached)
-> retrieved mtime.2.1.0 (cached)
-> retrieved multicore-magic.2.3.2 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ocplib-endian.1.2 (cached)
-> retrieved picos.0.3.0 (https://github.com/ocaml-multicore/picos/releases/download/0.3.0/picos-0.3.0.tbz)
-> retrieved psq.0.2.1 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved thread-local-storage.0.1 (https://github.com/c-cube/thread-local-storage/releases/download/v0.1/thread-local-storage-0.1.tbz)
-> retrieved topkg.1.1.1 (cached)
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed mtime.2.1.0
-> installed dune.3.21.1
-> installed csexp.1.5.2
-> installed thread-local-storage.0.1
-> installed psq.0.2.1
-> installed multicore-magic.2.3.2
-> installed cppo.1.8.0
-> installed backoff.0.1.1
-> installed ocplib-endian.1.2
-> installed dune-configurator.3.21.1
-> installed lwt.6.1.1
-> installed picos.0.3.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-10 10:13.51 ---> using "f9e38c7b7c8184d8b2e142fae5d3bffb75899852b3416e60f1f4fc931983a85a" from cache
/: (run (network host)
(shell "(opam reinstall --with-test picos.0.3.0) || true"))
The following actions will be performed:
=== recompile 1 package
- recompile picos 0.3.0 (pinned)
=== install 40 packages
- install alcotest 1.9.1 [required by picos]
- install astring 0.8.5 [required by alcotest, mdx]
- install camlp-streams 5.0.1 [required by mdx]
- install cmdliner 2.1.0 [required by dscheck, alcotest, mdx]
- install conf-npm 1 [required by picos]
- install containers 3.18 [required by dscheck]
- install domain-local-await 1.0.1 [required by multicore-bench]
- install domain_shims 0.1.0 [required by picos]
- install dscheck 0.5.0 [required by picos]
- install either 1.0.0 [required by containers]
- install fmt 0.11.0 [required by alcotest, mdx]
- install gen 1.1 [required by sedlex]
- install js_of_ocaml 5.8.2 [required by picos]
- install js_of_ocaml-compiler 5.8.2 [required by js_of_ocaml]
- install logs 0.10.0 [required by mdx]
- install mdx 2.5.1 [required by picos]
- install menhir 20260209 [required by js_of_ocaml-compiler]
- install menhirCST 20260209 [required by menhir]
- install menhirGLR 20260209 [required by menhir]
- install menhirLib 20260209 [required by js_of_ocaml-compiler]
- install menhirSdk 20260209 [required by js_of_ocaml-compiler]
- install multicore-bench 0.1.7 [required by picos]
- install ocaml-compiler-libs v0.12.4 [required by ppxlib]
- install ocaml-syntax-shims 1.0.0 [required by alcotest]
- install ocaml-version 4.0.3 [required by picos]
- install oseq 0.5.1 [required by dscheck]
- install ppx_derivers 1.2.1 [required by ppxlib]
- install ppxlib 0.35.0 [required by js_of_ocaml]
- install qcheck-core 0.91 [required by picos]
- install qcheck-multicoretests-util 0.10 [required by picos]
- install qcheck-stm 0.10 [required by picos]
- install re 1.14.0 [required by alcotest, mdx]
- install result 1.5 [required by mdx]
- install sedlex 3.7 [required by js_of_ocaml-compiler]
- install sexplib0 v0.17.0 [required by ppxlib]
- install stdlib-shims 0.3.0 [required by alcotest]
- install thread-table 1.0.0 [required by domain-local-await]
- install tsort 2.2.0 [required by dscheck]
- install uutf 1.0.4 [required by alcotest]
- install yojson 3.0.0 [required by multicore-bench]
The following system packages will first need to be installed:
node
<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
opam believes some required external dependencies are missing. opam can:
> 1. Run brew to install them (may need root/sudo access)
2. Display the recommended brew command and wait while you run it manually (e.g. in another terminal)
3. Continue anyway, and, upon success, permanently register that this external dependency is present, but not detectable
4. Abort the installation
[1/2/3/4] 1
+ /usr/local/bin/brew "install" "node"
- ==> Fetching downloads for: node
- ✔︎ Bottle Manifest node (25.8.0)
- ✔︎ Bottle Manifest fmt (12.1.0)
- ✔︎ Bottle Manifest ada-url (3.4.3)
- ✔︎ Bottle Manifest brotli (1.2.0)
- ✔︎ Bottle Manifest icu4c@78 (78.2)
- ✔︎ Bottle Manifest libnghttp2 (1.68.0)
- ✔︎ Bottle Manifest openssl@3 (3.6.1)
- ✔︎ Bottle Manifest libngtcp2 (1.21.0)
- ✔︎ Bottle Manifest libuv (1.52.1)
- ✔︎ Bottle Manifest llhttp (9.3.1)
- ✔︎ Bottle Manifest simdjson (4.3.0)
- ✔︎ Bottle Manifest readline (8.3.3)
- ✔︎ Bottle Manifest sqlite (3.51.2_1)
- ✔︎ Bottle hdrhistogram_c (0.11.9)
- ✔︎ Bottle Manifest uvwasi (0.0.23)
- ✔︎ Bottle Manifest lz4 (1.10.0)
- ✔︎ Bottle Manifest hdrhistogram_c (0.11.9)
- ✔︎ Bottle Manifest ca-certificates (2025-12-02)
- ✔︎ Bottle Manifest xz (5.8.2)
- ✔︎ Bottle Manifest zstd (1.5.7_1)
- ✔︎ Bottle llhttp (9.3.1)
- ✔︎ Bottle uvwasi (0.0.23)
- ✔︎ Bottle libnghttp3 (1.15.0)
- ✔︎ Bottle fmt (12.1.0)
- ✔︎ Bottle ca-certificates (2025-12-02)
- ✔︎ Bottle libnghttp2 (1.68.0)
- ✔︎ Bottle c-ares (1.34.6)
- ✔︎ Bottle lz4 (1.10.0)
- ✔︎ Bottle ada-url (3.4.3)
- ✔︎ Bottle libuv (1.52.1)
- ✔︎ Bottle libngtcp2 (1.21.0)
- ✔︎ Bottle brotli (1.2.0)
- ✔︎ Bottle readline (8.3.3)
- ✔︎ Bottle xz (5.8.2)
- ✔︎ Bottle zstd (1.5.7_1)
- ✔︎ Bottle simdjson (4.3.0)
- ✔︎ Bottle sqlite (3.51.2_1)
- ✔︎ Bottle Manifest c-ares (1.34.6)
- ✔︎ Bottle Manifest libnghttp3 (1.15.0)
- ✔︎ Bottle openssl@3 (3.6.1)
- ✔︎ Bottle node (25.8.0)
- ✔︎ Bottle icu4c@78 (78.2)
- ==> Installing dependencies for node: fmt, ada-url, brotli, c-ares, hdrhistogram_c, icu4c@78, libnghttp2, libnghttp3, ca-certificates, openssl@3, libngtcp2, libuv, llhttp, simdjson, readline, sqlite, uvwasi, lz4, xz and zstd
- ==> Installing node dependency: fmt
- ==> Pouring fmt--12.1.0.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/fmt/12.1.0: 29 files, 1MB
- ==> Installing node dependency: ada-url
- ==> Pouring ada-url--3.4.3.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/ada-url/3.4.3: 55 files, 1.2MB
- ==> Installing node dependency: brotli
- ==> Pouring brotli--1.2.0.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/brotli/1.2.0: 33 files, 1.8MB
- ==> Installing node dependency: c-ares
- ==> Pouring c-ares--1.34.6.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/c-ares/1.34.6: 176 files, 962.9KB
- ==> Installing node dependency: hdrhistogram_c
- ==> Pouring hdrhistogram_c--0.11.9.sonoma.bottle.1.tar.gz
- 🍺 /usr/local/Cellar/hdrhistogram_c/0.11.9: 22 files, 130.9KB
- ==> Installing node dependency: icu4c@78
- ==> Pouring icu4c@78--78.2.sonoma.bottle.1.tar.gz
- 🍺 /usr/local/Cellar/icu4c@78/78.2: 279 files, 86.7MB
- ==> Installing node dependency: libnghttp2
- ==> Pouring libnghttp2--1.68.0.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/libnghttp2/1.68.0: 14 files, 752.6KB
- ==> Installing node dependency: libnghttp3
- ==> Pouring libnghttp3--1.15.0.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/libnghttp3/1.15.0: 20 files, 564.8KB
- ==> Installing node dependency: ca-certificates
- ==> Pouring ca-certificates--2025-12-02.all.bottle.1.tar.gz
- ==> Regenerating CA certificate bundle from keychain, this may take a while...
- 🍺 /usr/local/Cellar/ca-certificates/2025-12-02: 4 files, 235.9KB
- ==> Installing node dependency: openssl@3
- ==> Pouring openssl@3--3.6.1.sequoia.bottle.tar.gz
- 🍺 /usr/local/Cellar/openssl@3/3.6.1: 7,624 files, 37.8MB
- ==> Installing node dependency: libngtcp2
- ==> Pouring libngtcp2--1.21.0.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/libngtcp2/1.21.0: 21 files, 1.2MB
- ==> Installing node dependency: libuv
- ==> Pouring libuv--1.52.1.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/libuv/1.52.1: 35 files, 1.2MB
- ==> Installing node dependency: llhttp
- ==> Pouring llhttp--9.3.1.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/llhttp/9.3.1: 13 files, 119.4KB
- ==> Installing node dependency: simdjson
- ==> Pouring simdjson--4.3.0.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/simdjson/4.3.0: 19 files, 8.0MB
- ==> Installing node dependency: readline
- ==> Pouring readline--8.3.3.sequoia.bottle.tar.gz
- 🍺 /usr/local/Cellar/readline/8.3.3: 56 files, 2.6MB
- ==> Installing node dependency: sqlite
- ==> Pouring sqlite--3.51.2_1.sequoia.bottle.tar.gz
- 🍺 /usr/local/Cellar/sqlite/3.51.2_1: 13 files, 5.2MB
- ==> Installing node dependency: uvwasi
- ==> Pouring uvwasi--0.0.23.sonoma.bottle.1.tar.gz
- 🍺 /usr/local/Cellar/uvwasi/0.0.23: 15 files, 262KB
- ==> Installing node dependency: lz4
- ==> Pouring lz4--1.10.0.sequoia.bottle.1.tar.gz
- 🍺 /usr/local/Cellar/lz4/1.10.0: 24 files, 678.2KB
- ==> Installing node dependency: xz
- ==> Pouring xz--5.8.2.sequoia.bottle.tar.gz
- 🍺 /usr/local/Cellar/xz/5.8.2: 96 files, 2.4MB
- ==> Installing node dependency: zstd
- ==> Pouring zstd--1.5.7_1.sequoia.bottle.tar.gz
- 🍺 /usr/local/Cellar/zstd/1.5.7_1: 32 files, 2.5MB
- ==> Installing node
- ==> Pouring node--25.8.0.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/node/25.8.0: 1,927 files, 79.7MB
- ==> Running `brew cleanup node`...
- Disable this behaviour by setting `HOMEBREW_NO_INSTALL_CLEANUP=1`.
- Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
- ==> Caveats
- Bash completion has been installed to:
- /usr/local/etc/bash_completion.d
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.9.1 (https://github.com/mirage/alcotest/releases/download/1.9.1/alcotest-1.9.1.tbz)
-> retrieved astring.0.8.5 (https://erratique.ch/software/astring/releases/astring-0.8.5.tbz)
-> retrieved camlp-streams.5.0.1 (https://github.com/ocaml/camlp-streams/archive/v5.0.1.tar.gz)
-> retrieved cmdliner.2.1.0 (https://erratique.ch/software/cmdliner/releases/cmdliner-2.1.0.tbz)
-> installed camlp-streams.5.0.1
-> installed conf-npm.1
-> retrieved containers.3.18 (https://github.com/c-cube/ocaml-containers/releases/download/v3.18/containers-3.18.tbz)
-> retrieved domain-local-await.1.0.1 (https://github.com/ocaml-multicore/domain-local-await/releases/download/1.0.1/domain-local-await-1.0.1.tbz)
-> retrieved domain_shims.0.1.0 (https://gitlab.com/gasche/domain-shims/-/archive/0.1.0/domain-shims-0.1.0.tar.gz)
-> retrieved dscheck.0.5.0 (https://github.com/ocaml-multicore/dscheck/releases/download/0.5.0/dscheck-0.5.0.tbz)
-> retrieved either.1.0.0 (https://github.com/mirage/either/releases/download/1.0.0/either-1.0.0.tbz)
-> retrieved fmt.0.11.0 (https://erratique.ch/software/fmt/releases/fmt-0.11.0.tbz)
-> installed domain_shims.0.1.0
-> retrieved gen.1.1 (https://github.com/c-cube/gen/archive/v1.1.tar.gz)
-> installed astring.0.8.5
-> installed either.1.0.0
-> installed gen.1.1
-> installed containers.3.18
-> retrieved js_of_ocaml.5.8.2, js_of_ocaml-compiler.5.8.2 (https://github.com/ocsigen/js_of_ocaml/releases/download/5.8.2/js_of_ocaml-5.8.2.tbz)
-> installed cmdliner.2.1.0
-> retrieved logs.0.10.0 (https://erratique.ch/software/logs/releases/logs-0.10.0.tbz)
-> retrieved mdx.2.5.1 (https://github.com/realworldocaml/mdx/releases/download/2.5.1/mdx-2.5.1.tbz)
-> installed fmt.0.11.0
-> retrieved menhir.20260209, menhirCST.20260209, menhirGLR.20260209, menhirLib.20260209, menhirSdk.20260209 (https://gitlab.inria.fr/fpottier/menhir/-/archive/20260209/archive.tar.gz)
-> retrieved multicore-bench.0.1.7 (https://github.com/ocaml-multicore/multicore-bench/releases/download/0.1.7/multicore-bench-0.1.7.tbz)
-> installed menhirCST.20260209
-> retrieved ocaml-compiler-libs.v0.12.4 (https://github.com/janestreet/ocaml-compiler-libs/releases/download/v0.12.4/ocaml-compiler-libs-v0.12.4.tbz)
-> retrieved ocaml-syntax-shims.1.0.0 (https://github.com/ocaml-ppx/ocaml-syntax-shims/releases/download/1.0.0/ocaml-syntax-shims-1.0.0.tbz)
-> retrieved ocaml-version.4.0.3 (https://github.com/ocurrent/ocaml-version/releases/download/v4.0.3/ocaml-version-4.0.3.tbz)
-> retrieved oseq.0.5.1 (https://github.com/c-cube/oseq/releases/download/v0.5.1/oseq-0.5.1.tbz)
-> retrieved ppx_derivers.1.2.1 (https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz)
-> installed menhirGLR.20260209
-> installed menhirLib.20260209
-> installed ppx_derivers.1.2.1
-> installed ocaml-version.4.0.3
-> installed menhirSdk.20260209
-> installed oseq.0.5.1
-> retrieved ppxlib.0.35.0 (https://github.com/ocaml-ppx/ppxlib/releases/download/0.35.0/ppxlib-0.35.0.tbz)
-> installed ocaml-syntax-shims.1.0.0
-> installed ocaml-compiler-libs.v0.12.4
-> retrieved qcheck-core.0.91 (https://github.com/c-cube/qcheck/archive/v0.91.tar.gz)
-> retrieved qcheck-multicoretests-util.0.10, qcheck-stm.0.10 (https://github.com/ocaml-multicore/multicoretests/archive/refs/tags/0.10.tar.gz)
-> retrieved re.1.14.0 (https://github.com/ocaml/ocaml-re/archive/refs/tags/1.14.0.tar.gz)
-> retrieved result.1.5 (https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz)
-> retrieved sedlex.3.7 (https://github.com/ocaml-community/sedlex/archive/refs/tags/v3.7.tar.gz)
-> installed result.1.5
-> retrieved sexplib0.v0.17.0 (https://github.com/janestreet/sexplib0/archive/refs/tags/v0.17.0.tar.gz)
-> retrieved stdlib-shims.0.3.0 (https://github.com/ocaml/stdlib-shims/releases/download/0.3.0/stdlib-shims-0.3.0.tbz)
-> retrieved thread-table.1.0.0 (https://github.com/ocaml-multicore/thread-table/releases/download/1.0.0/thread-table-1.0.0.tbz)
-> retrieved tsort.2.2.0 (https://github.com/dmbaturin/ocaml-tsort/archive/refs/tags/2.2.0.tar.gz)
-> retrieved uutf.1.0.4 (https://erratique.ch/software/uutf/releases/uutf-1.0.4.tbz)
-> retrieved yojson.3.0.0 (https://github.com/ocaml-community/yojson/releases/download/3.0.0/yojson-3.0.0.tbz)
-> installed stdlib-shims.0.3.0
-> installed qcheck-core.0.91
-> installed thread-table.1.0.0
-> installed tsort.2.2.0
-> installed dscheck.0.5.0
-> installed sexplib0.v0.17.0
-> installed qcheck-multicoretests-util.0.10
-> installed domain-local-await.1.0.1
-> installed re.1.14.0
-> installed uutf.1.0.4
-> installed qcheck-stm.0.10
-> removed picos.0.3.0
-> installed yojson.3.0.0
-> installed multicore-bench.0.1.7
-> installed alcotest.1.9.1
-> installed menhir.20260209
-> installed ppxlib.0.35.0
-> installed sedlex.3.7
-> installed js_of_ocaml-compiler.5.8.2
-> installed logs.0.10.0
-> installed mdx.2.5.1
-> installed js_of_ocaml.5.8.2
[ERROR] The compilation of picos.0.3.0 failed at "dune build -p picos -j 11 @install @runtest".
#=== ERROR while compiling picos.0.3.0 ========================================#
# context 2.5.0 | macos/x86_64 | ocaml-base-compiler.4.14.2 | pinned(https://github.com/ocaml-multicore/picos/releases/download/0.3.0/picos-0.3.0.tbz)
# path ~/.opam/4.14.2/.opam-switch/build/picos.0.3.0
# command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p picos -j 11 @install @runtest
# exit-code 1
# env-file ~/.opam/log/picos-42329-02b93b.env
# output-file ~/.opam/log/picos-42329-02b93b.out
### output ###
# (cd _build/default/test && ./test_mpsc_queue.exe)
#
random seed: 349782456
# generated error fail pass / total time test name
#
[ ] 0 0 0 0 / 1000 0.0s Picos_mpsc_queue sequential
[✓] 1000 0 0 1000 / 1000 0.0s Picos_mpsc_queue sequential
# ================================================================================
# success (ran 1 tests)
# (cd _build/default/test && /usr/local/bin/node test_js_of_ocaml.bc.js)
# Hello, from js_of_ocaml with Picos!
# (cd _build/default/test && ./test_server_and_client.exe)
# Using non-blocking sockets and threads on OCaml 4:
# Recursive server running
# Server and Client test: SKIPPED
# (cd _build/default/test && ./test_stdio.exe)
# Testing `Picos_stdio'.
# This run has ID `DPFD5JW6'.
#
# [OK] Unix 0 system.
#
# Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos_stdio'.
# Test Successful in 0.039s. 1 test run.
# (cd _build/default/test && ./test_picos.exe)
# Testing `Picos'.
# This run has ID `X94E9IRO'.
#
# [OK] Trigger basics 0
# [OK] Computation basics 0
# [OK] Fiber.FLS basics 0
# [OK] Thread cancelation 0
# [OK] Cancel after 0
# [OK] Computation signals in order 0
#
# Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos'.
# Test Successful in 0.048s. 6 tests run.
# (cd _build/default/test && ./test_sync.exe)
# Testing `Picos_sync'.
# This run has ID `YIMKLEN5'.
#
# [OK] Mutex and Condition 0 basics.
# [OK] Mutex and Condition 1 errors.
# [OK] Mutex and Condition 2 cancelation.
# [OK] Lazy 0 basics.
# [OK] Lazy 1 cancelation.
#
# Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos_sync'.
# Test Successful in 1.776s. 5 tests run.
# (cd _build/default/test && ./test_stdio_with_lwt.exe)
# Testing `Picos_stdio_with_lwt'.
# This run has ID `TLVLNTP7'.
#
# [OK] Unix 0 system.
#
# Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos_stdio_with_lwt'.
# Test Successful in 2.204s. 1 test run.
# (cd _build/default/test && ./test_select.exe)
# Testing `Picos_select'.
# This run has ID `KLAEK4UC'.
#
# [OK] Intr 0
#
# Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos_select'.
# Test Successful in 3.339s. 1 test run.
# File "test/test_structured.md", line 1, characters 0-0:
# /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/test_structured.md _build/default/test/.mdx/test_structured.md.corrected
# diff --git a/_build/default/test/test_structured.md b/_build/default/test/.mdx/test_structured.md.corrected
# index e12ceb9..71ea0e7 100644
# --- a/_build/default/test/test_structured.md
# +++ b/_build/default/test/.mdx/test_structured.md.corrected
# @@ -152,5 +152,5 @@ Woke up
# (fun () -> Control.sleep ~seconds:0.1; winner := 1 );
# ];
# !winner
# -- : int = 1
# +- : int = 2
# ```
# (cd _build/default/bench && ./main.exe -brief)
# Foundation Mpsc_queue:
# messages over time/1 nb adder, 1 nb taker:
# 40.10 M/s
# messages over time/2 nb adders, 1 nb taker:
# 41.57 M/s
# messages over time/4 nb adders, 1 nb taker:
# 33.11 M/s
# messages over time/one domain:
# 18.73 M/s
# time per message/1 nb adder, 1 nb taker:
# 49.88 ns
# time per message/2 nb adders, 1 nb taker:
# 72.21 ns
# time per message/4 nb adders, 1 nb taker:
# 151.00 ns
# time per message/one domain:
# 53.40 ns
# Picos Cancel_after with Picos_select:
# async round-trips over time/1 worker:
# 0.47 M/s
# round-trips over time/1 worker:
# 0.04 M/s
# time per async round-trip/1 worker:
# 2142.66 ns
# time per round-trip/1 worker:
# 27795.02 ns
# Picos Computation:
# attach detach pairs over time/1 worker:
# 6.84 M/s
# attach detach pairs over time/2 workers:
# 7.03 M/s
# attach detach pairs over time/4 workers:
# 6.88 M/s
# attach detach pairs over time/trivial:
# 26.72 M/s
# time per attach detach pair/1 worker:
# 146.23 ns
# time per attach detach pair/2 workers:
# 284.41 ns
# time per attach detach pair/4 workers:
# 581.48 ns
# time per attach detach pair/trivial:
# 37.42 ns
# Picos Current:
# ops over time/1 worker:
# 99.26 M/s
# ops over time/2 workers:
# 97.51 M/s
# ops over time/4 workers:
# 96.56 M/s
# time per op/1 worker:
# 10.07 ns
# time per op/2 workers:
# 20.51 ns
# time per op/4 workers:
# 41.43 ns
# Picos DLS:
# gets over time/1 worker:
# 289.61 M/s
# sets over time/1 worker:
# 109.33 M/s
# time per get/1 worker:
# 3.45 ns
# time per set/1 worker:
# 9.15 ns
# Picos FLS (excluding Current):
# gets over time/1 worker:
# 271.87 M/s
# sets over time/1 worker:
# 155.26 M/s
# time per get/1 worker:
# 3.68 ns
# time per set/1 worker:
# 6.44 ns
# Picos Mutex:
# locked yields over time/1 fiber:
# 0.06 M/s
# locked yields over time/2 fibers:
# 0.05 M/s
# locked yields over time/4 fibers:
# 0.05 M/s
# locked yields over time/8 fibers:
# 0.06 M/s
# time per locked yield/1 fiber:
# 16687.35 ns
# time per locked yield/2 fibers:
# 18570.08 ns
# time per locked yield/4 fibers:
# 19047.78 ns
# time per locked yield/8 fibers:
# 18157.82 ns
# Picos Spawn:
# spawns over time/1 at a time:
# 0.03 M/s
# spawns over time/2 at a time:
# 0.02 M/s
# spawns over time/4 at a time:
# 0.03 M/s
# spawns over time/8 at a time:
# 0.02 M/s
# time per spawn/1 at a time:
# 39750.45 ns
# time per spawn/2 at a time:
# 51037.95 ns
# time per spawn/4 at a time:
# 38694.38 ns
# time per spawn/8 at a time:
# 42774.68 ns
# Picos TLS:
# gets over time/1 worker:
# 145.35 M/s
# sets over time/1 worker:
# 89.91 M/s
# time per get/1 worker:
# 6.88 ns
# time per set/1 worker:
# 11.12 ns
# Picos Yield:
# time per yield/100 fibers:
# 8887.37 ns
# time per yield/10 fibers:
# 8620.71 ns
# time per yield/1 fiber:
# 14715.58 ns
# yields over time/100 fibers:
# 0.11 M/s
# yields over time/10 fibers:
# 0.12 M/s
# yields over time/1 fiber:
# 0.07 M/s
# Picos_htbl:
# operations over time/1 worker, 10% reads:
# 12.80 M/s
# operations over time/1 worker, 50% reads:
# 13.22 M/s
# operations over time/1 worker, 90% reads:
# 13.88 M/s
# operations over time/2 workers, 10% reads:
# 10.77 M/s
# operations over time/2 workers, 50% reads:
# 13.55 M/s
# operations over time/2 workers, 90% reads:
# 13.43 M/s
# operations over time/4 workers, 10% reads:
# 12.03 M/s
# operations over time/4 workers, 50% reads:
# 11.35 M/s
# operations over time/4 workers, 90% reads:
# 16.91 M/s
# operations over time/8 workers, 10% reads:
# 12.69 M/s
# operations over time/8 workers, 50% reads:
# 11.39 M/s
# operations over time/8 workers, 90% reads:
# 16.41 M/s
# time per operation/1 worker, 10% reads:
# 78.10 ns
# time per operation/1 worker, 50% reads:
# 75.63 ns
# time per operation/1 worker, 90% reads:
# 72.06 ns
# time per operation/2 workers, 10% reads:
# 185.66 ns
# time per operation/2 workers, 50% reads:
# 147.56 ns
# time per operation/2 workers, 90% reads:
# 148.91 ns
# time per operation/4 workers, 10% reads:
# 332.60 ns
# time per operation/4 workers, 50% reads:
# 352.30 ns
# time per operation/4 workers, 90% reads:
# 236.56 ns
# time per operation/8 workers, 10% reads:
# 630.60 ns
# time per operation/8 workers, 50% reads:
# 702.19 ns
# time per operation/8 workers, 90% reads:
# 487.55 ns
# Picos_stdio:
# blocking reads over time/1 worker:
# 0.01 M/s
# non-blocking reads over time/1 worker:
# 0.22 M/s
# time per blocking read/1 worker:
# 72636.49 ns
# time per non-blocking read/1 worker:
# 4467.03 ns
# Ref with Picos_sync.Mutex:
# ops over time/cas int (checked):
# 17.57 M/s
# ops over time/cas int (unchecked):
# 25.98 M/s
# ops over time/get (checked):
# 20.15 M/s
# ops over time/get (unchecked):
# 30.52 M/s
# ops over time/incr (checked):
# 20.13 M/s
# ops over time/incr (unchecked):
# 30.37 M/s
# ops over time/push & pop (checked):
# 16.22 M/s
# ops over time/push & pop (unchecked):
# 25.79 M/s
# ops over time/swap (checked):
# 18.26 M/s
# ops over time/swap (unchecked):
# 26.06 M/s
# ops over time/xchg int (checked):
# 17.97 M/s
# ops over time/xchg int (unchecked):
# 26.01 M/s
# time per op/cas int (checked):
# 56.92 ns
# time per op/cas int (unchecked):
# 38.50 ns
# time per op/get (checked):
# 49.63 ns
# time per op/get (unchecked):
# 32.77 ns
# time per op/incr (checked):
# 49.68 ns
# time per op/incr (unchecked):
# 32.93 ns
# time per op/push & pop (checked):
# 61.67 ns
# time per op/push & pop (unchecked):
# 38.77 ns
# time per op/swap (checked):
# 54.76 ns
# time per op/swap (unchecked):
# 38.37 ns
# time per op/xchg int (checked):
# 55.66 ns
# time per op/xchg int (unchecked):
# 38.45 ns
# (cd _build/default/test && ./test_htbl.exe)
#
random seed: 511683604
# generated error fail pass / total time test name
#
[ ] 0 0 0 0 / 1000 0.0s Picos_htbl sequential
[✓] 1000 0 0 1000 / 1000 0.0s Picos_htbl sequential
#
[ ] 0 0 0 0 / 1000 0.0s Picos_htbl concurrent
[ ] 14 0 0 14 / 1000 0.2s Picos_htbl concurrent
[ ] 21 0 0 21 / 1000 0.4s Picos_htbl concurrent
[ ] 34 0 0 34 / 1000 0.5s Picos_htbl concurrent
[ ] 41 0 0 41 / 1000 0.6s Picos_htbl concurrent
[ ] 51 0 0 51 / 1000 0.9s Picos_htbl concurrent
[ ] 54 0 0 54 / 1000 1.1s Picos_htbl concurrent
[ ] 57 0 0 57 / 1000 1.4s Picos_htbl concurrent
[ ] 61 0 0 61 / 1000 1.6s Picos_htbl concurrent
[ ] 73 0 0 73 / 1000 1.7s Picos_htbl concurrent
[ ] 76 0 0 76 / 1000 1.9s Picos_htbl concurrent
[ ] 79 0 0 79 / 1000 2.1s Picos_htbl concurrent
[ ] 85 0 0 85 / 1000 2.3s Picos_htbl concurrent
[ ] 87 0 0 87 / 1000 2.5s Picos_htbl concurrent
[ ] 94 0 0 94 / 1000 2.7s Picos_htbl concurrent
[ ] 101 0 0 101 / 1000 2.9s Picos_htbl concurrent
[ ] 114 0 0 114 / 1000 3.0s Picos_htbl concurrent
[ ] 121 0 0 121 / 1000 3.1s Picos_htbl concurrent
[ ] 136 0 0 136 / 1000 3.2s Picos_htbl concurrent
[ ] 148 0 0 148 / 1000 3.3s Picos_htbl concurrent
[ ] 156 0 0 156 / 1000 3.5s Picos_htbl concurrent
[ ] 174 0 0 174 / 1000 3.6s Picos_htbl concurrent
[ ] 183 0 0 183 / 1000 3.8s Picos_htbl concurrent
[ ] 199 0 0 199 / 1000 4.0s Picos_htbl concurrent
[ ] 200 0 0 200 / 1000 4.1s Picos_htbl concurrent
[ ] 212 0 0 212 / 1000 4.3s Picos_htbl concurrent
[ ] 229 0 0 229 / 1000 4.4s Picos_htbl concurrent
[ ] 238 0 0 238 / 1000 4.5s Picos_htbl concurrent
[ ] 240 0 0 240 / 1000 4.7s Picos_htbl concurrent
[ ] 253 0 0 253 / 1000 4.9s Picos_htbl concurrent
[ ] 269 0 0 269 / 1000 5.1s Picos_htbl concurrent
[ ] 276 0 0 276 / 1000 5.3s Picos_htbl concurrent
[ ] 281 0 0 281 / 1000 5.4s Picos_htbl concurrent
[ ] 288 0 0 288 / 1000 5.5s Picos_htbl concurrent
[ ] 301 0 0 301 / 1000 5.6s Picos_htbl concurrent
[ ] 322 0 0 322 / 1000 5.9s Picos_htbl concurrent
[ ] 347 0 0 347 / 1000 6.0s Picos_htbl concurrent
[ ] 358 0 0 358 / 1000 6.2s Picos_htbl concurrent
[ ] 365 0 0 365 / 1000 6.4s Picos_htbl concurrent
[ ] 380 0 0 380 / 1000 6.6s Picos_htbl concurrent
[ ] 394 0 0 394 / 1000 6.8s Picos_htbl concurrent
[ ] 398 0 0 398 / 1000 6.9s Picos_htbl concurrent
[ ] 404 0 0 404 / 1000 7.1s Picos_htbl concurrent
[ ] 422 0 0 422 / 1000 7.2s Picos_htbl concurrent
[ ] 433 0 0 433 / 1000 7.3s Picos_htbl concurrent
[ ] 444 0 0 444 / 1000 7.4s Picos_htbl concurrent
[ ] 450 0 0 450 / 1000 7.6s Picos_htbl concurrent
[ ] 463 0 0 463 / 1000 7.8s Picos_htbl concurrent
[ ] 482 0 0 482 / 1000 7.9s Picos_htbl concurrent
[ ] 504 0 0 504 / 1000 8.0s Picos_htbl concurrent
[ ] 506 0 0 506 / 1000 8.2s Picos_htbl concurrent
[ ] 515 0 0 515 / 1000 8.3s Picos_htbl concurrent
[ ] 523 0 0 523 / 1000 8.4s Picos_htbl concurrent
[ ] 534 0 0 534 / 1000 8.6s Picos_htbl concurrent
[ ] 536 0 0 536 / 1000 8.7s Picos_htbl concurrent
[ ] 556 0 0 556 / 1000 8.9s Picos_htbl concurrent
[ ] 568 0 0 568 / 1000 9.1s Picos_htbl concurrent
[ ] 582 0 0 582 / 1000 9.2s Picos_htbl concurrent
[ ] 585 0 0 585 / 1000 9.4s Picos_htbl concurrent
[ ] 593 0 0 593 / 1000 9.5s Picos_htbl concurrent
[ ] 602 0 0 602 / 1000 9.6s Picos_htbl concurrent
[ ] 616 0 0 616 / 1000 9.7s Picos_htbl concurrent
[ ] 617 0 0 617 / 1000 9.9s Picos_htbl concurrent
[ ] 618 0 0 618 / 1000 10.4s Picos_htbl concurrent
[ ] 619 0 0 619 / 1000 10.5s Picos_htbl concurrent
[ ] 624 0 0 624 / 1000 10.6s Picos_htbl concurrent
[ ] 639 0 0 639 / 1000 10.7s Picos_htbl concurrent
[ ] 651 0 0 651 / 1000 10.9s Picos_htbl concurrent
[ ] 659 0 0 659 / 1000 11.0s Picos_htbl concurrent
[ ] 669 0 0 669 / 1000 11.1s Picos_htbl concurrent
[ ] 681 0 0 681 / 1000 11.2s Picos_htbl concurrent
[ ] 690 0 0 690 / 1000 11.3s Picos_htbl concurrent
[ ] 693 0 0 693 / 1000 11.5s Picos_htbl concurrent
[ ] 724 0 0 724 / 1000 11.6s Picos_htbl concurrent
[ ] 741 0 0 741 / 1000 11.8s Picos_htbl concurrent
[ ] 759 0 0 759 / 1000 12.0s Picos_htbl concurrent
[ ] 769 0 0 769 / 1000 12.1s Picos_htbl concurrent
[ ] 773 0 0 773 / 1000 12.3s Picos_htbl concurrent
[ ] 785 0 0 785 / 1000 12.4s Picos_htbl concurrent
[ ] 793 0 0 793 / 1000 12.6s Picos_htbl concurrent
[ ] 800 0 0 800 / 1000 12.8s Picos_htbl concurrent
[ ] 802 0 0 802 / 1000 13.0s Picos_htbl concurrent
[ ] 823 0 0 823 / 1000 13.2s Picos_htbl concurrent
[ ] 837 0 0 837 / 1000 13.3s Picos_htbl concurrent
[ ] 841 0 0 841 / 1000 13.5s Picos_htbl concurrent
[ ] 845 0 0 845 / 1000 13.8s Picos_htbl concurrent
[ ] 863 0 0 863 / 1000 14.0s Picos_htbl concurrent
[ ] 869 0 0 869 / 1000 14.1s Picos_htbl concurrent
[ ] 875 0 0 875 / 1000 14.2s Picos_htbl concurrent
[ ] 882 0 0 882 / 1000 14.4s Picos_htbl concurrent
[ ] 889 0 0 889 / 1000 14.5s Picos_htbl concurrent
[ ] 896 0 0 896 / 1000 14.6s Picos_htbl concurrent
[ ] 908 0 0 908 / 1000 14.7s Picos_htbl concurrent
[ ] 916 0 0 916 / 1000 14.9s Picos_htbl concurrent
[ ] 921 0 0 921 / 1000 15.1s Picos_htbl concurrent
[ ] 940 0 0 940 / 1000 15.3s Picos_htbl concurrent
[ ] 943 0 0 943 / 1000 15.4s Picos_htbl concurrent
[ ] 956 0 0 956 / 1000 15.5s Picos_htbl concurrent
[ ] 964 0 0 964 / 1000 15.7s Picos_htbl concurrent
[ ] 975 0 0 975 / 1000 15.8s Picos_htbl concurrent
[ ] 982 0 0 982 / 1000 15.9s Picos_htbl concurrent
[ ] 995 0 0 995 / 1000 16.0s Picos_htbl concurrent
[✓] 1000 0 0 1000 / 1000 16.1s Picos_htbl concurrent
# ================================================================================
# success (ran 2 tests)
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build picos 0.3.0
+-
+- The following changes have been performed
| - remove picos 0.3.0
| - install alcotest 1.9.1
| - install astring 0.8.5
| - install camlp-streams 5.0.1
| - install cmdliner 2.1.0
| - install conf-npm 1
| - install containers 3.18
| - install domain-local-await 1.0.1
| - install domain_shims 0.1.0
| - install dscheck 0.5.0
| - install either 1.0.0
| - install fmt 0.11.0
| - install gen 1.1
| - install js_of_ocaml 5.8.2
| - install js_of_ocaml-compiler 5.8.2
| - install logs 0.10.0
| - install mdx 2.5.1
| - install menhir 20260209
| - install menhirCST 20260209
| - install menhirGLR 20260209
| - install menhirLib 20260209
| - install menhirSdk 20260209
| - install multicore-bench 0.1.7
| - install ocaml-compiler-libs v0.12.4
| - install ocaml-syntax-shims 1.0.0
| - install ocaml-version 4.0.3
| - install oseq 0.5.1
| - install ppx_derivers 1.2.1
| - install ppxlib 0.35.0
| - install qcheck-core 0.91
| - install qcheck-multicoretests-util 0.10
| - install qcheck-stm 0.10
| - install re 1.14.0
| - install result 1.5
| - install sedlex 3.7
| - install sexplib0 v0.17.0
| - install stdlib-shims 0.3.0
| - install thread-table 1.0.0
| - install tsort 2.2.0
| - install uutf 1.0.4
| - install yojson 3.0.0
+-
# To update the current shell environment, run: eval $(opam env)
The former state can be restored with:
/usr/local/bin/opam switch import "/Users/mac1000/.opam/4.14.2/.opam-switch/backup/state-20260310101352.export"
Or you can retry to install your package selection with:
/usr/local/bin/opam install --restore
2026-03-10 10:18.09 ---> saved as "168959d12296ae378f6987d20b111ff0c37ae3979c39bd9559cc0a7b14a83945"
/: (run (shell "opam reinstall --with-test --verbose picos.0.3.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"macos-homebrew\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'picos.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
picos.0.3.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 1 package
- install picos 0.3.0 (pinned)
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing 2/3: [picos: dune build]
+ /Users/mac1000/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "picos" "-j" "11" "@install" "@runtest" (CWD=/Users/mac1000/.opam/4.14.2/.opam-switch/build/picos.0.3.0)
- (cd _build/default/test && ./test_mpsc_queue.exe)
-
random seed: 419176753
- generated error fail pass / total time test name
-
[ ] 0 0 0 0 / 1000 0.0s Picos_mpsc_queue sequential
[✓] 1000 0 0 1000 / 1000 0.0s Picos_mpsc_queue sequential
- ================================================================================
- success (ran 1 tests)
- (cd _build/default/test && ./test_server_and_client.exe)
- Using non-blocking sockets and threads on OCaml 4:
- Recursive server running
- Server and Client test: SKIPPED
- (cd _build/default/test && /usr/local/bin/node test_js_of_ocaml.bc.js)
- Hello, from js_of_ocaml with Picos!
- (cd _build/default/test && ./test_stdio.exe)
- Testing `Picos_stdio'.
- This run has ID `NF0HT0LU'.
-
- [OK] Unix 0 system.
-
- Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos_stdio'.
- Test Successful in 0.023s. 1 test run.
- (cd _build/default/test && ./test_picos.exe)
- Testing `Picos'.
- This run has ID `EVXN4ICQ'.
-
- [OK] Trigger basics 0
- [OK] Computation basics 0
- [OK] Fiber.FLS basics 0
- [OK] Thread cancelation 0
- [OK] Cancel after 0
- [OK] Computation signals in order 0
-
- Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos'.
- Test Successful in 0.090s. 6 tests run.
- (cd _build/default/test && ./test_sync.exe)
- Testing `Picos_sync'.
- This run has ID `WGFVEUSB'.
-
- [OK] Mutex and Condition 0 basics.
- [OK] Mutex and Condition 1 errors.
- [OK] Mutex and Condition 2 cancelation.
- [OK] Lazy 0 basics.
- [OK] Lazy 1 cancelation.
-
- Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos_sync'.
- Test Successful in 0.919s. 5 tests run.
- (cd _build/default/test && ./test_select.exe)
- Testing `Picos_select'.
- This run has ID `XIWAMTB1'.
-
- [OK] Intr 0
-
- Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos_select'.
- Test Successful in 1.949s. 1 test run.
- (cd _build/default/test && ./test_stdio_with_lwt.exe)
- Testing `Picos_stdio_with_lwt'.
- This run has ID `L3ROOURT'.
-
- [OK] Unix 0 system.
-
- Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos_stdio_with_lwt'.
- Test Successful in 2.158s. 1 test run.
- File "test/test_structured.md", line 1, characters 0-0:
- /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/test_structured.md _build/default/test/.mdx/test_structured.md.corrected
- diff --git a/_build/default/test/test_structured.md b/_build/default/test/.mdx/test_structured.md.corrected
- index e12ceb9..71ea0e7 100644
- --- a/_build/default/test/test_structured.md
- +++ b/_build/default/test/.mdx/test_structured.md.corrected
- @@ -152,5 +152,5 @@ Woke up
- (fun () -> Control.sleep ~seconds:0.1; winner := 1 );
- ];
- !winner
- -- : int = 1
- +- : int = 2
- ```
- (cd _build/default/bench && ./main.exe -brief)
- Foundation Mpsc_queue:
- messages over time/1 nb adder, 1 nb taker:
- 77.11 M/s
- messages over time/2 nb adders, 1 nb taker:
- 85.85 M/s
- messages over time/4 nb adders, 1 nb taker:
- 80.65 M/s
- messages over time/one domain:
- 33.86 M/s
- time per message/1 nb adder, 1 nb taker:
- 25.94 ns
- time per message/2 nb adders, 1 nb taker:
- 34.94 ns
- time per message/4 nb adders, 1 nb taker:
- 61.99 ns
- time per message/one domain:
- 29.53 ns
- Picos Cancel_after with Picos_select:
- async round-trips over time/1 worker:
- 0.64 M/s
- round-trips over time/1 worker:
- 0.05 M/s
- time per async round-trip/1 worker:
- 1561.84 ns
- time per round-trip/1 worker:
- 20287.29 ns
- Picos Computation:
- attach detach pairs over time/1 worker:
- 9.75 M/s
- attach detach pairs over time/2 workers:
- 9.74 M/s
- attach detach pairs over time/4 workers:
- 9.84 M/s
- attach detach pairs over time/trivial:
- 37.59 M/s
- time per attach detach pair/1 worker:
- 102.53 ns
- time per attach detach pair/2 workers:
- 205.32 ns
- time per attach detach pair/4 workers:
- 406.61 ns
- time per attach detach pair/trivial:
- 26.60 ns
- Picos Current:
- ops over time/1 worker:
- 139.81 M/s
- ops over time/2 workers:
- 137.37 M/s
- ops over time/4 workers:
- 136.12 M/s
- time per op/1 worker:
- 7.15 ns
- time per op/2 workers:
- 14.56 ns
- time per op/4 workers:
- 29.39 ns
- Picos DLS:
- gets over time/1 worker:
- 408.16 M/s
- sets over time/1 worker:
- 154.14 M/s
- time per get/1 worker:
- 2.45 ns
- time per set/1 worker:
- 6.49 ns
- Picos FLS (excluding Current):
- gets over time/1 worker:
- 383.15 M/s
- sets over time/1 worker:
- 219.03 M/s
- time per get/1 worker:
- 2.61 ns
- time per set/1 worker:
- 4.57 ns
- Picos Mutex:
- locked yields over time/1 fiber:
- 0.10 M/s
- locked yields over time/2 fibers:
- 0.08 M/s
- locked yields over time/4 fibers:
- 0.07 M/s
- locked yields over time/8 fibers:
- 0.07 M/s
- time per locked yield/1 fiber:
- 9655.75 ns
- time per locked yield/2 fibers:
- 13085.67 ns
- time per locked yield/4 fibers:
- 13591.01 ns
- time per locked yield/8 fibers:
- 13464.56 ns
- Picos Spawn:
- spawns over time/1 at a time:
- 0.03 M/s
- spawns over time/2 at a time:
- 0.03 M/s
- spawns over time/4 at a time:
- 0.03 M/s
- spawns over time/8 at a time:
- 0.03 M/s
- time per spawn/1 at a time:
- 31315.15 ns
- time per spawn/2 at a time:
- 29220.40 ns
- time per spawn/4 at a time:
- 30535.01 ns
- time per spawn/8 at a time:
- 32020.92 ns
- Picos TLS:
- gets over time/1 worker:
- 205.19 M/s
- sets over time/1 worker:
- 128.25 M/s
- time per get/1 worker:
- 4.87 ns
- time per set/1 worker:
- 7.80 ns
- Picos Yield:
- time per yield/100 fibers:
- 5941.89 ns
- time per yield/10 fibers:
- 5831.40 ns
- time per yield/1 fiber:
- 10085.34 ns
- yields over time/100 fibers:
- 0.17 M/s
- yields over time/10 fibers:
- 0.17 M/s
- yields over time/1 fiber:
- 0.10 M/s
- Picos_htbl:
- operations over time/1 worker, 10% reads:
- 14.70 M/s
- operations over time/1 worker, 50% reads:
- 20.29 M/s
- operations over time/1 worker, 90% reads:
- 24.01 M/s
- operations over time/2 workers, 10% reads:
- 15.97 M/s
- operations over time/2 workers, 50% reads:
- 20.38 M/s
- operations over time/2 workers, 90% reads:
- 22.41 M/s
- operations over time/4 workers, 10% reads:
- 14.53 M/s
- operations over time/4 workers, 50% reads:
- 20.16 M/s
- operations over time/4 workers, 90% reads:
- 23.94 M/s
- operations over time/8 workers, 10% reads:
- 14.81 M/s
- operations over time/8 workers, 50% reads:
- 19.98 M/s
- operations over time/8 workers, 90% reads:
- 24.14 M/s
- time per operation/1 worker, 10% reads:
- 68.04 ns
- time per operation/1 worker, 50% reads:
- 49.29 ns
- time per operation/1 worker, 90% reads:
- 41.65 ns
- time per operation/2 workers, 10% reads:
- 125.25 ns
- time per operation/2 workers, 50% reads:
- 98.15 ns
- time per operation/2 workers, 90% reads:
- 89.26 ns
- time per operation/4 workers, 10% reads:
- 275.36 ns
- time per operation/4 workers, 50% reads:
- 198.36 ns
- time per operation/4 workers, 90% reads:
- 167.08 ns
- time per operation/8 workers, 10% reads:
- 540.27 ns
- time per operation/8 workers, 50% reads:
- 400.48 ns
- time per operation/8 workers, 90% reads:
- 331.43 ns
- Picos_stdio:
- blocking reads over time/1 worker:
- 0.02 M/s
- non-blocking reads over time/1 worker:
- 0.33 M/s
- time per blocking read/1 worker:
- 55691.27 ns
- time per non-blocking read/1 worker:
- 3013.55 ns
- Ref with Picos_sync.Mutex:
- ops over time/cas int (checked):
- 18.29 M/s
- ops over time/cas int (unchecked):
- 28.14 M/s
- ops over time/get (checked):
- 22.76 M/s
- ops over time/get (unchecked):
- 34.58 M/s
- ops over time/incr (checked):
- 22.11 M/s
- ops over time/incr (unchecked):
- 29.10 M/s
- ops over time/push & pop (checked):
- 16.64 M/s
- ops over time/push & pop (unchecked):
- 24.73 M/s
- ops over time/swap (checked):
- 22.76 M/s
- ops over time/swap (unchecked):
- 23.91 M/s
- ops over time/xchg int (checked):
- 20.94 M/s
- ops over time/xchg int (unchecked):
- 28.62 M/s
- time per op/cas int (checked):
- 54.67 ns
- time per op/cas int (unchecked):
- 35.53 ns
- time per op/get (checked):
- 43.94 ns
- time per op/get (unchecked):
- 28.92 ns
- time per op/incr (checked):
- 45.24 ns
- time per op/incr (unchecked):
- 34.37 ns
- time per op/push & pop (checked):
- 60.11 ns
- time per op/push & pop (unchecked):
- 40.44 ns
- time per op/swap (checked):
- 43.93 ns
- time per op/swap (unchecked):
- 41.82 ns
- time per op/xchg int (checked):
- 47.75 ns
- time per op/xchg int (unchecked):
- 34.94 ns
- (cd _build/default/test && ./test_htbl.exe)
-
random seed: 245853546
- generated error fail pass / total time test name
-
[ ] 0 0 0 0 / 1000 0.0s Picos_htbl sequential
[✓] 1000 0 0 1000 / 1000 0.0s Picos_htbl sequential
-
[ ] 0 0 0 0 / 1000 0.0s Picos_htbl concurrent
[ ] 17 0 0 17 / 1000 0.1s Picos_htbl concurrent
[ ] 34 0 0 34 / 1000 0.3s Picos_htbl concurrent
[ ] 37 0 0 37 / 1000 0.5s Picos_htbl concurrent
[ ] 59 0 0 59 / 1000 0.6s Picos_htbl concurrent
[ ] 78 0 0 78 / 1000 0.7s Picos_htbl concurrent
[ ] 79 0 0 79 / 1000 0.9s Picos_htbl concurrent
[ ] 81 0 0 81 / 1000 1.1s Picos_htbl concurrent
[ ] 82 0 0 82 / 1000 1.3s Picos_htbl concurrent
[ ] 92 0 0 92 / 1000 1.4s Picos_htbl concurrent
[ ] 93 0 0 93 / 1000 1.6s Picos_htbl concurrent
[ ] 112 0 0 112 / 1000 1.7s Picos_htbl concurrent
[ ] 120 0 0 120 / 1000 1.8s Picos_htbl concurrent
[ ] 125 0 0 125 / 1000 1.9s Picos_htbl concurrent
[ ] 142 0 0 142 / 1000 2.0s Picos_htbl concurrent
[ ] 145 0 0 145 / 1000 2.1s Picos_htbl concurrent
[ ] 154 0 0 154 / 1000 2.3s Picos_htbl concurrent
[ ] 164 0 0 164 / 1000 2.4s Picos_htbl concurrent
[ ] 179 0 0 179 / 1000 2.5s Picos_htbl concurrent
[ ] 181 0 0 181 / 1000 2.6s Picos_htbl concurrent
[ ] 186 0 0 186 / 1000 2.8s Picos_htbl concurrent
[ ] 193 0 0 193 / 1000 2.9s Picos_htbl concurrent
[ ] 194 0 0 194 / 1000 3.0s Picos_htbl concurrent
[ ] 211 0 0 211 / 1000 3.1s Picos_htbl concurrent
[ ] 217 0 0 217 / 1000 3.3s Picos_htbl concurrent
[ ] 229 0 0 229 / 1000 3.4s Picos_htbl concurrent
[ ] 234 0 0 234 / 1000 3.6s Picos_htbl concurrent
[ ] 241 0 0 241 / 1000 3.7s Picos_htbl concurrent
[ ] 252 0 0 252 / 1000 3.9s Picos_htbl concurrent
[ ] 257 0 0 257 / 1000 4.0s Picos_htbl concurrent
[ ] 262 0 0 262 / 1000 4.2s Picos_htbl concurrent
[ ] 275 0 0 275 / 1000 4.3s Picos_htbl concurrent
[ ] 285 0 0 285 / 1000 4.5s Picos_htbl concurrent
[ ] 294 0 0 294 / 1000 4.6s Picos_htbl concurrent
[ ] 302 0 0 302 / 1000 4.8s Picos_htbl concurrent
[ ] 309 0 0 309 / 1000 5.0s Picos_htbl concurrent
[ ] 323 0 0 323 / 1000 5.1s Picos_htbl concurrent
[ ] 327 0 0 327 / 1000 5.2s Picos_htbl concurrent
[ ] 341 0 0 341 / 1000 5.3s Picos_htbl concurrent
[ ] 363 0 0 363 / 1000 5.4s Picos_htbl concurrent
[ ] 383 0 0 383 / 1000 5.5s Picos_htbl concurrent
[ ] 385 0 0 385 / 1000 5.6s Picos_htbl concurrent
[ ] 401 0 0 401 / 1000 5.9s Picos_htbl concurrent
[ ] 405 0 0 405 / 1000 6.0s Picos_htbl concurrent
[ ] 406 0 0 406 / 1000 6.1s Picos_htbl concurrent
[ ] 420 0 0 420 / 1000 6.2s Picos_htbl concurrent
[ ] 434 0 0 434 / 1000 6.3s Picos_htbl concurrent
[ ] 443 0 0 443 / 1000 6.5s Picos_htbl concurrent
[ ] 469 0 0 469 / 1000 6.6s Picos_htbl concurrent
[ ] 491 0 0 491 / 1000 6.7s Picos_htbl concurrent
[ ] 502 0 0 502 / 1000 6.8s Picos_htbl concurrent
[ ] 508 0 0 508 / 1000 7.0s Picos_htbl concurrent
[ ] 514 0 0 514 / 1000 7.2s Picos_htbl concurrent
[ ] 522 0 0 522 / 1000 7.3s Picos_htbl concurrent
[ ] 527 0 0 527 / 1000 7.4s Picos_htbl concurrent
[ ] 551 0 0 551 / 1000 7.6s Picos_htbl concurrent
[ ] 580 0 0 580 / 1000 7.7s Picos_htbl concurrent
[ ] 592 0 0 592 / 1000 7.8s Picos_htbl concurrent
[ ] 600 0 0 600 / 1000 7.9s Picos_htbl concurrent
[ ] 604 0 0 604 / 1000 8.0s Picos_htbl concurrent
[ ] 620 0 0 620 / 1000 8.2s Picos_htbl concurrent
[ ] 637 0 0 637 / 1000 8.3s Picos_htbl concurrent
[ ] 651 0 0 651 / 1000 8.4s Picos_htbl concurrent
[ ] 661 0 0 661 / 1000 8.6s Picos_htbl concurrent
[ ] 674 0 0 674 / 1000 8.7s Picos_htbl concurrent
[ ] 682 0 0 682 / 1000 8.8s Picos_htbl concurrent
[ ] 691 0 0 691 / 1000 9.0s Picos_htbl concurrent
[ ] 693 0 0 693 / 1000 9.1s Picos_htbl concurrent
[ ] 705 0 0 705 / 1000 9.2s Picos_htbl concurrent
[ ] 717 0 0 717 / 1000 9.4s Picos_htbl concurrent
[ ] 723 0 0 723 / 1000 9.5s Picos_htbl concurrent
[ ] 728 0 0 728 / 1000 9.6s Picos_htbl concurrent
[ ] 745 0 0 745 / 1000 9.7s Picos_htbl concurrent
[ ] 751 0 0 751 / 1000 9.9s Picos_htbl concurrent
[ ] 770 0 0 770 / 1000 10.0s Picos_htbl concurrent
[ ] 786 0 0 786 / 1000 10.1s Picos_htbl concurrent
[ ] 801 0 0 801 / 1000 10.2s Picos_htbl concurrent
[ ] 811 0 0 811 / 1000 10.3s Picos_htbl concurrent
[ ] 825 0 0 825 / 1000 10.5s Picos_htbl concurrent
[ ] 832 0 0 832 / 1000 10.6s Picos_htbl concurrent
[ ] 836 0 0 836 / 1000 10.7s Picos_htbl concurrent
[ ] 850 0 0 850 / 1000 10.8s Picos_htbl concurrent
[ ] 859 0 0 859 / 1000 11.0s Picos_htbl concurrent
[ ] 869 0 0 869 / 1000 11.2s Picos_htbl concurrent
[ ] 870 0 0 870 / 1000 11.3s Picos_htbl concurrent
[ ] 879 0 0 879 / 1000 11.4s Picos_htbl concurrent
[ ] 898 0 0 898 / 1000 11.6s Picos_htbl concurrent
[ ] 909 0 0 909 / 1000 11.7s Picos_htbl concurrent
[ ] 921 0 0 921 / 1000 11.9s Picos_htbl concurrent
[ ] 922 0 0 922 / 1000 12.0s Picos_htbl concurrent
[ ] 939 0 0 939 / 1000 12.1s Picos_htbl concurrent
[ ] 961 0 0 961 / 1000 12.2s Picos_htbl concurrent
[ ] 981 0 0 981 / 1000 12.3s Picos_htbl concurrent
[ ] 983 0 0 983 / 1000 12.4s Picos_htbl concurrent
[ ] 994 0 0 994 / 1000 12.6s Picos_htbl concurrent
[ ] 998 0 0 998 / 1000 12.7s Picos_htbl concurrent
[✓] 1000 0 0 1000 / 1000 12.7s Picos_htbl concurrent
- ================================================================================
- success (ran 2 tests)
[ERROR] The compilation of picos.0.3.0 failed at "dune build -p picos -j 11 @install @runtest".
#=== ERROR while compiling picos.0.3.0 ========================================#
# context 2.5.0 | macos/x86_64 | ocaml-base-compiler.4.14.2 | pinned(https://github.com/ocaml-multicore/picos/releases/download/0.3.0/picos-0.3.0.tbz)
# path ~/.opam/4.14.2/.opam-switch/build/picos.0.3.0
# command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p picos -j 11 @install @runtest
# exit-code 1
# env-file ~/.opam/log/picos-55315-8ec989.env
# output-file ~/.opam/log/picos-55315-8ec989.out
### output ###
# (cd _build/default/test && ./test_mpsc_queue.exe)
#
random seed: 419176753
# generated error fail pass / total time test name
#
[ ] 0 0 0 0 / 1000 0.0s Picos_mpsc_queue sequential
[✓] 1000 0 0 1000 / 1000 0.0s Picos_mpsc_queue sequential
# ================================================================================
# success (ran 1 tests)
# (cd _build/default/test && ./test_server_and_client.exe)
# Using non-blocking sockets and threads on OCaml 4:
# Recursive server running
# Server and Client test: SKIPPED
# (cd _build/default/test && /usr/local/bin/node test_js_of_ocaml.bc.js)
# Hello, from js_of_ocaml with Picos!
# (cd _build/default/test && ./test_stdio.exe)
# Testing `Picos_stdio'.
# This run has ID `NF0HT0LU'.
#
# [OK] Unix 0 system.
#
# Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos_stdio'.
# Test Successful in 0.023s. 1 test run.
# (cd _build/default/test && ./test_picos.exe)
# Testing `Picos'.
# This run has ID `EVXN4ICQ'.
#
# [OK] Trigger basics 0
# [OK] Computation basics 0
# [OK] Fiber.FLS basics 0
# [OK] Thread cancelation 0
# [OK] Cancel after 0
# [OK] Computation signals in order 0
#
# Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos'.
# Test Successful in 0.090s. 6 tests run.
# (cd _build/default/test && ./test_sync.exe)
# Testing `Picos_sync'.
# This run has ID `WGFVEUSB'.
#
# [OK] Mutex and Condition 0 basics.
# [OK] Mutex and Condition 1 errors.
# [OK] Mutex and Condition 2 cancelation.
# [OK] Lazy 0 basics.
# [OK] Lazy 1 cancelation.
#
# Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos_sync'.
# Test Successful in 0.919s. 5 tests run.
# (cd _build/default/test && ./test_select.exe)
# Testing `Picos_select'.
# This run has ID `XIWAMTB1'.
#
# [OK] Intr 0
#
# Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos_select'.
# Test Successful in 1.949s. 1 test run.
# (cd _build/default/test && ./test_stdio_with_lwt.exe)
# Testing `Picos_stdio_with_lwt'.
# This run has ID `L3ROOURT'.
#
# [OK] Unix 0 system.
#
# Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.3.0/_build/default/test/_build/_tests/Picos_stdio_with_lwt'.
# Test Successful in 2.158s. 1 test run.
# File "test/test_structured.md", line 1, characters 0-0:
# /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/test_structured.md _build/default/test/.mdx/test_structured.md.corrected
# diff --git a/_build/default/test/test_structured.md b/_build/default/test/.mdx/test_structured.md.corrected
# index e12ceb9..71ea0e7 100644
# --- a/_build/default/test/test_structured.md
# +++ b/_build/default/test/.mdx/test_structured.md.corrected
# @@ -152,5 +152,5 @@ Woke up
# (fun () -> Control.sleep ~seconds:0.1; winner := 1 );
# ];
# !winner
# -- : int = 1
# +- : int = 2
# ```
# (cd _build/default/bench && ./main.exe -brief)
# Foundation Mpsc_queue:
# messages over time/1 nb adder, 1 nb taker:
# 77.11 M/s
# messages over time/2 nb adders, 1 nb taker:
# 85.85 M/s
# messages over time/4 nb adders, 1 nb taker:
# 80.65 M/s
# messages over time/one domain:
# 33.86 M/s
# time per message/1 nb adder, 1 nb taker:
# 25.94 ns
# time per message/2 nb adders, 1 nb taker:
# 34.94 ns
# time per message/4 nb adders, 1 nb taker:
# 61.99 ns
# time per message/one domain:
# 29.53 ns
# Picos Cancel_after with Picos_select:
# async round-trips over time/1 worker:
# 0.64 M/s
# round-trips over time/1 worker:
# 0.05 M/s
# time per async round-trip/1 worker:
# 1561.84 ns
# time per round-trip/1 worker:
# 20287.29 ns
# Picos Computation:
# attach detach pairs over time/1 worker:
# 9.75 M/s
# attach detach pairs over time/2 workers:
# 9.74 M/s
# attach detach pairs over time/4 workers:
# 9.84 M/s
# attach detach pairs over time/trivial:
# 37.59 M/s
# time per attach detach pair/1 worker:
# 102.53 ns
# time per attach detach pair/2 workers:
# 205.32 ns
# time per attach detach pair/4 workers:
# 406.61 ns
# time per attach detach pair/trivial:
# 26.60 ns
# Picos Current:
# ops over time/1 worker:
# 139.81 M/s
# ops over time/2 workers:
# 137.37 M/s
# ops over time/4 workers:
# 136.12 M/s
# time per op/1 worker:
# 7.15 ns
# time per op/2 workers:
# 14.56 ns
# time per op/4 workers:
# 29.39 ns
# Picos DLS:
# gets over time/1 worker:
# 408.16 M/s
# sets over time/1 worker:
# 154.14 M/s
# time per get/1 worker:
# 2.45 ns
# time per set/1 worker:
# 6.49 ns
# Picos FLS (excluding Current):
# gets over time/1 worker:
# 383.15 M/s
# sets over time/1 worker:
# 219.03 M/s
# time per get/1 worker:
# 2.61 ns
# time per set/1 worker:
# 4.57 ns
# Picos Mutex:
# locked yields over time/1 fiber:
# 0.10 M/s
# locked yields over time/2 fibers:
# 0.08 M/s
# locked yields over time/4 fibers:
# 0.07 M/s
# locked yields over time/8 fibers:
# 0.07 M/s
# time per locked yield/1 fiber:
# 9655.75 ns
# time per locked yield/2 fibers:
# 13085.67 ns
# time per locked yield/4 fibers:
# 13591.01 ns
# time per locked yield/8 fibers:
# 13464.56 ns
# Picos Spawn:
# spawns over time/1 at a time:
# 0.03 M/s
# spawns over time/2 at a time:
# 0.03 M/s
# spawns over time/4 at a time:
# 0.03 M/s
# spawns over time/8 at a time:
# 0.03 M/s
# time per spawn/1 at a time:
# 31315.15 ns
# time per spawn/2 at a time:
# 29220.40 ns
# time per spawn/4 at a time:
# 30535.01 ns
# time per spawn/8 at a time:
# 32020.92 ns
# Picos TLS:
# gets over time/1 worker:
# 205.19 M/s
# sets over time/1 worker:
# 128.25 M/s
# time per get/1 worker:
# 4.87 ns
# time per set/1 worker:
# 7.80 ns
# Picos Yield:
# time per yield/100 fibers:
# 5941.89 ns
# time per yield/10 fibers:
# 5831.40 ns
# time per yield/1 fiber:
# 10085.34 ns
# yields over time/100 fibers:
# 0.17 M/s
# yields over time/10 fibers:
# 0.17 M/s
# yields over time/1 fiber:
# 0.10 M/s
# Picos_htbl:
# operations over time/1 worker, 10% reads:
# 14.70 M/s
# operations over time/1 worker, 50% reads:
# 20.29 M/s
# operations over time/1 worker, 90% reads:
# 24.01 M/s
# operations over time/2 workers, 10% reads:
# 15.97 M/s
# operations over time/2 workers, 50% reads:
# 20.38 M/s
# operations over time/2 workers, 90% reads:
# 22.41 M/s
# operations over time/4 workers, 10% reads:
# 14.53 M/s
# operations over time/4 workers, 50% reads:
# 20.16 M/s
# operations over time/4 workers, 90% reads:
# 23.94 M/s
# operations over time/8 workers, 10% reads:
# 14.81 M/s
# operations over time/8 workers, 50% reads:
# 19.98 M/s
# operations over time/8 workers, 90% reads:
# 24.14 M/s
# time per operation/1 worker, 10% reads:
# 68.04 ns
# time per operation/1 worker, 50% reads:
# 49.29 ns
# time per operation/1 worker, 90% reads:
# 41.65 ns
# time per operation/2 workers, 10% reads:
# 125.25 ns
# time per operation/2 workers, 50% reads:
# 98.15 ns
# time per operation/2 workers, 90% reads:
# 89.26 ns
# time per operation/4 workers, 10% reads:
# 275.36 ns
# time per operation/4 workers, 50% reads:
# 198.36 ns
# time per operation/4 workers, 90% reads:
# 167.08 ns
# time per operation/8 workers, 10% reads:
# 540.27 ns
# time per operation/8 workers, 50% reads:
# 400.48 ns
# time per operation/8 workers, 90% reads:
# 331.43 ns
# Picos_stdio:
# blocking reads over time/1 worker:
# 0.02 M/s
# non-blocking reads over time/1 worker:
# 0.33 M/s
# time per blocking read/1 worker:
# 55691.27 ns
# time per non-blocking read/1 worker:
# 3013.55 ns
# Ref with Picos_sync.Mutex:
# ops over time/cas int (checked):
# 18.29 M/s
# ops over time/cas int (unchecked):
# 28.14 M/s
# ops over time/get (checked):
# 22.76 M/s
# ops over time/get (unchecked):
# 34.58 M/s
# ops over time/incr (checked):
# 22.11 M/s
# ops over time/incr (unchecked):
# 29.10 M/s
# ops over time/push & pop (checked):
# 16.64 M/s
# ops over time/push & pop (unchecked):
# 24.73 M/s
# ops over time/swap (checked):
# 22.76 M/s
# ops over time/swap (unchecked):
# 23.91 M/s
# ops over time/xchg int (checked):
# 20.94 M/s
# ops over time/xchg int (unchecked):
# 28.62 M/s
# time per op/cas int (checked):
# 54.67 ns
# time per op/cas int (unchecked):
# 35.53 ns
# time per op/get (checked):
# 43.94 ns
# time per op/get (unchecked):
# 28.92 ns
# time per op/incr (checked):
# 45.24 ns
# time per op/incr (unchecked):
# 34.37 ns
# time per op/push & pop (checked):
# 60.11 ns
# time per op/push & pop (unchecked):
# 40.44 ns
# time per op/swap (checked):
# 43.93 ns
# time per op/swap (unchecked):
# 41.82 ns
# time per op/xchg int (checked):
# 47.75 ns
# time per op/xchg int (unchecked):
# 34.94 ns
# (cd _build/default/test && ./test_htbl.exe)
#
random seed: 245853546
# generated error fail pass / total time test name
#
[ ] 0 0 0 0 / 1000 0.0s Picos_htbl sequential
[✓] 1000 0 0 1000 / 1000 0.0s Picos_htbl sequential
#
[ ] 0 0 0 0 / 1000 0.0s Picos_htbl concurrent
[ ] 17 0 0 17 / 1000 0.1s Picos_htbl concurrent
[ ] 34 0 0 34 / 1000 0.3s Picos_htbl concurrent
[ ] 37 0 0 37 / 1000 0.5s Picos_htbl concurrent
[ ] 59 0 0 59 / 1000 0.6s Picos_htbl concurrent
[ ] 78 0 0 78 / 1000 0.7s Picos_htbl concurrent
[ ] 79 0 0 79 / 1000 0.9s Picos_htbl concurrent
[ ] 81 0 0 81 / 1000 1.1s Picos_htbl concurrent
[ ] 82 0 0 82 / 1000 1.3s Picos_htbl concurrent
[ ] 92 0 0 92 / 1000 1.4s Picos_htbl concurrent
[ ] 93 0 0 93 / 1000 1.6s Picos_htbl concurrent
[ ] 112 0 0 112 / 1000 1.7s Picos_htbl concurrent
[ ] 120 0 0 120 / 1000 1.8s Picos_htbl concurrent
[ ] 125 0 0 125 / 1000 1.9s Picos_htbl concurrent
[ ] 142 0 0 142 / 1000 2.0s Picos_htbl concurrent
[ ] 145 0 0 145 / 1000 2.1s Picos_htbl concurrent
[ ] 154 0 0 154 / 1000 2.3s Picos_htbl concurrent
[ ] 164 0 0 164 / 1000 2.4s Picos_htbl concurrent
[ ] 179 0 0 179 / 1000 2.5s Picos_htbl concurrent
[ ] 181 0 0 181 / 1000 2.6s Picos_htbl concurrent
[ ] 186 0 0 186 / 1000 2.8s Picos_htbl concurrent
[ ] 193 0 0 193 / 1000 2.9s Picos_htbl concurrent
[ ] 194 0 0 194 / 1000 3.0s Picos_htbl concurrent
[ ] 211 0 0 211 / 1000 3.1s Picos_htbl concurrent
[ ] 217 0 0 217 / 1000 3.3s Picos_htbl concurrent
[ ] 229 0 0 229 / 1000 3.4s Picos_htbl concurrent
[ ] 234 0 0 234 / 1000 3.6s Picos_htbl concurrent
[ ] 241 0 0 241 / 1000 3.7s Picos_htbl concurrent
[ ] 252 0 0 252 / 1000 3.9s Picos_htbl concurrent
[ ] 257 0 0 257 / 1000 4.0s Picos_htbl concurrent
[ ] 262 0 0 262 / 1000 4.2s Picos_htbl concurrent
[ ] 275 0 0 275 / 1000 4.3s Picos_htbl concurrent
[ ] 285 0 0 285 / 1000 4.5s Picos_htbl concurrent
[ ] 294 0 0 294 / 1000 4.6s Picos_htbl concurrent
[ ] 302 0 0 302 / 1000 4.8s Picos_htbl concurrent
[ ] 309 0 0 309 / 1000 5.0s Picos_htbl concurrent
[ ] 323 0 0 323 / 1000 5.1s Picos_htbl concurrent
[ ] 327 0 0 327 / 1000 5.2s Picos_htbl concurrent
[ ] 341 0 0 341 / 1000 5.3s Picos_htbl concurrent
[ ] 363 0 0 363 / 1000 5.4s Picos_htbl concurrent
[ ] 383 0 0 383 / 1000 5.5s Picos_htbl concurrent
[ ] 385 0 0 385 / 1000 5.6s Picos_htbl concurrent
[ ] 401 0 0 401 / 1000 5.9s Picos_htbl concurrent
[ ] 405 0 0 405 / 1000 6.0s Picos_htbl concurrent
[ ] 406 0 0 406 / 1000 6.1s Picos_htbl concurrent
[ ] 420 0 0 420 / 1000 6.2s Picos_htbl concurrent
[ ] 434 0 0 434 / 1000 6.3s Picos_htbl concurrent
[ ] 443 0 0 443 / 1000 6.5s Picos_htbl concurrent
[ ] 469 0 0 469 / 1000 6.6s Picos_htbl concurrent
[ ] 491 0 0 491 / 1000 6.7s Picos_htbl concurrent
[ ] 502 0 0 502 / 1000 6.8s Picos_htbl concurrent
[ ] 508 0 0 508 / 1000 7.0s Picos_htbl concurrent
[ ] 514 0 0 514 / 1000 7.2s Picos_htbl concurrent
[ ] 522 0 0 522 / 1000 7.3s Picos_htbl concurrent
[ ] 527 0 0 527 / 1000 7.4s Picos_htbl concurrent
[ ] 551 0 0 551 / 1000 7.6s Picos_htbl concurrent
[ ] 580 0 0 580 / 1000 7.7s Picos_htbl concurrent
[ ] 592 0 0 592 / 1000 7.8s Picos_htbl concurrent
[ ] 600 0 0 600 / 1000 7.9s Picos_htbl concurrent
[ ] 604 0 0 604 / 1000 8.0s Picos_htbl concurrent
[ ] 620 0 0 620 / 1000 8.2s Picos_htbl concurrent
[ ] 637 0 0 637 / 1000 8.3s Picos_htbl concurrent
[ ] 651 0 0 651 / 1000 8.4s Picos_htbl concurrent
[ ] 661 0 0 661 / 1000 8.6s Picos_htbl concurrent
[ ] 674 0 0 674 / 1000 8.7s Picos_htbl concurrent
[ ] 682 0 0 682 / 1000 8.8s Picos_htbl concurrent
[ ] 691 0 0 691 / 1000 9.0s Picos_htbl concurrent
[ ] 693 0 0 693 / 1000 9.1s Picos_htbl concurrent
[ ] 705 0 0 705 / 1000 9.2s Picos_htbl concurrent
[ ] 717 0 0 717 / 1000 9.4s Picos_htbl concurrent
[ ] 723 0 0 723 / 1000 9.5s Picos_htbl concurrent
[ ] 728 0 0 728 / 1000 9.6s Picos_htbl concurrent
[ ] 745 0 0 745 / 1000 9.7s Picos_htbl concurrent
[ ] 751 0 0 751 / 1000 9.9s Picos_htbl concurrent
[ ] 770 0 0 770 / 1000 10.0s Picos_htbl concurrent
[ ] 786 0 0 786 / 1000 10.1s Picos_htbl concurrent
[ ] 801 0 0 801 / 1000 10.2s Picos_htbl concurrent
[ ] 811 0 0 811 / 1000 10.3s Picos_htbl concurrent
[ ] 825 0 0 825 / 1000 10.5s Picos_htbl concurrent
[ ] 832 0 0 832 / 1000 10.6s Picos_htbl concurrent
[ ] 836 0 0 836 / 1000 10.7s Picos_htbl concurrent
[ ] 850 0 0 850 / 1000 10.8s Picos_htbl concurrent
[ ] 859 0 0 859 / 1000 11.0s Picos_htbl concurrent
[ ] 869 0 0 869 / 1000 11.2s Picos_htbl concurrent
[ ] 870 0 0 870 / 1000 11.3s Picos_htbl concurrent
[ ] 879 0 0 879 / 1000 11.4s Picos_htbl concurrent
[ ] 898 0 0 898 / 1000 11.6s Picos_htbl concurrent
[ ] 909 0 0 909 / 1000 11.7s Picos_htbl concurrent
[ ] 921 0 0 921 / 1000 11.9s Picos_htbl concurrent
[ ] 922 0 0 922 / 1000 12.0s Picos_htbl concurrent
[ ] 939 0 0 939 / 1000 12.1s Picos_htbl concurrent
[ ] 961 0 0 961 / 1000 12.2s Picos_htbl concurrent
[ ] 981 0 0 981 / 1000 12.3s Picos_htbl concurrent
[ ] 983 0 0 983 / 1000 12.4s Picos_htbl concurrent
[ ] 994 0 0 994 / 1000 12.6s Picos_htbl concurrent
[ ] 998 0 0 998 / 1000 12.7s Picos_htbl concurrent
[✓] 1000 0 0 1000 / 1000 12.7s Picos_htbl concurrent
# ================================================================================
# success (ran 2 tests)
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build picos 0.3.0
+-
- No changes have been performed
# To update the current shell environment, run: eval $(opam env)
'opam reinstall --with-test --verbose picos.0.3.0' failed.
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
"/usr/bin/env" "bash" "-c" "opam reinstall --with-test --verbose picos.0.3.0;
res=$?;
test "$res" != 31 && exit "$res";
export OPAMCLI=2.0;
build_dir=$(opam var prefix)/.opam-switch/build;
failed=$(ls "$build_dir");
partial_fails="";
for pkg in $failed; do
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"macos-homebrew\""; then
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.";
fi;
test "$pkg" != 'picos.0.3.0' && partial_fails="$partial_fails $pkg";
done;
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}";
exit 1" failed with exit status 1
2026-03-10 10:18.39: Job failed: Failed: Build failed
2026-03-10 10:18.39: Log analysis:
2026-03-10 10:18.39: >>>
[ERROR] The compilation of picos.0.3.0 failed at "dune build -p picos -j 11 @install @runtest".
(score = 20)
2026-03-10 10:18.39: >>>
[ERROR] The compilation of picos.0.3.0 failed at "dune build -p picos -j 11 @install @runtest".
(score = 20)
2026-03-10 10:18.39: The compilation of picos.0.3.0 failed at "dune build -p picos -j 11 @install @runtest".