Date: Wed, 26 Nov 2014 02:48:02 -0600 From: chris <chris@bsdjunk.com> To: Kolontai Andrej <Andrej.Kolontai@Verwaltung.Uni-Muenchen.DE> Cc: "'freebsd-questions@freebsd.org'" <freebsd-questions@freebsd.org> Subject: Re: Relayd crashing Kernel on 10.1 Message-ID: <149eb493147.be70d913323267.2224861688157199256@bsdjunk.com> In-Reply-To: <894145A3DDBDEF4880E00D334DCD872618A8B2DE@MXS2.zuv.uni-muenchen.de> References: <894145A3DDBDEF4880E00D334DCD872618A8B2DE@MXS2.zuv.uni-muenchen.de>
next in thread | previous in thread | raw e-mail | index | archive | help
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 i= f your using pkgng a simple pkg update pkg upgrade should get you going all= owing 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 n= ame. -- Ken Thompson and Dennis M. Ritchie ---- On Wed, 26 Nov 2014 02:43:19 -0600 Kolontai Andrej<Andrej.Kolontai@Ver= waltung.Uni-Muenchen.DE> wrote ----=20 > Hello @all,=20 > =20 > I'm new to this list and hope this is the right place to ask. =20 > We are using FreeBSD for our Firewalls and are actually happy with it. S= ince recently we use relayd (installed via pkg) to do some load balancing s= tuff. On a freshly installed machine running 10.0-RELEASE everything worked= fine. =20 > On monday, I tried to upgrade to 10.1-RELEASE using freebsd-update as de= scribed in the handbook chapter 24. At first everything looked good but rel= ayd wouldn't come up:=20 > =20 > "Nov 24 10:50:48 flutters relayd[3300]: fatal: cannot add rule: Operatio= n not supported by device=20 > Nov 24 10:50:48 flutters relayd[3293]: lost child: pfe exited abnormally= "=20 > =20 > When I tried to start it with /usr/local/etc/rc.d/relayd start the kerne= l panicked. I had to roll back the update (which worked fine). However, I w= as able to reproduce this behavior on a virtual machine. =20 > =20 > =20 > My guess is it happens here:=20 > #7 0xffffffff81a37954 in pfr_detach_table (kt=3D0x0)=20 > at /usr/src_10.1.0/sys/modules/pf/../../netpfil/pf/pf_table.c:2047= =20 > =20 > The corresponding code is:=20 > void=20 > pfr_detach_table(struct pfr_ktable *kt)=20 > {=20 > =20 > PF_RULES_WASSERT();=20 > KASSERT(kt->pfrkt_refcnt[PFR_REFCNT_RULE] > 0, ("%s: refcount %d= \n",=20 > __func__, kt->pfrkt_refcnt[PFR_REFCNT_RULE]));=20 > =20 > if (!--kt->pfrkt_refcnt[PFR_REFCNT_RULE])=20 > pfr_setflags_ktable(kt, kt->pfrkt_flags&~PFR_TFLAG_REFER= ENCED);=20 > }=20 > =20 > From what I know about C programming: kt is not supposed to be 0x0. =20 > 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 fr= om the ports and it worked. =20 > =20 > Now my question ist: did I do something wrong? Maybe compiling is the p= referred method over using binaries? I'm still trying to figure out what t= he "stay-out-of-trouble"-mode on FreeBSD is (like yum -y update). But I'd r= ather use the binaries. =20 > =20 > =20 > Viele Gr=C3=BC=C3=9Fe =20 > =20 > Andrej Kolontai=20 > =20 > Ludwig-Maximilians-Universitaet Muenchen=20 > Ref. VI.4 (IT-Sicherheit & Verzeichnisdienste) =20 > Martiusstrasse 4 / 207=20 > 80802 Muenchen=20 > =20 > phone +49 (0)89 2180-3815=20 > email mailto:andrej.kolontai@verwaltung.uni-muenchen.de=20 > web http://www.uni-muenchen.de/zuv/it/=20 > =20 > _______________________________________________=20 > freebsd-questions@freebsd.org mailing list=20 > http://lists.freebsd.org/mailman/listinfo/freebsd-questions=20 > To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.= org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?149eb493147.be70d913323267.2224861688157199256>