Skip to content

Retry FastLanes mixed-schema and numeric round trips #38

Closed

Description

@Anionix

Retry pinned FastLanes evidence from #16 when the official Python writer supports mixed string/numeric tables without TypedCast failure or process exit -11. Require a 13-column round trip before any ranking.

Activity

  1. Anionix commented on Jul 14, 2026

    @Anionix
    OwnerAuthor

    Evidence split for the robustness v1 follow-up:

    • Lab defect: the earlier numeric -11 observation used comma-separated input even though the official reader uses |. The corrected pipe-delimited contract is now encoded in the experimental target.
    • Format observation: the pinned FastLanes evidence still records partial-vector string failures at 1,023, 1,025, and 2,049 rows, while 1,024 and 2,048 were the documented successful boundaries.
    • Crash observation: malformed comma input is retained as MUST_NOT_CRASH evidence and isolated in a subprocess. It is not called an upstream bug until a minimal reproducer against the pinned official commit is confirmed.

    The target is PARTIAL/EXPERIMENTAL and never gates Core CI.

  2. Anionix commented on Jul 16, 2026

    @Anionix
    OwnerAuthor

    Revalidation: official Python binding remains blocked

    2026-07-17 JST, fixed source commit f0edc1020a538f1f8098640fce8347c9ac247a0d (remote HEAD) was checked out and built in the repository Nix environment.

    Environment:

    • macOS ARM64: Darwin 27.0.0
    • Python 3.12.13
    • Clang 21.1.8
    • pip build dependencies: scikit-build-core 0.11.6, CMake 4.4.0, Ninja

    Command shape:

    python3 -m venv .venv
    .venv/bin/python -m pip install scikit-build-core cmake ninja pybind11 setuptools_scm
    CMAKE_BUILD_PARALLEL_LEVEL=4 .venv/bin/python -m pip install --no-build-isolation -e .
    

    Observed failure before any 13-column round trip:

    src/table/stats.cpp:17:21: error: null passed to a callee that requires a non-null argument [-Werror,-Wnonnull]
    ... instantiation of member function TypedStats<std::string>::TypedStats
    

    The source confirms the official Python API exists, the CSV reader uses |, and ReadCsv asserts that row count is a multiple of the 1,024-value vector size. The mixed-schema writer/reader itself was therefore not reclassified: this run is UNAVAILABLE for the requested round-trip because the pinned official binding does not build in this host/toolchain. It is not yet an upstream format bug. A Linux x86_64 retry or an upstream-supported warning/toolchain configuration is required before ranking.

  3. Anionix commented on Jul 16, 2026

    @Anionix
    OwnerAuthor

    Linux revalidation: runner fixed, FastLanes remains experimental

    Workflow run: https://github.com/Anionix/data-format-lab/actions/runs/29520329351
    Source commit: f0edc1020a538f1f8098640fce8347c9ac247a0d
    Environment: Ubuntu 24.04, x86_64, Python 3.12.13, Clang 21.1.8, pyfastlanes==0.1.3.post9, runtime 0.1.4.

    The dependency-isolated runner now completed and preserved per-case artifacts, logs, and SHA-256 hashes. Results:

    • numeric-8-columns, 1,000,000 rows: SIGSEGV (-11)
    • string-{1023,1024,1025,2048,2049}: all SIGSEGV (-11)
    • mixed-13-columns, 1,024 rows: RuntimeError: UNREACHABLE
    • comma-malformed: RuntimeError from invalid integer input, no process crash

    This supersedes any general statement that pipe-delimited numeric input succeeds. The earlier corrected numeric success remains a separate host/workload observation. The result is still PARTIAL/FAILED evidence and is not an upstream bug claim until a minimal reproducer is confirmed against the pinned source.

  4. Anionix commented on Jul 16, 2026

    @Anionix
    OwnerAuthor

    Durable Linux retry evidence

    PR #174 is now merged on main, preserving the exact host/toolchain record and the Release asset for workflow run 29520329351.

    The result remains PARTIAL/FAILED: the Linux numeric and string cases exited SIGSEGV, and the 13-column mixed case raised UNREACHABLE. It is excluded from rankings and is not, by itself, an upstream bug claim. The next retry requires a reproducible source/toolchain that completes the mixed-schema round trip without fatal termination on both supported hosts.

  5. Anionix commented on Jul 16, 2026

    @Anionix
    OwnerAuthor

    Public-source audit (2026-07-17 JST)

    The parallel audit found no decision-changing retry basis for the pinned FastLanes experiment.

    • The lab's reproducible evidence remains tied to f0edc1020a538f1f8098640fce8347c9ac247a0d.
    • The macOS official Python binding build still stops in TypedStats<std::string> before a 13-column round trip.
    • The Linux evidence remains durable: numeric 1M x 8 and string boundary cases terminated with SIGSEGV, while the 13-column case raised UNREACHABLE; malformed comma input raised an ordinary runtime error without a process crash.
    • The official quick-fuzz target is still experimental evidence, not a general round-trip result.

    Classification remains PARTIAL / FAILED, excluded from rankings, and this is not an upstream bug claim. We will retry only when an upstream-supported or reproducibly pinned toolchain completes the mixed-schema round trip without fatal termination on both supported hosts.

  6. Anionix commented on Jul 16, 2026

    @Anionix
    OwnerAuthor

    Current retry boundary (2026-07-17 JST)

    The official FastLanes HEAD still resolves to the recorded commit . Existing Linux and macOS evidence therefore remains the authoritative retry result; repeating the same full workflow would not add information. The next useful run is the smallest Linux x86_64 mixed-schema case at 1,024 rows, with the existing fresh-process artifact capture, before making any upstream bug claim.

  7. Anionix commented on Jul 16, 2026

    @Anionix
    OwnerAuthor

    Correction to the previous comment

    The previous comment was shell-escaped incorrectly. The authoritative result is:

    The official FastLanes HEAD still resolves to the recorded commit f0edc1020a538f1f8098640fce8347c9ac247a0d. Existing Linux and macOS evidence therefore remains the authoritative retry result; repeating the same full workflow would not add information. The next useful run is the smallest Linux x86_64 mixed-schema case at 1,024 rows, with the existing fresh-process artifact capture, before making any upstream bug claim.

  8. Anionix commented on Jul 16, 2026

    @Anionix
    OwnerAuthor

    Focused retry result from merged PR #189:

    This is a reproducible claim failure, not an upstream bug attribution. The issue remains open under the existing retry conditions: a successful mixed-schema round trip without the prior SIGSEGV/UNREACHABLE observations, independently reproduced on macOS and Linux.

  9. Anionix commented on Jul 17, 2026

    @Anionix
    OwnerAuthor

    Closure: retry scope complete (2026-07-17 JST)

    The requested pinned FastLanes retry is complete as a reproducible research result. The official dev branch currently still resolves to f0edc1020a538f1f8098640fce8347c9ac247a0d, so there is no source change that justifies repeating the same workflow.

    • Linux x86_64: the full official Python retry preserved artifacts and reproduced SIGSEGV in numeric/string cases; the focused 1,024-row, 13-column pipe-delimited retry built the extension but raised RuntimeError: UNREACHABLE at wizard.cpp:1252.
    • macOS ARM64: the official Python binding build stopped in TypedStats<std::string> under the pinned Nix/Clang toolchain before a mixed-schema round trip.
    • The required 13-column successful round trip was therefore not established. FastLanes remains PARTIAL/FAILED, EXPERIMENTAL, and excluded from rankings.

    This closes the lab-side retry/revalidation work; it does not claim an upstream FastLanes bug or a successful format round trip. Reopen only when a changed upstream source or supported toolchain enables a new independent Linux and macOS retry.

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

    bugSomething isn't workingneeds-infoNeeds more information

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions