Skip to content

4.14.2+flambda: stack overflow while compiling uunf 16.0.0 #14166

@sim642

Description

@sim642

There has been a similar issue before (#7501) but it was fixed in 4.04.1.
However, the issue seems to have re-appeared, perhaps because uunf data has grown over the years. By the way, uunf 15.0.0 compiles without an issue.

I'm reporting this just for documentation sake: I don't really need this to work, I just happened upon this when upgrading an opam switch which happened to have uunf installed, but not necessary for my work.

$ opam switch create 4.14.2-flambda --packages=ocaml-variants.4.14.2+options,ocaml-option-flambda

<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["ocaml-variants" {= "4.14.2+options"} "ocaml-option-flambda"]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
⬇ retrieved ocaml-config.2  (cached)
∗ installed base-bigarray.base
∗ installed base-threads.base
∗ installed base-unix.base
∗ installed ocaml-option-flambda.1
⬇ retrieved ocaml-variants.4.14.2+options  (cached)
∗ installed ocaml-variants.4.14.2+options
∗ installed ocaml-config.2
∗ installed ocaml.4.14.2
Done.
# To update the current shell environment, run: eval $(opam env --switch=4.14.2-flambda)
$ eval $(opam env --switch=4.14.2-flambda)
$ opam install uunf
The following actions will be performed:
=== install 4 packages
  ∗ ocamlbuild 0.16.1 [required by uunf]
  ∗ ocamlfind  1.9.8  [required by uunf]
  ∗ topkg      1.0.8  [required by uunf]
  ∗ uunf       16.0.0

Proceed with ∗ 4 installations? [Y/n] y

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
⬇ retrieved ocamlbuild.0.16.1  (cached)
⬇ retrieved ocamlfind.1.9.8  (cached)
⬇ retrieved topkg.1.0.8  (cached)
⬇ retrieved uunf.16.0.0  (https://opam.ocaml.org/cache)
∗ installed ocamlfind.1.9.8
∗ installed ocamlbuild.0.16.1
∗ installed topkg.1.0.8
[ERROR] The compilation of uunf.16.0.0 failed at "ocaml pkg/pkg.ml build --dev-pkg false --with-uutf false --with-cmdliner false".

#=== ERROR while compiling uunf.16.0.0 ========================================#
# context     2.4.0 | linux/x86_64 | ocaml-option-flambda.1 ocaml-variants.4.14.2+options | https://opam.ocaml.org#463280143ff4bd61ce0e19b9f77fa4750e7c79f7
# path        ~/.opam/4.14.2-flambda/.opam-switch/build/uunf.16.0.0
# command     ~/.opam/opam-init/hooks/sandbox.sh build ocaml pkg/pkg.ml build --dev-pkg false --with-uutf false --with-cmdliner false
# exit-code   1
# env-file    ~/.opam/log/uunf-1681345-745801.env
# output-file ~/.opam/log/uunf-1681345-745801.out
### output ###
# [...]
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf.cmi src/uunf.mli
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_data.cmx src/uunf_data.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_data.cmx src/uunf_data.ml
# Fatal error: exception Stack overflow
# Command exited with code 2.
# pkg.ml: [ERROR] cmd ['ocamlbuild' '-use-ocamlfind' '-classic-display' '-j' '4' '-tag' 'debug'
#      '-build-dir' '_build' 'opam' 'pkg/META' 'CHANGES.md' 'LICENSE.md'
#      'README.md' 'src/uunf.a' 'src/uunf.cmxs' 'src/uunf.cmxa' 'src/uunf.cma'
#      'src/uunf_string.cmx' 'src/uunf_string.cmi' 'src/uunf_string.mli'
#      'src/uunf.cmx' 'src/uunf.cmi' 'src/uunf.mli' 'src/uunf_data.cmx'
#      'src/uunf_tmapbyte.cmx' 'src/uunf_tmapbool.cmx' 'src/uunf_tmap.cmx'
#      'src/uunf_fmt.cmx' 'doc/index.mld' 'test/examples.ml']: exited with 10



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
┌─ The following actions failed
│ λ build uunf 16.0.0
└─ 
┌─ The following changes have been performed
│ ∗ install ocamlbuild 0.16.1
│ ∗ install ocamlfind  1.9.8
│ ∗ install topkg      1.0.8
└─ 

The former state can be restored with:
    /usr/local/bin/opam switch import "/home/simmo/.opam/4.14.2-flambda/.opam-switch/backup/state-20250724115448.export"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions