From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 105869] clang crashes when compiling OpenCL kernel Date: Tue, 03 Apr 2018 21:01:13 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1211118068==" Return-path: Received: from culpepper.freedesktop.org (culpepper.freedesktop.org [IPv6:2610:10:20:722:a800:ff:fe98:4b55]) by gabe.freedesktop.org (Postfix) with ESMTP id CDEB46E321 for ; Tue, 3 Apr 2018 21:01:13 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============1211118068== Content-Type: multipart/alternative; boundary="15227892730.e2e47B.18397" Content-Transfer-Encoding: 7bit --15227892730.e2e47B.18397 Date: Tue, 3 Apr 2018 21:01:13 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated https://bugs.freedesktop.org/show_bug.cgi?id=3D105869 Bug ID: 105869 Summary: clang crashes when compiling OpenCL kernel Product: Mesa Version: git Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/radeonsi Assignee: dri-devel@lists.freedesktop.org Reporter: vedran@miletic.net QA Contact: dri-devel@lists.freedesktop.org (from #radeon and https://paste.debian.net/1018363/) When compiling the following OpenCL kernel kernel void PulseWave(global float* buffer, size_t num_harmonics, float duty_cycle) { size_t index =3D get_global_id(0); float phase =3D buffer[index]; float sample =3D duty_cycle; float precompute1 =3D (phase - duty_cycle / 2.0) * 2.0 * M_PI; for (size_t i =3D 1; i <=3D num_harmonics; ++i) { float harmonic =3D 2.0 / (i * M_PI) * sin(M_PI * i * duty_c= ycle) * cos(i * precompute1); sample +=3D harmonic; } buffer[index] =3D sample * 2.0 - 1.0; } Clang will crash with Thread 1 "ftz_chiptune_pu" received signal SIGSEGV, Segmentation fault. 0x00007fffe6501ba1 in llvm::LiveRange::find(llvm::SlotIndex) () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1 (gdb) bt #0 0x00007fffe6501ba1 in llvm::LiveRange::find(llvm::SlotIndex) () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1 #1 0x00007fffe66674a1 in ?? () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.= so.1 #2 0x00007fffe66676c1 in ?? () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.= so.1 #3 0x00007fffe66697e5 in llvm::RegPressureTracker::getLiveThroughAt(unsign= ed int, llvm::SlotIndex) const () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.s= o.1 #4 0x00007fffe6669af1 in llvm::RegPressureTracker::recede(llvm::RegisterOperands const&, llvm::SmallVectorImpl*) () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1 #5 0x00007fffe66a0229 in llvm::ScheduleDAGInstrs::buildSchedGraph(llvm::AAResults*, llvm::RegPressureTracker*, llvm::PressureDiffs*, llvm::LiveIntervals*, bool= ) () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1 #6 0x00007fffe65e7653 in llvm::ScheduleDAGMILive::buildDAGWithRegPressure(= ) () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1 #7 0x00007fffe65e76b9 in llvm::ScheduleDAGMILive::schedule() () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1 #8 0x00007fffe758e501 in llvm::GCNScheduleDAGMILive::schedule() () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1 #9 0x00007fffe758e26e in llvm::GCNScheduleDAGMILive::finalizeSchedule() () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1 #10 0x00007fffe65e6fa7 in ?? () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.= so.1 #11 0x00007fffe657cae0 in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1 #12 0x00007fffe63deac8 in llvm::FPPassManager::runOnFunction(llvm::Function= &) () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1 #13 0x00007fffe6fb7b50 in ?? () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.= so.1 #14 0x00007fffe63de3af in llvm::legacy::PassManagerImpl::run(llvm::Module&)= () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1 #15 0x00007ffff42227ce in ?? () from /usr/lib/x86_64-linux-gnu/libMesaOpenCL.so.1 #16 0x00007ffff4222ed0 in ?? () from /usr/lib/x86_64-linux-gnu/libMesaOpenCL.so.1 #17 0x00007ffff421e6a7 in ?? () from /usr/lib/x86_64-linux-gnu/libMesaOpenCL.so.1 #18 0x00007ffff420fea1 in ?? () from /usr/lib/x86_64-linux-gnu/libMesaOpenCL.so.1 #19 0x00007ffff41efe02 in ?? () from /usr/lib/x86_64-linux-gnu/libMesaOpenCL.so.1 #20 0x0000555555561129 in cl::Program::build (this=3D0x7fffffffde10, option= s=3D0x0, notifyFptr=3D0x0, data=3D0x0) at /usr/include/CL/cl2.hpp:6321 --=20 You are receiving this mail because: You are the assignee for the bug.= --15227892730.e2e47B.18397 Date: Tue, 3 Apr 2018 21:01:13 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated
Bug ID 105869
Summary clang crashes when compiling OpenCL kernel
Product Mesa
Version git
Hardware Other
OS All
Status NEW
Severity normal
Priority medium
Component Drivers/Gallium/radeonsi
Assignee dri-devel@lists.freedesktop.org
Reporter vedran@miletic.net
QA Contact dri-devel@lists.freedesktop.org

(from #radeon and https://paste.debian.net/1018363/)

When compiling the following OpenCL kernel

kernel void PulseWave(global float* buffer, size_t num_harmonics,
        float duty_cycle)
{
        size_t index =3D get_global_id(0);
        float phase =3D buffer[index];
        float sample =3D duty_cycle;
        float precompute1 =3D (phase - duty_cycle / 2.0) * 2.0 * M_PI;
        for (size_t i =3D 1; i <=3D num_harmonics; ++i)
        {
                float harmonic =3D 2.0 / (i * M_PI) * sin(M_PI * i * duty_c=
ycle)
*
                        cos(i * precompute1);
                sample +=3D harmonic;
        }
        buffer[index] =3D sample * 2.0 - 1.0;
}

Clang will crash with

Thread 1 "ftz_chiptune_pu" received signal SIGSEGV, Segmentation =
fault.
0x00007fffe6501ba1 in llvm::LiveRange::find(llvm::SlotIndex) () from
/usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1
(gdb) bt
#0  0x00007fffe6501ba1 in llvm::LiveRange::find(llvm::SlotIndex) () from
/usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1
#1  0x00007fffe66674a1 in ?? () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.=
so.1
#2  0x00007fffe66676c1 in ?? () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.=
so.1
#3  0x00007fffe66697e5 in llvm::RegPressureTracker::getLiveThroughAt(unsign=
ed
int, llvm::SlotIndex) const () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.s=
o.1
#4  0x00007fffe6669af1 in
llvm::RegPressureTracker::recede(llvm::RegisterOperands const&,
llvm::SmallVectorImpl<llvm::RegisterMaskPair>*) ()
   from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1
#5  0x00007fffe66a0229 in
llvm::ScheduleDAGInstrs::buildSchedGraph(llvm::AAResults*,
llvm::RegPressureTracker*, llvm::PressureDiffs*, llvm::LiveIntervals*, bool=
) ()
from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1
#6  0x00007fffe65e7653 in llvm::ScheduleDAGMILive::buildDAGWithRegPressure(=
) ()
from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1
#7  0x00007fffe65e76b9 in llvm::ScheduleDAGMILive::schedule() () from
/usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1
#8  0x00007fffe758e501 in llvm::GCNScheduleDAGMILive::schedule() () from
/usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1
#9  0x00007fffe758e26e in llvm::GCNScheduleDAGMILive::finalizeSchedule() ()
from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1
#10 0x00007fffe65e6fa7 in ?? () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.=
so.1
#11 0x00007fffe657cae0 in
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) () from
/usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1
#12 0x00007fffe63deac8 in llvm::FPPassManager::runOnFunction(llvm::Function=
&)
() from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1
#13 0x00007fffe6fb7b50 in ?? () from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.=
so.1
#14 0x00007fffe63de3af in llvm::legacy::PassManagerImpl::run(llvm::Module&a=
mp;) ()
from /usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1
#15 0x00007ffff42227ce in ?? () from
/usr/lib/x86_64-linux-gnu/libMesaOpenCL.so.1
#16 0x00007ffff4222ed0 in ?? () from
/usr/lib/x86_64-linux-gnu/libMesaOpenCL.so.1
#17 0x00007ffff421e6a7 in ?? () from
/usr/lib/x86_64-linux-gnu/libMesaOpenCL.so.1
#18 0x00007ffff420fea1 in ?? () from
/usr/lib/x86_64-linux-gnu/libMesaOpenCL.so.1
#19 0x00007ffff41efe02 in ?? () from
/usr/lib/x86_64-linux-gnu/libMesaOpenCL.so.1
#20 0x0000555555561129 in cl::Program::build (this=3D0x7fffffffde10, option=
s=3D0x0,
notifyFptr=3D0x0, data=3D0x0) at /usr/include/CL/cl2.hpp:6321


You are receiving this mail because:
  • You are the assignee for the bug.
= --15227892730.e2e47B.18397-- --===============1211118068== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== --===============1211118068==--