Stream: bugs

Topic: `roc glue` SIGSEGV with a function field and fresh cache


view this post on Zulip Chander Ramesh (Sep 09 2026 at 08:28):

[might be a false alarm, I'm new to Roc and am also learning the platform concept for the first time]

I'm on a MacOS M1, and my platform is written in Rust, not sure if that matters.

roc check --no-cache works, but then roc glue segfaults when a record has a function:

  Value :: { first : (U64 -> U64) }.{
   value : Value
   value = { first: |x| x }
  }

Reproduced the crash on:

- nightly-2026-09-05-b195f5b
- nightly-2026-09-08-39a3f89

Attached is the smallest case I could find to repro this.
Using the attachment, you can repro with this:

mkdir -p out-failing
roc check --no-cache failing/platform.roc
roc_report_cache=$(mktemp -d)
ROC_CACHE_DIR="$roc_report_cache" XDG_CACHE_HOME="$roc_report_cache" roc glue --no-cache
EmptyGlue.roc out-failing failing/platform.roc

one last tricky bit - reusing a cache accidentally can make this succeed even with --no-cache, so I ended up doing this in a new folder each time I wanted to repro. AI thinks this regression started on September 8th, but I have no idea if that's true or not.

roc-glue-repro.tar.gz

view this post on Zulip Richard Feldman (Sep 09 2026 at 15:01):

definitely a bug! I'll push a fix later today


Last updated: Sep 24 2026 at 15:59 UTC