[Beignet] [Intel-gfx] Beignet crashes on vanilla 3.17.1 with IVB hardware

Vasily Khoruzhick anarsoul at gmail.com
Fri Oct 24 02:04:29 PDT 2014


Hi Zhigang,

Luxmark crashes with following backtrace:

Program received signal SIGSEGV, Segmentation fault.
0x00000000004cd8b0 in slg::PathOCLRenderEngine::StopLockLess() ()
(gdb) bt
#0  0x00000000004cd8b0 in slg::PathOCLRenderEngine::StopLockLess() ()
#1  0x0000000000482236 in slg::RenderEngine::Stop() ()
#2  0x000000000047be9b in slg::RenderSession::~RenderSession() ()
#3  0x0000000000468a77 in LuxMarkApp::Stop() ()
#4  0x0000000000468b46 in LuxMarkApp::InitRendering(LuxMarkAppMode,
char const*) ()
#5  0x000000000046edbe in MainWindow::event(QEvent*) ()
#6  0x00007ffff7099b9c in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/lib/libQtGui.so.4
#7  0x00007ffff70a05e8 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/libQtGui.so.4
#8  0x00007ffff6b6af7d in QCoreApplication::notifyInternal(QObject*,
QEvent*) () from /usr/lib/libQtCore.so.4
#9  0x00007ffff6b6e341 in
QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)
() from /usr/lib/libQtCore.so.4
#10 0x00007ffff6b99e63 in ?? () from /usr/lib/libQtCore.so.4
#11 0x00007ffff4d05a1d in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#12 0x00007ffff4d05d08 in ?? () from /usr/lib/libglib-2.0.so.0
#13 0x00007ffff4d05dbc in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#14 0x00007ffff6b99fad in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib/libQtCore.so.4
#15 0x00007ffff713d9c6 in ?? () from /usr/lib/libQtGui.so.4
#16 0x00007ffff6b69ad1 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQtCore.so.4
#17 0x00007ffff6b69e35 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#18 0x00007ffff6b6f3c7 in QCoreApplication::exec() () from
/usr/lib/libQtCore.so.4
#19 0x000000000045afc8 in main ()

And convert from imagemagick crashes in libgbe.so:

Program received signal SIGSEGV, Segmentation fault.
0x00007fffeb0df18c in gbe::buildRegInfo(gbe::ir::BasicBlock&,
gbe::vector<gbe::RegInfoForMov>&) () from /usr/lib/beignet//libgbe.so
(gdb) bt
#0  0x00007fffeb0df18c in gbe::buildRegInfo(gbe::ir::BasicBlock&,
gbe::vector<gbe::RegInfoForMov>&) () from /usr/lib/beignet//libgbe.so
#1  0x00007fffeb0e048d in
gbe::GenWriter::removeLOADIs(gbe::ir::Liveness const&,
gbe::ir::Function&) () from /usr/lib/beignet//libgbe.so
#2  0x00007fffeb0fb823 in
gbe::GenWriter::emitFunction(llvm::Function&) () from
/usr/lib/beignet//libgbe.so
#3  0x00007fffeb100b63 in
gbe::GenWriter::runOnFunction(llvm::Function&) () from
/usr/lib/beignet//libgbe.so
#4  0x00007fffec0129e1 in
llvm::FPPassManager::runOnFunction(llvm::Function&) () from
/usr/lib/beignet//libgbe.so
#5  0x00007fffebe11083 in (anonymous
namespace)::CGPassManager::runOnModule(llvm::Module&) () from
/usr/lib/beignet//libgbe.so
#6  0x00007fffec015538 in
llvm::legacy::PassManagerImpl::run(llvm::Module&) () from
/usr/lib/beignet//libgbe.so
#7  0x00007fffeb11fe0e in gbe::llvmToGen(gbe::ir::Unit&, char const*,
void const*, int, bool) () from /usr/lib/beignet//libgbe.so
#8  0x00007fffeb0c4fc1 in gbe::Program::buildFromLLVMFile(char const*,
void const*, std::string&, int) () from /usr/lib/beignet//libgbe.so
#9  0x00007fffeb17d0ba in gbe::genProgramNewFromLLVM(unsigned int,
char const*, void const*, void const*, unsigned long, char*, unsigned
long*, int) () from /usr/lib/beignet//libgbe.so
#10 0x00007fffeb0c8e09 in gbe::programNewFromSource(unsigned int, char
const*, unsigned long, char const*, char*, unsigned long*) () from
/usr/lib/beignet//libgbe.so
#11 0x00007fffef0eac96 in cl_program_build () from /usr/lib/beignet/libcl.so
#12 0x00007fffef0e39de in clBuildProgram () from /usr/lib/beignet/libcl.so
#13 0x00007fffef32c4cb in clBuildProgram () from /usr/lib/libOpenCL.so
#14 0x00007ffff7a461ec in ?? () from /usr/lib/libMagickCore-6.Q16HDRI.so.2
#15 0x00007ffff7a4689f in InitOpenCLEnvInternal () from
/usr/lib/libMagickCore-6.Q16HDRI.so.2
#16 0x00007ffff7a46b83 in ?? () from /usr/lib/libMagickCore-6.Q16HDRI.so.2
#17 0x00007ffff7a4797a in ?? () from /usr/lib/libMagickCore-6.Q16HDRI.so.2
#18 0x00007ffff7a4808c in InitOpenCLEnv () from
/usr/lib/libMagickCore-6.Q16HDRI.so.2
#19 0x00007ffff7941558 in ?? () from /usr/lib/libMagickCore-6.Q16HDRI.so.2
#20 0x00007ffff7948d3e in AccelerateResizeImage () from
/usr/lib/libMagickCore-6.Q16HDRI.so.2
#21 0x00007ffff7a95da0 in ResizeImage () from
/usr/lib/libMagickCore-6.Q16HDRI.so.2
#22 0x00007ffff768d310 in MogrifyImage () from
/usr/lib/libMagickWand-6.Q16HDRI.so.2
#23 0x00007ffff7691bc9 in MogrifyImages () from
/usr/lib/libMagickWand-6.Q16HDRI.so.2
#24 0x00007ffff761d03b in ConvertImageCommand () from
/usr/lib/libMagickWand-6.Q16HDRI.so.2
#25 0x00007ffff7686ff7 in MagickCommandGenesis () from
/usr/lib/libMagickWand-6.Q16HDRI.so.2
#26 0x00000000004008a7 in ?? ()
#27 0x00007ffff703a040 in __libc_start_main () from /usr/lib/libc.so.6
#28 0x00000000004008fb in ?? ()

Reproducibility is 100%

Regards
Vasily

On Fri, Oct 24, 2014 at 10:05 AM, Zhigang Gong
<zhigang.gong at linux.intel.com> wrote:
> I just checked again, and found both 3.17 and 3.17.1 should work
> fine on IVB with beignet. I just tested beignet on IVB with kernel
> 3.17.1, all unit tests passed successfully. For IVB user, no need
> to wait for 3.18.
>
> Don't know which application you were testing on your IVB machine.
> If it could be reproduced easily, please open a bug on fd.o.
>
> Thanks,
> Zhigang Gong.
>
> On Fri, Oct 24, 2014 at 10:27:23AM +0800, Zhigang Gong wrote:
>> Hi,
>>
>> For IVB, I just checked the 3.18-rc1, it has the following patch:
>> commit c9224faa59c3071ecfa2d4b24592f4eb61e57069
>> Author: Brad Volkin <bradley.d.volkin at intel.com>
>> Date:   Tue Jun 17 14:10:34 2014 -0700
>>
>>     drm/i915: Add some L3 registers to the parser whitelist
>>
>>     Beignet needs these in order to program the L3 cache config for
>>     OpenCL workloads, particularly when using SLM.
>>
>>     Signed-off-by: Brad Volkin <bradley.d.volkin at intel.com>
>>     Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
>>
>> So, beignet should work fine with 3.18 on IVB/BYT.
>>
>> But for the HSW,I'm not quite sure when we could get a workable vanilla
>> kernel. Something I found at the intel-gfx mail list as below and it doesn't
>> sound good.
>>
>> http://lists.freedesktop.org/archives/intel-gfx/2014-May/044694.html
>> http://lists.freedesktop.org/archives/intel-gfx/2014-May/045088.html
>>
>> CC to intel-gfx mail list. Hope we can get an official anwser here.
>>
>> Thanks,
>> Zhigang Gong.
>>
>> On Thu, Oct 23, 2014 at 03:39:35PM +0300, Vasily Khoruzhick wrote:
>> > Hi,
>> >
>> > As you maybe know, any application which uses beignet OpenCL
>> > implementation crashes on Ivy Bridge hardware when using vanilla
>> > 3.17.1 kernel.
>> > I guess it's due to batchbuffer security and patch to disable
>> > batchbuffer security is required, but guys, it fails since 3.16, and
>> > 3.17 was released quite a while ago.
>> >
>> > Could you cooperate with i915 driver devs to make Beignet working on
>> > vanilla kernel without extra patches?
>> >
>> > Thanks!
>> >
>> > Regards,
>> > Vasily
>> > _______________________________________________
>> > Beignet mailing list
>> > Beignet at lists.freedesktop.org
>> > http://lists.freedesktop.org/mailman/listinfo/beignet
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Beignet mailing list