head -r340287 based powerpc64: multimedia/ffmpeg -r484273 gets a system-clang assert failure [reduced to 15 program]
Mark Millard
marklmi at yahoo.com
Fri Nov 23 09:13:46 UTC 2018
[I isolated the compiler crash down to a 20 line program
that makes the assert fail.]
On 2018-Nov-22, at 13:03, Mark Millard <marklmi at yahoo.com> wrote:
> During a (native) poudriere-devel run I got the following failure.
> [Unfortunately clang and poudriere are mismatched for where the
> preprocessed source(s) and run script(s) are placed as far as
> what is in the poudriere tar archive produced. But I did have
> kern.corefile set so that the core file was captured.]
>
> This happens to be on powerpc64 where I experiment with using
> fairly modern cc/c++ and the like. devel/powerpc64-xtoolchain-gcc
> was used for buildworld buildkernel and clang was built as cc.
> But the system binutils is from base/binutils . So not an official
> gcc 4.2.1 toolchain context, more of a futures-testing context.
>
> The error report from clang (after 332 other ports had built):
>
> cc: error: unable to execute command: Abort trap (core dumped)
> cc: error: clang frontend command failed due to signal (use -v to see invocation)
> FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1)
> Target: powerpc64-unknown-freebsd13.0
> Thread model: posix
> InstalledDir: /usr/bin
> cc: note: diagnostic msg: PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the crash backtrace, preprocessed source, and associated run script.
> cc: note: diagnostic msg:
> ********************
>
> PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
> Preprocessed source(s) and associated run script(s) are located at:
> cc: note: diagnostic msg: /tmp/vf_convolution-9639c0.c
> cc: note: diagnostic msg: /tmp/vf_convolution-9639c0.sh
> cc: note: diagnostic msg:
>
> ********************
> gmake[1]: *** [ffbuild/common.mak:60: libavfilter/vf_convolution.o] Error 254
> gmake[1]: *** Waiting for unfinished jobs....
> gmake[1]: Leaving directory '/wrkdirs/usr/ports/multimedia/ffmpeg/work/ffmpeg-4.1'
> ===> Compilation failed unexpectedly.
> Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
> the maintainer.
> *** Error code 1
>
> . . .
>
I isolated the system-clang crash down to a 15 line program
that makes the assert fail for the reduced command:
"/usr/bin/cc" "-cc1" "-emit-obj" "-target-cpu" "ppc64" "-O1" "-vectorize-loops" "vf_convolution-mmjnk.c"
( -O2 and -O3 also cause the failure. )
# more vf_convolution-mmjnk.c
double sqrt(double);
static void filter_sobel(unsigned char *dst, int width,
const unsigned char *c[])
{
const unsigned char *c0 = c[0], *c1 = c[1];
int x;
for (x = 0; x < width; x++) {
dst[x] = sqrt(c0[x] * -1 + c1[x] * -2);
}
}
void (*mmjnk)(unsigned char *dst, int width,
const unsigned char *c[]) = filter_sobel;
The error reported is:
Assertion failed: (isSimple() && "Expected a SimpleValueType!"), function getSimpleVT, file /usr/src/contrib/llvm/include/llvm/CodeGen/ValueTypes.h, line 254.
Abort trap (core dumped)
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-toolchain
mailing list