Skip to content

fix(engines): pypcapfile engine reads zero frames from a big-endian PCAP, without warning #1512

Closed

Description

@JarryShaw

With engine='pypcapfile', examples/captures/big_endian.pcap and big_endian_nanosecond.pcap give 0 frames, against 3 from the default engine.

Measured in a Python 3.11 venv with pypcapfile 0.12.0: pcapfile.savefile.load_savefile(f, layers=0, lazy=False).packets has length 0 for both files, against 7 for tcp.pcap. The engine iterates that empty list (pcapkit/foundation/engines/pypcapfile.py:233-250), so the result is silently empty.

Expected: read the frames, or refuse with a warning or error, as the engine already does for PCAP-NG.

Found by #1508, where it is a Gap(0) row in tests/foundation/engines/test_engine_agreement_runtime.py. Refs #1202.

Activity

  1. added
    fixPull requests that fix a defect (fix: subject prefix)
    pendingAccepted and unstarted - nobody is on it and nothing blocks it
    on Oct 9, 2026
  2. JarryShaw commented on Oct 9, 2026

    @JarryShaw
    OwnerAuthor

    Blocked until #1508 merges. That PR adds this defect's known-failure row in tests/foundation/engines/test_engine_agreement_runtime.py, and a fix has to delete that row, so the fix waits for the row to exist on main.

  3. added
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    and removed
    pendingAccepted and unstarted - nobody is on it and nothing blocks it
    on Oct 9, 2026
  4. moved this to Blocked in PyPCAPKiton Oct 9, 2026
  5. JarryShaw commented on Oct 9, 2026

    @JarryShaw
    OwnerAuthor

    Still blocked, now on #1521 instead of #1508. #1508 has merged, but #1521 edits foundation/engines/pypcapfile.py, which this fix needs. Unblocks when #1521 merges.

  6. JarryShaw commented on Oct 10, 2026

    @JarryShaw
    OwnerAuthor

    Still blocked, now on #1535 instead of #1521. #1521 has merged, but #1535 (open, review: good-to-go) edits pcapkit/foundation/engines/pypcapfile.py, and this fix needs that file too. Unblocks when #1535 merges.

  7. JarryShaw commented on Oct 10, 2026

    @JarryShaw
    OwnerAuthor

    Unblocked: #1535 has merged (ea883a648), so pcapkit/foundation/engines/pypcapfile.py is free. A worker is now root-causing why pypcapfile returns no packets for a big-endian file. It is working only on the engine, and leaving toolkit/pypcapfile.py to #1537.

  8. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Oct 10, 2026
  9. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 10, 2026
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

    fixPull requests that fix a defect (fix: subject prefix)

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions