Skip to content

CI red since v1.8.73-88: 5 tests fail on all platforms (remote SQL exec, path jail, lock count) #175

Description

@reinaldocrespo

Summary

CI on main has been red since the v1.8.73–88 batch: five unit tests fail on every platform job (windows msvc-x64/x86, macos-14, ubuntu ninja-clang with and without TLS). The failure fingerprint is identical across the last three ci runs, including the run before any of our SQL-parity commits landed, so this is not fallout from f1f4339f/45e55a99.

Failing tests (same set in every job)

Test Assertion
network_server_test.cpp:654 — M12.7 remote SQL exec: SELECT cursor + COUNT round-trip REQUIRE(AdsExecuteSQLDirect(...) == 0) fails (FATAL)
network_server_test.cpp:1497 — Enterprise pool: server-side SQL SELECT cursor over the pooled path REQUIRE(AdsExecuteSQLDirect(...) == 0) fails (FATAL)
session_connection_test.cpp:189 — Connection legacy_paths ignores host-absolute file outside data root resolve_table_file(host_abs) == host_can fails
session_connection_test.cpp:392 — remote server refuses host-absolute leftover and stays in the jail got.rfind(jail_can, 0) == 0 fails
abi_lock_comprehensive_test.cpp:713 — Table lock and record locks coexist independently CHECK(cnt == 2) fails

macos-14 additionally shows an intermittent ByteLock exclusive lock blocks a second exclusive lock (try) failure.

Evidence it pre-dates the parity commits

  • Run 31996160296 (2043964bfeat(session): process-wide RESOLVED sequence column): same 5 jobs, same 5 tests.
  • Run 32060040670 (45e55a99 — our push): identical fingerprint; the tests added/changed by the parity commits (abi_sql_show_deleted_test, ADI seek/keycount, copy-table) pass on all platforms.
  • Run 32061472735 (feat(audit): A/U prefix, thread ID, and log retention): still failing after.
  • Locally reproduced on a clean origin/main build (Windows, ninja-clang) with all parity changes stashed: the same five tests fail.

Probable area

All five tests live in code reworked in v1.8.73–88: remote/network SQL execution, the RESOLVED path-resolution jail (resolve_table_file / legacy_paths), and the lock manager. The two session_connection cases fail on the host-absolute-path handling that the RESOLVED sequence work touched; the two network_server SQL execs fail at statement execution over the server path; the lock test count changed from 2.

Related note

45e55a99 made the new RESOLVED audit stderr echo opt-in (OPENADS_LOG / OPENADS_RESOLVE_VERBOSE, or an explicit set_audit_console() sink): the unconditional stderr write from inside the DLL polluted every embedded consumer's output (php under Apache, Harbour apps, the SAP-parity harness — the qa-diff gates dropped from 41/1 + 37/18 to 9/33 + 5/50 until it was gated). OPENADS_LOG_FILE behaviour is unchanged. Flagging here since the audit work is ongoing — if a different default is wanted for serverd, set_audit_console(&std::cerr) at serverd startup keeps the DLL silent for embedded hosts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions