Skip to content

Crash when compiling diffast-cli.0.3.5.1 on Windows #12535

@jmid

Description

@jmid

Spotted a dune crash under Windows MinGW (Cygwin) for PR ocaml/opam-repository#28652 releasing diffast.

Expected Behavior

A successful compilation or a compiler error.

Actual Behavior

https://github.com/ocaml/opam-repository/actions/runs/18267213877/job/52003369231?pr=28652

  The following actions will be performed:
  === install 2 packages
    - install diffast-cli 0.3.5.1
    - install diffast-etc 0.3.5.1 [required by diffast-cli]
  
  <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
  -> retrieved diffast-cli.0.3.5.1, diffast-etc.0.3.5.1  (cached)
  -> installed diffast-etc.0.3.5.1
  [ERROR] The compilation of diffast-cli.0.3.5.1 failed at "dune build -p diffast-cli -j 3 --promote-install-files=false @install".
  
  #=== ERROR while compiling diffast-cli.0.3.5.1 ================================#
  # context     2.4.1 | win32/x86_64 | ocaml.5.3.0 | file://D:/a/opam-repository/opam-repository
  # path        D:\opamroot\default\.opam-switch\build\diffast-cli.0.3.5.1
  # command     D:\opamroot\default\bin\dune.exe build -p diffast-cli -j 3 --promote-install-files=false @install
  # exit-code   1
  # env-file    D:\opamroot\log\diffast-cli-8592-0ccee9.env
  # output-file D:\opamroot\log\diffast-cli-8592-0ccee9.out
  ### output ###
  # [...]
  # Called from Fiber__Core.O.(>>|).(fun) in file "fiber__Core.ml", line 254,
  #   characters 36-41
  # Called from Fiber__Scheduler.exec in file "fiber__Scheduler.ml", line 77,
  #   characters 8-11
  # -> required by ("<unnamed>", ())
  # -> required by ("toplevel", ())
  # 
  # I must not crash.  Uncertainty is the mind-killer. Exceptions are the
  # little-death that brings total obliteration.  I will fully express my cases. 
  # Execution will pass over me and through me.  And when it has gone past, I
  # will unwind the stack along its path.  Where the cases are handled there will
  # be nothing.  Only I will remain.

Reproduction

ocaml/opam-repository#28652

To reproduce:

  1. fork the opam repository
  2. create a branch and cherry-pick one of the diffast-cli.0.3.5.1 release commits, e.g., b06809989dc39dbeb85dc21158ee87ea7e82a147 or 38b9f2258058f05f151a3dc793688222d69ae160
  3. push the branch to GitHub and create a opam-repo self-PR to trigger a Windows GHA run

Specifications

  • Version of dune (output of dune --version): 3.20.2
  • Version of ocaml (output of ocamlc --version): 5.3.0
  • Operating system (distribution and version): Microsoft Windows Server 2025 10.0.26100
  Image: windows-2025
  Version: 20250929.44.1
  Included Software: https://github.com/actions/runner-images/blob/win25/20250929.44/images/windows/Windows2025-Readme.md
  Image Release: https://github.com/actions/runner-images/releases/tag/win25%2F20250929.44

https://github.com/ocaml/opam-repository/blob/master/.github/workflows/windows.yml

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugwindowsIssues that relate to Dune on Microsoft Windows

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions