Signal 12 on make update (or any target in /usrc/src)
kostikbel at gmail.com
Wed Aug 10 15:03:59 UTC 2016
On Wed, Aug 10, 2016 at 10:49:40AM -0400, Matteo Riondato wrote:
> > On Aug 10, 2016, at 10:41 AM, Konstantin Belousov <kostikbel at gmail.com> wrote:
> > On Wed, Aug 10, 2016 at 10:33:23AM -0400, Matteo Riondato wrote:
> >> Hi all,
> >> I recently upgraded from a late June (pre 11-branch, as far as I can tell) revision to r303771.
> >> Now, running ???make update??? (or buildworld, ???) in /usr/src fails with a signal 12:
> >> matteo at triton:/usr/src$ sudo make update
> >> Password:
> >> *** Signal 12
> > You did not updated, I think. You, most likely, inly updated the kernel,
> > but left the old userspace in place, at least libc.
> That would be surprising but it may have happened, as I don???t remember without doubts to have run installworld :/
> > Signal 12 is SIGSYS, which means that the program tries to use a syscall
> > not implemented by the kernel. My guess is that your kernel lacks option
> > COMPAT_FREEBSD10, and the failing syscall is pipe(2).
> Indeed I do not have COMPAT_FREEBSD10, because I believed my previous world revision was >302092, as noted by the entry about pipe(2) in UPDATING.
> Any suggestion on how to fix this?
> Boot the old kernel, add COMPAT_FREEBSD10 to kernel config, and rebuild/install world and kernel perhaps?
If old kernel works, then this would allow you to recover.
Take libc.so.7 from the BETA-4, and put it into /lib, taking backup of
your current libc first. I suspect this is the easiest route if old
kernel does not match with your world.
More information about the freebsd-current