[Bug 237441] Virtio net consistently truncates last byte of a fetch xfer with > 8956 bytes of payload

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Apr 21 16:06:28 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237441

            Bug ID: 237441
           Summary: Virtio net consistently truncates last byte of a fetch
                    xfer with > 8956 bytes of payload
           Product: Base System
           Version: 12.0-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs at FreeBSD.org
          Reporter: bugmenot at mailinator.com

Reading 215737 carefully, I couldn't decide if this was the same problem but
ultimately decided it wasn't.

Environment:  OSX High Sierra running QEMU and the 12.0 release qcow2 image
published on the FreeBSD site.

Qemu command line:  qemu-system-x86_64 -m 2048 -hda
FreeBSD-12.0-RELEASE-amd64.qcow2  -netdev
user,id=mynet0,hostfwd=tcp:127.0.0.1:7722-:22 -device
virtio-net-pci,netdev=mynet0

Trying to install pkg fails.  If you do the following command:

fetch http://pkg.freebsd.org/FreeBSD:12:amd64/latest/Latest/pkg.txz

you will consistently get the following (Note:  with or without [TR]XCSUM
enabled):

fetch: pkg.txz appears to be truncated: 3395051/3395052 bytes

If you download the full package and use dd to grab all but the last byte, the
SHA256 sums match so the data's not corrupted, just missing the final byte (a
'Z') character.  Furthermore, if you run tcpdump in the guest against the
vtnet0 interface while it's transferring you can see the final 'Z' byte in the
final packet so qemu is getting the data to the guest.  If you then ktrace the
fetch process, you'll see that its final read *doesn't* have the 'Z' which
rules out a bug in fetch/libfetch.

Using fetch to test for sizing, I started downloading packages at the jumbo
frame boundary and found that packages <= 8956 bytes work and >= 8960 exhibit
the failure.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list