Openblas-i686-linux hangs in checkPhase on zblat3

I’m updating nixpkgs and hit a hang in openblas-i686-linux during the test phase.
The build reaches checkPhase, starts ctest, and then gets stuck forever on zblat3:

openblas-i686-linux> [100%] Built target xzcblat3_3m
openblas-i686-linux> buildPhase completed in 3 minutes 54 seconds
openblas-i686-linux> Running phase: checkPhase
openblas-i686-linux> check flags: SHELL=/nix/store/r1jcyifbfnvrxk67ifvwx8ysx7r7jgfi-bash-5.3p9/bin/bash VERBOSE=y test
openblas-i686-linux> Running tests...
openblas-i686-linux> /nix/store/mgvw77gvbc5kmv5rbrxhqfhqiq2qdpvk-cmake-4.1.2/bin/ctest
openblas-i686-linux> Test project /build/source/build
openblas-i686-linux>       Start  1: openblas_utest
openblas-i686-linux>       Start  2: openblas_utest_ext
openblas-i686-linux>       Start  3: sblas1
openblas-i686-linux>       Start  4: sblas2
openblas-i686-linux>       Start  5: sblas3
openblas-i686-linux>       Start  6: dblas1
openblas-i686-linux>       Start  7: dblas2
openblas-i686-linux>       Start  8: dblas3
openblas-i686-linux>       Start  9: cblas1
openblas-i686-linux>       Start 10: cblas2
openblas-i686-linux>       Start 11: cblas3
openblas-i686-linux>       Start 12: cblas3_3m
openblas-i686-linux>       Start 13: zblas1
openblas-i686-linux>       Start 14: zblas2
openblas-i686-linux>       Start 15: zblas3
openblas-i686-linux>       Start 16: zblas3_3m
openblas-i686-linux>  1/30 Test  #1: openblas_utest ...................   Passed    0.03 sec
openblas-i686-linux>  2/30 Test  #2: openblas_utest_ext ...............   Passed    0.02 sec
openblas-i686-linux>  3/30 Test  #3: sblas1 ...........................   Passed    0.02 sec
openblas-i686-linux>  4/30 Test  #6: dblas1 ...........................   Passed    0.02 sec
openblas-i686-linux>  5/30 Test  #9: cblas1 ...........................   Passed    0.02 sec
openblas-i686-linux>  6/30 Test #13: zblas1 ...........................   Passed    0.01 sec
openblas-i686-linux>       Start 17: xscblat1
openblas-i686-linux>       Start 18: xscblat2
openblas-i686-linux>       Start 19: xscblat3
openblas-i686-linux>       Start 20: xdcblat1
openblas-i686-linux>       Start 21: xdcblat2
openblas-i686-linux>       Start 22: xdcblat3
openblas-i686-linux>  7/30 Test #17: xscblat1 .........................   Passed    0.01 sec
openblas-i686-linux>  8/30 Test #20: xdcblat1 .........................   Passed    0.00 sec
openblas-i686-linux>       Start 23: xccblat1
openblas-i686-linux>       Start 24: xccblat2
openblas-i686-linux>  9/30 Test #23: xccblat1 .........................   Passed    0.00 sec
openblas-i686-linux>       Start 25: xccblat3
openblas-i686-linux> 10/30 Test #16: zblas3_3m ........................   Passed    0.10 sec
openblas-i686-linux>       Start 26: xccblat3_3m
openblas-i686-linux> 11/30 Test #25: xccblat3 .........................   Passed    0.09 sec
openblas-i686-linux>       Start 27: xzcblat1
openblas-i686-linux> 12/30 Test  #8: dblas3 ...........................   Passed    0.12 sec
openblas-i686-linux>       Start 28: xzcblat2
openblas-i686-linux> 13/30 Test #27: xzcblat1 .........................   Passed    0.01 sec
openblas-i686-linux>       Start 29: xzcblat3
openblas-i686-linux> 14/30 Test  #5: sblas3 ...........................   Passed    0.18 sec
openblas-i686-linux>       Start 30: xzcblat3_3m
openblas-i686-linux> 15/30 Test #12: cblas3_3m ........................   Passed    0.18 sec
openblas-i686-linux> 16/30 Test #26: xccblat3_3m ......................   Passed    0.07 sec
openblas-i686-linux> 17/30 Test #30: xzcblat3_3m ......................   Passed    0.54 sec
openblas-i686-linux> 18/30 Test #11: cblas3 ...........................   Passed   11.37 sec
openblas-i686-linux> 19/30 Test #22: xdcblat3 .........................   Passed   21.70 sec
openblas-i686-linux> 20/30 Test #19: xscblat3 .........................   Passed   24.19 sec
openblas-i686-linux> 21/30 Test #29: xzcblat3 .........................   Passed   34.47 sec
openblas-i686-linux> 22/30 Test  #4: sblas2 ...........................   Passed  101.74 sec
openblas-i686-linux> 23/30 Test  #7: dblas2 ...........................   Passed  103.56 sec
openblas-i686-linux> 24/30 Test #14: zblas2 ...........................   Passed  111.13 sec
openblas-i686-linux> 25/30 Test #10: cblas2 ...........................   Passed  113.04 sec
openblas-i686-linux> 26/30 Test #18: xscblat2 .........................   Passed  152.21 sec
openblas-i686-linux> 27/30 Test #21: xdcblat2 .........................   Passed  154.65 sec
openblas-i686-linux> 28/30 Test #24: xccblat2 .........................   Passed  158.46 sec
openblas-i686-linux> 29/30 Test #28: xzcblat2 .........................   Passed  158.44 sec

┏━ Dependency Graph:
┃                         β”Œβ”€ ⏡ openblas-0.3.33-i686-linux (checkPhase) ⏱️ 1h55m54s
┃                      β”Œβ”€ ⏸️ lapack-3-i686-linux
┃                   β”Œβ”€ ⏸️ python3.13-numpy-2.4.4-i686-linux
┃                β”Œβ”€ ⏸️ python3.13-pybind11-3.0.4-i686-linux
┃             β”Œβ”€ ⏸️ libcamera-0.7.0-i686-linux
┃          β”Œβ”€ ⏸️ pipewire-1.6.5-i686-linux
┃       β”Œβ”€ ⏸️ etc-alsa-conf.d-49-pipewire-modules.conf
┃    β”Œβ”€ ⏸️ etc
┃ β”Œβ”€ ⏸️ activate
┃ ⏸️ nixos-system-ok-26.05.20260622.3426825
┣━━━ Builds
┗━ βˆ‘ ⏡ 1 β”‚ βœ”οΈ 0 β”‚ ⏸️ 18 β”‚ ⏱️ 1h55m58s

This happens while building openblas-i686-linux on an x86_64-linux host (no qemu/emulation involved).

$ nix-shell -p nix-info --run "nix-info -m"

- system: `"x86_64-linux"`
- host os: `Linux 7.0.12-zen1, NixOS, 26.05 (Yarara), 26.05.20260618.e8210c6`
- multi-user?: `yes`
- sandbox: `yes`
- version: `nix-env (Nix) 2.34.7`
- nixpkgs: `/nix/store/zny1nwmq6v9bkmjgpqrgngy7n7653mfh-source`

Has anyone seen this before? Is this a known issue with recent OpenBLAS releases or with the i686-linux build in nixpkgs?

5 Likes

Also started seeing this today. Disabling services.pipewire.alsa.support32Bit works around it.

  • configuration
  • $ nix-shell --packages 'nix-info' --run 'nix-info --markdown'
    - system: `"x86_64-linux"`
    - host os: `Linux 6.18.36, NixOS, 26.05 (Yarara), 26.05.3021.34268251cf55`
    - multi-user?: `yes`
    - sandbox: `yes`
    - version: `nix-env (Nix) 2.34.7`
    - channels(root): `"nix-math, nixos-26.05, nixos-hardware, nixseparatedebuginfod, unstable"`
    - nixpkgs: `/nix/store/bsbcrmaj6fi83v0a463x7fn6nbja2k00-nixos-26.05/nixos`
    
2 Likes

Damn, I’m living the same pain. I just aborted everything; I will not run updates until this gets addressed.

Also experiencing this; the hanging ctest is zblas3 not zblat3 (typo’d). My CPU was hovering around 97% while other tests ran, and when everything except zblas3 completed it went back to idle, so maybe it’s a deadlock in the test for this build?

See also: Build failure: openblas Β· Issue #534670 Β· NixOS/nixpkgs Β· GitHub

 - system: `"x86_64-linux"`
 - host os: `Linux 7.0.12, NixOS, 26.05 (Yarara), 26.05.2462.e8210c649915`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.34.7`
 - channels(root): `"home-manager-26.05.tar.gz, nixos-26.05"`
 - nixpkgs: `/nix/store/bsbcrmaj6fi83v0a463x7fn6nbja2k00-nixos-26.05/nixos`

I might have the same problem but I am not sure.
The command

sudo nixos-rebuild switch --no-build-output --show-trace --upgrade-all

is hanging with the following output for several hours by now:

building '/nix/store/4jl3x3ffc44sghhxxs08ilvjh7npb1y9-user-units.drv'...

nmon shows that the following process is using just 1 core but to almost 100%:

Top Processes Procs=347-mode=3-1=Base 3=Perf 4=Size 5=I/O[RootOnly] u=Args
 PID    %CPU  Size   Res   Res   Res   Res Shared   Faults  Command
        Used    KB   Set  Text  Data   Lib    KB  Min  Maj
  68071  99.7   331m 7536    80   297m    0  5440    0    0 zblat3
   3543   1.6   911m  277m 2888   514m    0 88240  109    0 emacs
   ....

How do I check which package is currently being built?

It’s fixed:

1 Like

nix-top or nix-output-monitor

2 Likes

I use nom to see the progress while building.
I build first, since that can be run without sudo and only afterwards run switch with sudo.

In your case that would be:

nixos-rebuild build --print-build-logs |& nom
if [ -L ./result ]; then
nvd diff /run/current-system ./result
fi
sudo nixos-rebuild switch

–
For that you need those packages installed:
pkgs.nvd
pkgs.nix-output-monitor

Based on the upstream comment, the Nix team is aware this is a band-aid.

doCheck = true;
# FIXME: this broke some time between a0374025a863d007d98e3297f6aa46cc3141c2f0 and 34268251cf5547d39063f2c5ea9a196246f7f3a6
This just serves to unbreak stable
doCheck = stdenv.hostPlatform.system != β€œi686-linux”;

Hi everyone

I’m also experiencing this issue while upgrading my system from 25.11 to 26.05 although I’m running on a x86_64 machine.

  CPU op-mode(s):            32-bit, 64-bit
  Address sizes:             43 bits physical, 48 bits virtual
  Byte Order:                Little Endian
CPU(s):                      16
  On-line CPU(s) list:       0-15
Vendor ID:                   AuthenticAMD
  Model name:                AMD Ryzen 7 3700X 8-Core Processor
    CPU family:              23
    Model:                   113
    Thread(s) per core:      2
    Core(s) per socket:      8
    Socket(s):               1
    Stepping:                0
    Frequency boost:         enabled
    CPU(s) scaling MHz:      82%
    CPU max MHz:             4426.0000
    CPU min MHz:             550.0000
    BogoMIPS:                7199.76
...
1 Like

Either you explicitly enabled 32bit alsa, or you enabled steam.

2 Likes

Has this been resolved? I tried some of these fixes and have gotten the same issue on retry.

There’s a temporary fix on the way

2 Likes

Was the 32bit Alsa :+1:

Build works again :slight_smile:
Thanks for your work.

2 Likes