Skip to content

Rustdoc failed to read column from disk: data consumer error: invalid type: null, expected type data at line 1 column 4 #148431

Description

@TomFryersMidsummer

Code

Unfortunately, I haven't been able to make a minimal enough example that I'm able to share it. As soon as I disable more than a few crates from our 26-crate workspace, the error disappears. But the error doesn't seem to be caused by one particular crate. Perhaps there's a race condition somewhere.

Reproduction Steps

$ cargo clean
$ cargo doc --lib --bins --document-private-items --no-deps -v

Expected Outcome

As it does in Rust 1.90, the documentation should build successfully.

Actual Output

In Rust 1.91 and nightly, we get the following error

error: couldn't generate documentation: failed to read column from disk: data consumer error: invalid type: null, expected type data at line 1 column 4
  |
  = note: failed to create or modify "/home/tom.fryers/Documents/RoofScan/target/doc/search.index/type/": failed to read column from disk: data consumer error: invalid type: null, expected type data at line 1 column 4

error: could not document `roof-scan-outputs`

Caused by:
  process didn't exit successfully: `/home/tom.fryers/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustdoc --edition=2024 --crate-type bin --crate-name roof_scan_outputs roof-scan-outputs/src/main.rs -o /home/tom.fryers/Documents/RoofScan/target/doc --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=189 -C metadata=008339708dcc1598 -L dependency=/home/tom.fryers/Documents/RoofScan/target/debug/deps --extern anyhow=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libanyhow-43f604131c3deeb1.rmeta --extern geometry=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libgeometry-e41688c6b10180bc.rmeta --extern image_formats=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libimage_formats-152134f144eec2e6.rmeta --extern itertools=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libitertools-1506c49be038510b.rmeta --extern ndarray=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libndarray-71260cca80a8dd7d.rmeta --extern ndarray_ref=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libndarray_ref-067f7da2c123772a.rmeta --extern roof_scan=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libroof_scan-f34847f14222ffa9.rmeta --extern svg=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libsvg-748dacaae780ef9e.rmeta --extern tiff=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libtiff-baf0150f618f86e8.rmeta --document-private-items '-Arustdoc::private-intra-doc-links' --crate-version 0.1.0` (exit status: 1)
warning: build failed, waiting for other jobs to finish...
error: could not document `land-registry`

Caused by:
  process didn't exit successfully: `/home/tom.fryers/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustdoc --edition=2024 --crate-type lib --crate-name land_registry land-registry/src/lib.rs -o /home/tom.fryers/Documents/RoofScan/target/doc --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=189 -C metadata=b73d6a859571e856 -L dependency=/home/tom.fryers/Documents/RoofScan/target/debug/deps --extern bng=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libbng-d051a7d49fc0fefa.rmeta --extern geog=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libgeog-efff9649d43ec793.rmeta --extern itertools=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libitertools-1506c49be038510b.rmeta --extern thiserror=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libthiserror-025dc7ab1f8be558.rmeta --document-private-items --crate-version 0.1.0` (exit status: 1)
error: could not document `easy-pv-formats`

Caused by:
  process didn't exit successfully: `/home/tom.fryers/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustdoc --edition=2024 --crate-type lib --crate-name easy_pv_formats easy-pv-formats/src/lib.rs -o /home/tom.fryers/Documents/RoofScan/target/doc --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=189 -C metadata=1183a0536eaea95e -L dependency=/home/tom.fryers/Documents/RoofScan/target/debug/deps --extern geometry=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libgeometry-e41688c6b10180bc.rmeta --extern more_itertools=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libmore_itertools-03833fe072e8477e.rmeta --extern ordered_float=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libordered_float-2271b971b6606687.rmeta --extern roof_scan=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libroof_scan-f34847f14222ffa9.rmeta --extern serde=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libserde-d4aa019a4fdd5da6.rmeta --extern spacelines=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libspacelines-9950595a3cecec29.rmeta --document-private-items --crate-version 0.1.0` (exit status: 1)
error: could not document `roof-scan`

Caused by:
  process didn't exit successfully: `/home/tom.fryers/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustdoc --edition=2024 --crate-type bin --crate-name bench roof-scan/src/bin/bench.rs -o /home/tom.fryers/Documents/RoofScan/target/doc --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=189 -C metadata=7811f9570c7c40de -L dependency=/home/tom.fryers/Documents/RoofScan/target/debug/deps --extern arrayvec=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libarrayvec-c522d04ba0d149d2.rmeta --extern enum_dispatch=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libenum_dispatch-797e46689284c252.so --extern geometry=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libgeometry-e41688c6b10180bc.rmeta --extern geotiff=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libgeotiff-f4b4f23df7e768fc.rmeta --extern graph=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libgraph-d8ac2406d4a9f31d.rmeta --extern itertools=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libitertools-1506c49be038510b.rmeta --extern more_itertools=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libmore_itertools-03833fe072e8477e.rmeta --extern ndarray=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libndarray-71260cca80a8dd7d.rmeta --extern ndarray_ref=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libndarray_ref-067f7da2c123772a.rmeta --extern nonmax=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libnonmax-7b8f70987e1b2fed.rmeta --extern num_traits=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libnum_traits-05c940bc0b327bd7.rmeta --extern obstructions=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libobstructions-74acae3a5fb001e9.rmeta --extern ordered_float=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libordered_float-2271b971b6606687.rmeta --extern palette=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libpalette-9b1e68ffb918f14e.rmeta --extern pga=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libpga-d0bae3dafacd5cfc.rmeta --extern roof_scan=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libroof_scan-f34847f14222ffa9.rmeta --extern spacelines=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libspacelines-9950595a3cecec29.rmeta --extern statistics=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libstatistics-c44025af405fa9f1.rmeta --extern subarray=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libsubarray-a124a14646ec24bf.rmeta --extern thin_vec=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libthin_vec-edd67360050ebd9f.rmeta --extern thiserror=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libthiserror-025dc7ab1f8be558.rmeta --extern tracing=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libtracing-619cfedf92012744.rmeta --extern util=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libutil-8e5baca9d1d64551.rmeta --document-private-items '-Arustdoc::private-intra-doc-links' --crate-version 0.1.0` (exit status: 1)

At the mentioned path:

$ ls target/doc/search.index/type/
5092402c3bd7.js

Version

Happens in both

rustc 1.91.0 (f8297e351 2025-10-28)
binary: rustc
commit-hash: f8297e351a40c1439a467bbbb6879088047f50b3
commit-date: 2025-10-28
host: x86_64-unknown-linux-gnu
release: 1.91.0
LLVM version: 21.1.2

and

rustc 1.93.0-nightly (b15a874aa 2025-11-02)
binary: rustc
commit-hash: b15a874aafe7eab9ea3ac2c1d59c7b03e1425027
commit-date: 2025-11-02
host: x86_64-unknown-linux-gnu
release: 1.93.0-nightly
LLVM version: 21.1.3

but Rust 1.90 was OK.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-rustdoc-searchArea: Rustdoc's search featureC-bugCategory: This is a bug.S-has-bisectionStatus: A bisection has been found for this issueS-needs-reproStatus: This issue has no reproduction and needs a reproduction to make progress.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions