Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Apr 2018 12:05:53 -0400
From:      Lowell Gilbert <freebsd-stable-local@be-well.ilk.org>
To:        Dimitry Andric <dim@FreeBSD.org>
Cc:        FreeBSD Stable <freebsd-stable@freebsd.org>
Subject:   Re: gptboot broken when compiled with clang 6 and WITHOUT_LOADER_GELI -- clang 5 is OK
Message-ID:  <44tvry9cm6.fsf@be-well.ilk.org>
In-Reply-To: <55C3B174-0A2B-4954-BEB8-BF6688EBB02D@FreeBSD.org> (Dimitry Andric's message of "Thu, 26 Apr 2018 13:45:51 %2B0200")
References:  <20180425165840.GA1330@bali> <fd725966-e7c2-28e8-cea5-68473ad7b00d@heuristicsystems.com.au> <3A857D03-607A-4983-A4C2-D3A93119297A@FreeBSD.org> <55C3B174-0A2B-4954-BEB8-BF6688EBB02D@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Dimitry Andric <dim@FreeBSD.org> writes:

> On 26 Apr 2018, at 12:06, Dimitry Andric <dim@FreeBSD.org> wrote:
>> 
>> On 26 Apr 2018, at 06:17, Dewayne Geraghty <dewayne.geraghty@heuristicsystems.com.au> wrote:
>>> 
>>> Andre, You're not alone.  I think there's a problem with clang6 on i386
>>> FreeBSD 11.1X, refer:
>>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227552
>>> https://forums.freebsd.org/threads/uptime-w-i386-breakage.65584/
>>> and perhaps also on amd64, search for
>>> https://bugs.freebsd.org/bugzilla/buglist.cgi?quicksearch=clang&list_id=226390.
>>> 
>>> Without time to investigate I've reverted userland
>>> FreeBSD 11.2-PRERELEASE  r332843M    amd64 1101515 1101509
>>> FreeBSD 11.2-PRERELEASE  r332843M    i386 1101515 1101509
>> 
>> As noted in another post, I cannot reproduce the problems with gptboot,
>> but with FreeBSD-11.2-PRERELEASE-i386-20180420-r332802, I do indeed see
>> w and uptime crashing in libxo:
>> 
>> (gdb) bt
>> #0  ifree (tsd=0x28000000) at arena.h:799
>> #1  0x2814b506 in __free (ptr=0x280601ef) at tsd.h:716
>> #2  0x2808bb07 in xo_do_emit_fields () at /usr/src/contrib/libxo/libxo/libxo.c:6419
>> #3 0x28089a1c in xo_do_emit (xop=<value optimized out>, flags=<value
>> optimized out>, fmt=0x804ad4d "{:time-of-day/%s} ") at
>> /usr/src/contrib/libxo/libxo/libxo.c:6470
>> #4  0x28089b61 in xo_emit (fmt=0x804ad4d "{:time-of-day/%s} ") at /usr/src/contrib/libxo/libxo/libxo.c:6541
>> #5  0x08049f50 in main (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/usr.bin/w/w.c:475
>> #6  0x080494cd in _start1 ()
>> #7  0x08049448 in _start ()
>> #8  0x00000000 in ?? ()
>> 
>> Not sure if this has anything to do with clang though, it looks more
>> like a double free to me, at first glance.  I'll do some debugging.
>
> Strangely, simply recompiling libxo fixes the problem, or at least works
> around it.  This is on the r332802 snapshot, so I guess the libxo.so.0
> file shipped may be broken, somehow.

Actually, that is a recurring bug
(https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227552)
and does seem to be some kind of initialization problem with clang.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44tvry9cm6.fsf>