Re: head -r340287 based powerpc64: multimedia/ffmpeg -r484273 gets a system-clang assert failure [reduced to 15 program]

Mark Millard via freebsd-ppc <[email protected]>
Newsgroups gmane.os.freebsd.devel.ppc,gmane.os.freebsd.devel.toolchain,gmane.os.freebsd.devel.ports
Message-ID <[email protected]>
[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)

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ppc
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.