NixOS 25.11 weird behavior change in Dash shell

I encountered a script of mine suddenly breaking when updating it from 25.05 to 25.11. “read” from stdin somehow broke. I see Dash got updated, but it would be odd if there was something broken there, so what am I missing? Here’s a test case:

$ nix-shell --pure -I channel:nixos-25.05-small -p dash which --command “echo Testing: \$(which dash); dash -c 'echo hello | { read -r x; echo \”\$x\“; }'; echo …done”

Testing: /nix/store/4kjsgkcxqfadycyspzfrf9gg5n5bpc27-dash-0.5.12/bin/dash

hello

…done

$ nix-shell --pure -I channel:nixos-25.11-small -p dash which --command “echo Testing: \$(which dash); dash -c 'echo hello | { read -r x; echo \”\$x\“; }'; echo …done”

Testing: /nix/store/5nrw5zkfyrrp5glvp4bfy4kxqx48znxb-dash-0.5.13.1/bin/dash

…done

Thanks for any info in advance!

1 Like

Is this related?

I have no idea, but just realized that this can be easily tested without going through Nix shell:

$ /nix/store/wy9ass74g4yc1x354ydbdlxkfkxxjv2x-dash-0.5.13.1/bin/dash -c 'echo hello | { read -r x; echo "$x"; }'

$ /nix/store/4kjsgkcxqfadycyspzfrf9gg5n5bpc27-dash-0.5.12/bin/dash -c 'echo hello | { read -r x; echo "$x"; }'
hello

So this has to be a Dash bug and not related to Nix in any way. I should probably figure out how to ask about this from Dash project.

I linked a thread from their mailinglist. They are already aware.