Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Oct 2016 15:18:55 +0200 (CEST)
From:      =?ISO-8859-1?Q?Trond_Endrest=F8l?= <Trond.Endrestol@fagskolen.gjovik.no>
To:        Tomasz CEDRO <tomek@cedro.info>
Cc:        FreeBSD Questions Mailing List <freebsd-questions@freebsd.org>, FreeBSD Stable <freebsd-stable@freebsd.org>
Subject:   Re: PKG bootstrap FreeBSD 11.0 / VBox NAT problem
Message-ID:  <alpine.BSF.2.20.1610281515290.1016@mail.fig.ol.no>
In-Reply-To: <CAFYkXjkQUJbboJ%2BjoduDf7idH=Md=ERHeezW_mMw8o%2BC8ar62g@mail.gmail.com>
References:  <CAFYkXjkQUJbboJ%2BjoduDf7idH=Md=ERHeezW_mMw8o%2BC8ar62g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 28 Oct 2016 14:15+0200, Tomasz CEDRO wrote:

> Just for the curious. I am testing on VirtualBox (Version 5.1.8
> r111374 (Qt5.5.1), macOS 10.12.1 host). Cannot bootstrap PKG on a host
> with NAT enabled.I have noticed this problem occurs only when NAT is
> enabled in VBox. When I use Bridged interface there is no problem. I
> have noticed that outgoing packet following RST response has invalid
> checksum. That may be VBox NAT problem..? Maybe someone noticed
> similar behavior..
> 
> https://www.virtualbox.org/ticket/16126

Upgrading VBox (the hypervisor software) to 5.1.8 last week made 
"make -C /usr/ports fetchindex" next to impossible on my FreeBSD 
guests.

I was running 5.1.6 of emulators/virtualbox-ose-additions{,-nox11} at 
that time. Luckily, I was able to upgrade the latter to 5.1.8 and all 
network/NAT problems went away.

-- 
+-------------------------------+------------------------------------+
| Vennlig hilsen,               | Best regards,                      |
| Trond Endrestøl,              | Trond Endrestøl,                   |
| IT-ansvarlig,                 | System administrator,              |
| Fagskolen Innlandet,          | Gjøvik Technical College, Norway,  |
| tlf. mob.   952 62 567,       | Cellular...: +47 952 62 567,       |
| sentralbord 61 14 54 00.      | Switchboard: +47 61 14 54 00.      |
+-------------------------------+------------------------------------+
From owner-freebsd-stable@freebsd.org  Fri Oct 28 15:15:14 2016
Return-Path: <owner-freebsd-stable@freebsd.org>
Delivered-To: freebsd-stable@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id E7CE1C248C0;
 Fri, 28 Oct 2016 15:15:14 +0000 (UTC) (envelope-from jhb@freebsd.org)
Received: from mail.baldwin.cx (bigwig.baldwin.cx [96.47.65.170])
 (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id BE16930B;
 Fri, 28 Oct 2016 15:15:14 +0000 (UTC) (envelope-from jhb@freebsd.org)
Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net
 [73.231.226.104])
 by mail.baldwin.cx (Postfix) with ESMTPSA id 9C1CD10AF8A;
 Fri, 28 Oct 2016 11:15:13 -0400 (EDT)
From: John Baldwin <jhb@freebsd.org>
To: freebsd-current@freebsd.org
Cc: Mark Millard <markmi@dsl-only.net>, freebsd-arm <freebsd-arm@freebsd.org>,
 FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org>,
 FreeBSD Toolchain <freebsd-toolchain@freebsd.org>
Subject: Re: stable/11 -r307797 on BPi-M3 (cortex-a7): truss gets segmentation
 fault for handling unknown system call
Date: Fri, 28 Oct 2016 07:29:52 -0700
Message-ID: <2661167.K5IN9JAPmQ@ralph.baldwin.cx>
User-Agent: KMail/4.14.10 (FreeBSD/11.0-PRERELEASE; KDE/4.14.10; amd64; ; )
In-Reply-To: <0699F744-DEB3-4ED5-91A9-B77EA2ACED37@dsl-only.net>
References: <0699F744-DEB3-4ED5-91A9-B77EA2ACED37@dsl-only.net>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3
 (mail.baldwin.cx); Fri, 28 Oct 2016 11:15:13 -0400 (EDT)
X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx
X-Virus-Status: Clean
X-BeenThere: freebsd-stable@freebsd.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Production branch of FreeBSD source code <freebsd-stable.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/freebsd-stable>, 
 <mailto:freebsd-stable-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-stable/>;
List-Post: <mailto:freebsd-stable@freebsd.org>
List-Help: <mailto:freebsd-stable-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/freebsd-stable>,
 <mailto:freebsd-stable-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Oct 2016 15:15:15 -0000

On Tuesday, October 25, 2016 11:40:38 AM Mark Millard wrote:
> [The following has been reported in: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213778 .]
> 
> In trying to build lang/gcc6 xgcc's cc1 got some SIGSYS examples. In trying to track things down I ran into truss getting a SIGSEGV when it tries to handle the situation. . .
> 
> In truss's enter_syscall there is (from a live gdb on truss, after the segmentation fault):
> 
> 380		t->cs.name = sysdecode_syscallname(t->proc->abi->abi, t->cs.number);
> 381		if (t->cs.name == NULL)
> (gdb) 
> 382			fprintf(info->outfile, "-- UNKNOWN %s SYSCALL %d --\n",
> 383			    t->proc->abi->type, t->cs.number);
> 384	
> 385		sc = get_syscall(t->cs.name, narg);
> 386		t->cs.nargs = sc->nargs;
> 387		assert(sc->nargs <= nitems(t->cs.s_args));
> 388	
> 389		t->cs.sc = sc;
> 
> (gdb) print *t
> $2 = {entries = {le_next = 0x0, le_prev = 0x20617070}, proc = 0x20617060, tid = 100150, in_syscall = 1, cs = {sc = 0x0, name = 0x0, number = 580828064, args = 0x2061b0c0, nargs = 0, 
>     s_args = 0x2061b0ec}, before = {tv_sec = 1477418265, tv_nsec = 492342263}, after = {tv_sec = 1477418265, tv_nsec = 492496630}}
> 
> (gdb) print sc
> $3 = (struct syscall *) 0x0
> 
> So line 386 listed above gets a segmentation fault for sc->nargs when t->cs.name is a NULL pointer: sc ends up NULL.
> 
> Looking at the two things that the fprintf on lines 382 and 383 would report:
> 
> (gdb) print t->proc->abi->type
> $4 = 0x10166 "FreeBSD ELF32"
> 
> (gdb) print t->cs.number
> $5 = 580828064
> 
> (gdb) print narg
> $6 = 0
> 
> (that last is for context for the get_syscall arguments).
> 
> FYI: 580828064 = 0x229EBBA0

I have a patchset I have tested some in a git branch that I believe fixes handling of
unknown system calls.  Please try this:

https://github.com/freebsd/freebsd/compare/master...bsdjhb:truss_unknown

(Add .diff to get a diff you can apply with patch)

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.20.1610281515290.1016>