Relayd crashing Kernel on 10.1
chris
chris at bsdjunk.com
Wed Nov 26 08:48:09 UTC 2014
Hi,
if you used freebsd-update that only updates the core you need to manually update the ports normally it is recommended to recompile all the ports or if your using pkgng a simple pkg update pkg upgrade should get you going allowing you to update without these issues.
-------------------------------------
Chris Petrik
FreeBSD Developer
E on FreeBSD
------
As in certain cults it is possible to kill a process if you know its true name.
-- Ken Thompson and Dennis M. Ritchie
---- On Wed, 26 Nov 2014 02:43:19 -0600 Kolontai Andrej<Andrej.Kolontai at Verwaltung.Uni-Muenchen.DE> wrote ----
> Hello @all,
>
> I'm new to this list and hope this is the right place to ask.
> We are using FreeBSD for our Firewalls and are actually happy with it. Since recently we use relayd (installed via pkg) to do some load balancing stuff. On a freshly installed machine running 10.0-RELEASE everything worked fine.
> On monday, I tried to upgrade to 10.1-RELEASE using freebsd-update as described in the handbook chapter 24. At first everything looked good but relayd wouldn't come up:
>
> "Nov 24 10:50:48 flutters relayd[3300]: fatal: cannot add rule: Operation not supported by device
> Nov 24 10:50:48 flutters relayd[3293]: lost child: pfe exited abnormally"
>
> When I tried to start it with /usr/local/etc/rc.d/relayd start the kernel panicked. I had to roll back the update (which worked fine). However, I was able to reproduce this behavior on a virtual machine.
>
>
> My guess is it happens here:
> #7 0xffffffff81a37954 in pfr_detach_table (kt=0x0)
> at /usr/src_10.1.0/sys/modules/pf/../../netpfil/pf/pf_table.c:2047
>
> The corresponding code is:
> void
> pfr_detach_table(struct pfr_ktable *kt)
> {
>
> PF_RULES_WASSERT();
> KASSERT(kt->pfrkt_refcnt[PFR_REFCNT_RULE] > 0, ("%s: refcount %d\n",
> __func__, kt->pfrkt_refcnt[PFR_REFCNT_RULE]));
>
> if (!--kt->pfrkt_refcnt[PFR_REFCNT_RULE])
> pfr_setflags_ktable(kt, kt->pfrkt_flags&~PFR_TFLAG_REFERENCED);
> }
>
> From what I know about C programming: kt is not supposed to be 0x0.
> My guess was that some data structure has changed between 10.0 and 10.1 kernels. So a recompile of relayd should fix that. It did. I compiled it from the ports and it worked.
>
> Now my question ist: did I do something wrong? Maybe compiling is the preferred method over using binaries? I'm still trying to figure out what the "stay-out-of-trouble"-mode on FreeBSD is (like yum -y update). But I'd rather use the binaries.
>
>
> Viele Grüße
>
> Andrej Kolontai
>
> Ludwig-Maximilians-Universitaet Muenchen
> Ref. VI.4 (IT-Sicherheit & Verzeichnisdienste)
> Martiusstrasse 4 / 207
> 80802 Muenchen
>
> phone +49 (0)89 2180-3815
> email mailto:andrej.kolontai at verwaltung.uni-muenchen.de
> web http://www.uni-muenchen.de/zuv/it/
>
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
More information about the freebsd-questions
mailing list