Hi -
We're all familiar with the "It's always a bug in X" line. The usual
suspects include QEMU, KVM, Intel, the compiler, the NIC, the network,
etc. But of course never Akaros. (For those unfamiliar, it's almost
always a bug in Akaros).
Here's my latest: It's a bug in Inferno!
If you write to a Plan 9 chan, but only part of the write makes it
(e.g. you try to write 10K, but only 1K makes it), sys_write() should
return the amount written (1K).
Our bug was that we'd always return 10K - the amount attempted. In
k/s/n/sysfile.c, syswrite() -> rwrite(). Here's the guts:
m = devtab[c->type].write(c, va, n, off);
/* other stuff */
return n;
Doh!
That bug isn't in Plan 9:
https://github.com/brho/plan9/blob/89d43d2262ad43eb4b26c2a8d6a27cfeddb33828/nix/sys/src/nix/port/sysfile.c#L788
But our sysfile.c came from Inferno, not from NIX / Plan 9, since the
port was done before the Plan 9 GPLv2 release. Turns out that bug is
also in Inferno, at least the copy of source I have from it. Doh Doh!
Good times. That probably took 5 hours or so to track down.
Barret
--
You received this message because you are subscribed to the Google Groups
"Akaros" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.