On 2017. 03. 09. 14:20, Gergely Czuczy wrote:
On 2017. 03. 09. 11:27, Gergely Czuczy wrote:

I'm trying to build a few things from ports on an rpi3, the ports collection is mounted over NFS from another machine. When it's trying to build pkg i'm getting the error message in syslog:

rpi3 kernel: pid 4451 (sh), uid 0, was killed: text file modification

The report to pkg@:

In ports-mgmt/pkg's config.log It fails at the following entry:
configure:3726: checking whether we are cross compiling
configure:3734: cc -o conftest -O2 -pipe -Wno-error -fno-strict-aliasing conftest.c >&5
configure:3738: $? = 0
configure:3745: ./conftest
configure:3749: $? = 137
configure:3756: error: in `/usr/ports/ports-mgmt/pkg/work/pkg-1.10.0':
configure:3760: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details

# uname -a
FreeBSD rpi3 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r314949: Thu Mar 9 08:58:46 CET 2017 ae...@marvin.harmless.hu:/tank/rpi3/crochet/work/obj/arm64.aarch64/tank/rpi3/src/sys/AEGIR arm64
So far, a few additions:
Time is synced between the NFS server and the client.
it's an open() call which is getting the kill, and it's not the file what's being opened, but the process executing it.
Here's a simple code that reproduces it:
#include <stdio.h>

int main() {

  FILE *f = fopen ("/bar", "w");

  return 0;

Conditions to reproduce it:
 - The resulting binary must be executed from the nfs mount
 - The binary must be built after mounting the NFS share.

I haven't tried building it on a different host, I don't have access to multiple RPis. Also, if I build the binary, umount/remount the NFS mount point, which has the binary, execute it, then it works.

I've also tried this with the raspbsd.org's image, I could reproduce it as well.

Another interesting thing is, when I first booted the RPi up, the NFS server was a 10.2-STABLE, and later got updated to 11-STABLE. While it was 10.2 I've tried to build some port, and I don't remember having this issue.

So, could someone please help me figure this out and fix it? This stuff should work pretty much.

So, this error message comes from here:

It's the NFS_TIMESPEC_COMPARE(&np->n_mtime, &np->n_vattr.na_mtime) comparision that fails, np should be the NFS node structure, from the vnode's v_data, and n_vattr is the attribute cache. As I've seen these two are being updated together, so I don't really see by the code why they might differ. Could someone please take a look at it, with more experience in the NFS code? -czg
freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to