Bug 76223 - [radeonsi] luxmark segfault
Summary: [radeonsi] luxmark segfault
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/radeonsi (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-16 05:23 UTC by Vladimir Usikov
Modified: 2015-02-21 05:28 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
New trace (2.89 KB, text/plain)
2014-03-22 06:08 UTC, Vladimir Usikov
Details
bt full (6.00 KB, text/plain)
2014-03-23 05:00 UTC, Vladimir Usikov
Details
slg4 log with CEDAR (2.97 KB, text/plain)
2014-06-09 18:16 UTC, Aaron Watry
Details
Test Case for SLG InitFrameBuffer Kernel (302.32 KB, text/plain)
2014-06-17 16:05 UTC, Aaron Watry
Details
Test Case exposing the bug causing the luxrays crash (830 bytes, text/plain)
2014-06-27 00:44 UTC, Aaron Watry
Details
Possible fix for luxmark segfault (2.08 KB, patch)
2014-07-02 21:33 UTC, Aaron Watry
Details | Splinter Review
Xorg.0.log (196.28 KB, text/plain)
2015-02-09 05:26 UTC, Vladimir Usikov
Details
Xorg.0.log (229.23 KB, text/plain)
2015-02-10 05:15 UTC, Vladimir Usikov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Usikov 2014-03-16 05:23:21 UTC
ArchLinux x32. mesa-git, llvm-svn, clang-svn, Radeon HD 7950

Luxmark Segmentation fault on mesa OpenCL.

(gdb) bt
#0  0x08108656 in slg::PathOCLRenderEngine::StopLockLess() ()
#1  0x080c0ad4 in slg::RenderEngine::Stop() ()
#2  0x080bab42 in slg::RenderSession::Stop() ()
#3  0x080bb08e in slg::RenderSession::~RenderSession() ()
#4  0x080a43ce in LuxMarkApp::Stop() ()
#5  0x080a4490 in LuxMarkApp::InitRendering(LuxMarkAppMode, char const*) ()
#6  0x080a535a in LuxMarkApp::SetMode(LuxMarkAppMode) ()
#7  0x080ac734 in MainWindow::event(QEvent*) ()
#8  0xb76149a4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#9  0xb761b3b3 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#10 0xb736e33a in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#11 0xb737166d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#12 0xb7371b7c in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#13 0xb739e06e in ?? () from /usr/lib/libQtCore.so.4
#14 0xb698b60e in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#15 0xb698b9b8 in ?? () from /usr/lib/libglib-2.0.so.0
#16 0xb698ba78 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#17 0xb739d85f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#18 0xb76c43de in ?? () from /usr/lib/libQtGui.so.4
#19 0xb736cda3 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#20 0xb736d0c9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#21 0xb737285e in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#22 0xb7612e44 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#23 0x0809868a in main ()
Comment 1 Tom Stellard 2014-03-21 14:19:58 UTC
This back trace doesn't include any symbols from LLVM or Mesa.  Were there any errors printed to the console?  Are there debugging flags or environment variables you can enable to get more information?
Comment 2 Vladimir Usikov 2014-03-22 06:08:50 UTC
Created attachment 96194 [details]
New trace

I rebuild mesa, llvm, clang, libclc, luxmark with debug compilation flags.

https://wiki.archlinux.org/index.php/Debug_-_Getting_Traces#One_package_settings_only
Comment 3 Vladimir Usikov 2014-03-23 05:00:27 UTC
Created attachment 96222 [details]
bt full
Comment 4 joshua.r.marshall.1991 2014-06-08 18:05:57 UTC
I have the exact same issue.  Unfortunately, debug information is not easy to do, especially without risking my whole desktop environment.
Comment 5 Aaron Watry 2014-06-09 18:16:00 UTC
Created attachment 100762 [details]
slg4 log with CEDAR

What command are you running this with?  Is it just running bin/slg4 as built from the luxrays source?

I believe that I have built the luxrays repository with changeset 2099 (a.k.a. 7459cd8a9583 as quoted as a changeset hash in your backtrace), but every time that I attempt to run bin/slg4, I get OpenCL errors due to missing image format support in clover.  

Log from bin/slg4 attached.

I believe that the line causing the error *might* be in src/luxrays/accelerators/qbvhaccel.cpp:411

cl::Image2D *qbvhBuff = new cl::Image2D(oclContext,
			CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR,
			cl::ImageFormat(CL_RGBA, CL_UNSIGNED_INT32),
			nodeWidth, nodeHeight, 0, inodes);
Comment 6 Aaron Watry 2014-06-09 18:18:36 UTC
If you're building from luxrays source, can you also try disabling image support and seeing if the error changes?

For a source build, go to scenes/luxball/luxball.cfg, and add:
accelerator.imagestorage.enable = 1

When I do that, I get some errors related to missing built-in functions that libclc is probably failing to provide:

[LuxRays] [OpenCL device::AMD CEDARIntersect] QBVH compilation error:
ray_funcs.cl:43:14: error: use of undeclared identifier 'INFINITY'
        ray->maxt = INFINITY;
                    ^
qbvh_kernel.cl:119:17: warning: implicit declaration of function 'isnotequal' is invalid in C99
    int4 cond = isnotequal(divisor, (float4)0.f) & isgreaterequal(b0, (float4)0.f) &
                ^
qbvh_kernel.cl:119:52: warning: implicit declaration of function 'isgreaterequal' is invalid in C99
    int4 cond = isnotequal(divisor, (float4)0.f) & isgreaterequal(b0, (float4)0.f) &
                                                   ^
qbvh_kernel.cl:121:4: warning: implicit declaration of function 'isgreater' is invalid in C99
                        isgreater(t, ray4->mint);
                        ^
qbvh_kernel.cl:206:21: warning: implicit declaration of function 'signbit' is invalid in C99
        const int signs0 = signbit(ray4.dx.s0);
                           ^

[SLG] OpenCL ERROR: clBuildProgram(CL_BUILD_PROGRAM_FAILURE)
Comment 7 Aaron Watry 2014-06-11 23:39:23 UTC
I've sent a whole bunch of patches to the libclc dev list implementing quite a few builtin CL functions that were missing.  luxrays/slg4 is now able to compile the CL kernels, but it now gets an LLVM Error at a later point.

[SLG] [PathOCLRenderThread::0] Kernels compilation time: 290ms
*** r600_compute_global_buffer_create
width = 4951104 array_size = 0
* compute_memory_alloc() size_in_dw = 1237776 (4951104 bytes)
  + Adding item 0x5ce9c70 id = 0 size = 1237776 (4951104 bytes)
*** evergreen_create_compute_state
LLVM ERROR: not a number, or does not fit in an unsigned int
* compute_memory_pool_delete()
Comment 8 Aaron Watry 2014-06-17 16:05:28 UTC
Created attachment 101243 [details]
Test Case for SLG InitFrameBuffer Kernel

I've tracked down where slg4 is segfaulting on my machine currently. The InitFrameBuffer Kernel is not being compiled/invoked correctly. It's a very simple kernel that works fine IF you split the kernel out on its own, but when you embed the kernel within a large source file (~8600 lines), the compilation process seems to break.

There's an #if 0 at line 44 of this test case that will, when flipped, show how the kernel itself is fine, but the other non-invoked code causes it to break.

I'm assuming that we've got some buffer/iterator in clover or LLVM which is breaking on large CL source files.
Comment 9 joshua.r.marshall.1991 2014-06-18 21:18:41 UTC
Currently, I am using the luxmark packaged in arch linux's repo's.  I'm not seeing exactly what you are, so I'll include a BT:

Program received signal SIGSEGV, Segmentation fault.
0x00000000004c1630 in slg::PathOCLRenderEngine::StopLockLess() ()
(gdb) bt
#0  0x00000000004c1630 in slg::PathOCLRenderEngine::StopLockLess() ()
#1  0x000000000047ccb6 in slg::RenderEngine::Stop() ()
#2  0x0000000000477c9b in slg::RenderSession::~RenderSession() ()
#3  0x000000000046441c in LuxMarkApp::Stop() ()
#4  0x00000000004644c3 in LuxMarkApp::InitRendering(LuxMarkAppMode, char const*) ()
#5  0x000000000046b3e7 in MainWindow::event(QEvent*) ()
#6  0x00007ffff70dbf0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/libQtGui.so.4
#7  0x00007ffff70e248d in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/libQtGui.so.4
#8  0x00007ffff6bad58d in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib/libQtCore.so.4
#9  0x00007ffff6bb06dd in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#10 0x00007ffff6bda9e3 in ?? () from /usr/lib/libQtCore.so.4
#11 0x00007ffff4023b84 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#12 0x00007ffff4023dc8 in ?? () from /usr/lib/libglib-2.0.so.0
#13 0x00007ffff4023e6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#14 0x00007ffff6bda2a5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#15 0x00007ffff7178fb6 in ?? () from /usr/lib/libQtGui.so.4
#16 0x00007ffff6bac15f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQtCore.so.4
#17 0x00007ffff6bac455 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQtCore.so.4
#18 0x00007ffff6bb1719 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#19 0x000000000045a144 in main ()
Comment 10 joshua.r.marshall.1991 2014-06-18 21:19:28 UTC
this was obtained by "gdb luxmark" and then entering "run" at the prompt.
Comment 11 joshua.r.marshall.1991 2014-06-18 21:21:52 UTC
Exact same back trace with and without luxrays.  This also working off of this morning's mesa-git build.

sorry I can't be of more help.
Comment 12 Aaron Watry 2014-06-27 00:44:09 UTC
Created attachment 101832 [details]
Test Case exposing the bug causing the luxrays crash

This piglit test exposes the bug in clover/clang/llvm which is causing luxmark to break on my machine.

If you remove the __attribute__ from the kernel declaration, the test passes. If you comment out the second kernel, the test passes. If you leave the attribute and leave both kernels in, the test bombs out with an LLVM error of:

LLVM ERROR: not a number, or does not fit in an unsigned int
Comment 13 Aaron Watry 2014-07-02 21:33:17 UTC
Created attachment 102163 [details] [review]
Possible fix for luxmark segfault

The luxrays kernels used an __attribute__(work_group_size_hint(64,1,1)) on several kernels.  Mesa was not expecting kernels to have multiple operands in the LLVM metadata nodes (and an attribute is represented as an additional metadata node). This led to memory corruption and an LLVM error.

This patch fixes the piglit test case in attachment 101832 [details] on CEDAR (r600g), and it probably helps radeonsi as well (which I can test later).

This same patch will be sent to the mesa-dev list momentarily.
Comment 14 Laurent carlier 2015-01-24 08:29:38 UTC
Seems fixed since mesa-10.3

http://www.mesa3d.org/relnotes/10.3.html
Comment 15 Vladimir Usikov 2015-01-24 10:57:00 UTC
Still crash on mesa 10.4.1, llvm 3.5.1, linux 3.19rc3

#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  0x00007ffff70979ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#7  0x00007ffff709e408 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#8  0x00007ffff6b6728d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#9  0x00007ffff6b6a651 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#10 0x00007ffff6b96233 in ?? () from /usr/lib/libQtCore.so.4
#11 0x00007ffff4caba0d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#12 0x00007ffff4cabcf8 in ?? () from /usr/lib/libglib-2.0.so.0
#13 0x00007ffff4cabdac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#14 0x00007ffff6b9637d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#15 0x00007ffff713b3a6 in ?? () from /usr/lib/libQtGui.so.4
#16 0x00007ffff6b65de1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#17 0x00007ffff6b66145 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#18 0x00007ffff6b6b6e9 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#19 0x000000000045afc8 in main ()
Comment 16 Vladimir Usikov 2015-01-31 15:18:39 UTC
mesa 10.5-git, llvm 3.5.1, linux drm-next

behem0th@ArchLinux ~/AUR/KDE $ luxmark 
LLVM ERROR: Cannot select: 0x7f45c9c4a518: i64 = and 0x7f45c9c4c290, 0x7f45c9c41ea8 [ORD=127] [ID=214]
  0x7f45c9c4c290: i64 = any_extend 0x7f45c9c4a270 [ORD=126] [ID=211]
    0x7f45c9c4a270: i32 = xor 0x7f45c9c4a168, 0x7f45c9c49e50 [ORD=125] [ID=207]
      0x7f45c9c4a168: i32 = xor 0x7f45c9c49610, 0x7f45c9c48c30 [ORD=124] [ID=181]
        0x7f45c9c49610: i32 = or 0x7f45c9c49050, 0x7f45c9c49508 [ORD=117] [ID=177]
          0x7f45c9c49050: i32 = and 0x7f45c9c48f48, 0x7f45c9c21540 [ORD=113] [ID=172]
            0x7f45c9c48f48: i32 = shl 0x7f45c9c47908, 0x7f45c9c216e0 [ORD=112] [ID=166]
              0x7f45c9c47908: i32 = or 0x7f45c9c473e0, 0x7f45c9c47800 [ORD=93] [ID=162]
                0x7f45c9c473e0: i32 = and 0x7f45c9c47240, 0x7f45c9c21540 [ORD=89] [ID=156]
                  0x7f45c9c47240: i32 = shl 0x7f45c9c433e0, 0x7f45c9c216e0 [ORD=88] [ID=149]


                  0x7f45c9c21540: i32 = Constant<-128> [ID=20]
                0x7f45c9c47800: i32 = srl 0x7f45c9c476f8, 0x7f45c9c1f9d8 [ORD=92] [ID=144]
                  0x7f45c9c476f8: i32 = xor 0x7f45c9c42db0, 0x7f45c9c475f0 [ORD=91] [ID=139]


                  0x7f45c9c1f9d8: i32 = Constant<25> [ID=22]
              0x7f45c9c216e0: i32 = Constant<4> [ID=19]
            0x7f45c9c21540: i32 = Constant<-128> [ID=20]
          0x7f45c9c49508: i32 = srl 0x7f45c9c49400, 0x7f45c9c1f9d8 [ORD=116] [ID=161]
            0x7f45c9c49400: i32 = xor 0x7f45c9c47240, 0x7f45c9c49260 [ORD=115] [ID=155]
              0x7f45c9c47240: i32 = shl 0x7f45c9c433e0, 0x7f45c9c216e0 [ORD=88] [ID=149]
                0x7f45c9c433e0: i32 = or 0x7f45c9c42eb8, 0x7f45c9c432d8 [ORD=59] [ID=145]
                  0x7f45c9c42eb8: i32 = and 0x7f45c9c42db0, 0x7f45c9c21540 [ORD=55] [ID=140]


                  0x7f45c9c432d8: i32 = srl 0x7f45c9c431d0, 0x7f45c9c1f9d8 [ORD=58] [ID=126]


                0x7f45c9c216e0: i32 = Constant<4> [ID=19]
              0x7f45c9c49260: i32 = shl 0x7f45c9c1ede8, 0x7f45c9c49158 [ORD=114] [ID=112]
                0x7f45c9c1ede8: i32 = add 0x7f45c9c20110, 0x7f45c9c1f208 [ORD=14] [ID=109]
                  0x7f45c9c20110: i32 = select 0x7f45c9c1f8d0, 0x7f45c9c1f418, 0x7f45c9c1dcd0 [ORD=13] [ID=107]



                  0x7f45c9c1f208: i32 = mul 0x7f45c9c1eff8, 0x7f45c9c20428 [ORD=11] [ID=102]


                0x7f45c9c49158: i32 = Constant<14> [ID=37]
            0x7f45c9c1f9d8: i32 = Constant<25> [ID=22]
        0x7f45c9c48c30: i32 = or 0x7f45c9c48b28, 0x7f45c9c48810 [ORD=111] [ID=171]
          0x7f45c9c48b28: i32 = srl 0x7f45c9c48a20, 0x7f45c9c1e0f0 [ORD=110] [ID=165]
            0x7f45c9c48a20: i32 = xor 0x7f45c9c48918, 0x7f45c9c46c10 [ORD=109] [ID=159]
              0x7f45c9c48918: i32 = shl 0x7f45c9c47138, 0x7f45c9c1fdf8 [ORD=108] [ID=153]
                0x7f45c9c47138: i32 = or 0x7f45c9c47030, 0x7f45c9c46d18 [ORD=87] [ID=148]
                  0x7f45c9c47030: i32 = srl 0x7f45c9c46f28, 0x7f45c9c1e0f0 [ORD=86] [ID=143]


                  0x7f45c9c46d18: i32 = and 0x7f45c9c46c10, 0x7f45c9c1ece0 [ORD=83] [ID=138]


                0x7f45c9c1fdf8: i32 = Constant<13> [ID=17]
              0x7f45c9c46c10: i32 = shl 0x7f45c9c42ca8, 0x7f45c9c1f100 [ORD=82] [ID=132]
                0x7f45c9c42ca8: i32 = or 0x7f45c9c42ba0, 0x7f45c9c427f0 [ORD=53] [ID=128]
                  0x7f45c9c42ba0: i32 = srl 0x7f45c9c42a00, 0x7f45c9c1e0f0 [ORD=52] [ID=124]


                  0x7f45c9c427f0: i32 = and 0x7f45c9c426e8, 0x7f45c9c1ece0 [ORD=49] [ID=119]


                0x7f45c9c1f100: i32 = Constant<12> [ID=15]
            0x7f45c9c1e0f0: i32 = Constant<19> [ID=18]
          0x7f45c9c48810: i32 = and 0x7f45c9c48708, 0x7f45c9c1ece0 [ORD=107] [ID=160]
            0x7f45c9c48708: i32 = shl 0x7f45c9c47138, 0x7f45c9c1f100 [ORD=106] [ID=154]
              0x7f45c9c47138: i32 = or 0x7f45c9c47030, 0x7f45c9c46d18 [ORD=87] [ID=148]
                0x7f45c9c47030: i32 = srl 0x7f45c9c46f28, 0x7f45c9c1e0f0 [ORD=86] [ID=143]
                  0x7f45c9c46f28: i32 = xor 0x7f45c9c46e20, 0x7f45c9c426e8 [ORD=85] [ID=137]


                  0x7f45c9c1e0f0: i32 = Constant<19> [ID=18]
                0x7f45c9c46d18: i32 = and 0x7f45c9c46c10, 0x7f45c9c1ece0 [ORD=83] [ID=138]
                  0x7f45c9c46c10: i32 = shl 0x7f45c9c42ca8, 0x7f45c9c1f100 [ORD=82] [ID=132]


                  0x7f45c9c1ece0: i32 = Constant<-8192> [ID=16]
              0x7f45c9c1f100: i32 = Constant<12> [ID=15]
            0x7f45c9c1ece0: i32 = Constant<-8192> [ID=16]
      0x7f45c9c49e50: i32 = or 0x7f45c9c49d48, 0x7f45c9c49a30 [ORD=123] [ID=204]
        0x7f45c9c49d48: i32 = srl 0x7f45c9c49c40, 0x7f45c9c22340 [ORD=122] [ID=201]
          0x7f45c9c49c40: i32 = xor 0x7f45c9c49b38, 0x7f45c9c47f38 [ORD=121] [ID=198]
            0x7f45c9c49b38: i32 = shl 0x7f45c9c47f38, 0x7f45c9c22028 [ORD=120] [ID=194]
              0x7f45c9c47f38: i32 = or 0x7f45c9c47e30, 0x7f45c9c47b18 [ORD=99] [ID=191]
                0x7f45c9c47e30: i32 = srl 0x7f45c9c47d28, 0x7f45c9c22340 [ORD=98] [ID=187]
                  0x7f45c9c47d28: i32 = xor 0x7f45c9c47c20, 0x7f45c9c43a10 [ORD=97] [ID=183]


                  0x7f45c9c22340: i32 = Constant<11> [ID=26]
                0x7f45c9c47b18: i32 = and 0x7f45c9c48250, 0x7f45c9c21e18 [ORD=95] [ID=173]
                  0x7f45c9c48250: i32 = shl 0x7f45c9c43800, 0x7f45c9c42fc0 [ORD=94] [ID=168]


                  0x7f45c9c21e18: i32 = Constant<-2097152> [ID=24]
              0x7f45c9c22028: i32 = Constant<3> [ID=25]
            0x7f45c9c47f38: i32 = or 0x7f45c9c47e30, 0x7f45c9c47b18 [ORD=99] [ID=191]
              0x7f45c9c47e30: i32 = srl 0x7f45c9c47d28, 0x7f45c9c22340 [ORD=98] [ID=187]
                0x7f45c9c47d28: i32 = xor 0x7f45c9c47c20, 0x7f45c9c43a10 [ORD=97] [ID=183]
                  0x7f45c9c47c20: i32 = shl 0x7f45c9c43a10, 0x7f45c9c22028 [ORD=96] [ID=178]


                  0x7f45c9c43a10: i32 = or 0x7f45c9c43908, 0x7f45c9c435f0 [ORD=65] [ID=174]


                0x7f45c9c22340: i32 = Constant<11> [ID=26]
              0x7f45c9c47b18: i32 = and 0x7f45c9c48250, 0x7f45c9c21e18 [ORD=95] [ID=173]
                0x7f45c9c48250: i32 = shl 0x7f45c9c43800, 0x7f45c9c42fc0 [ORD=94] [ID=168]
                  0x7f45c9c43800: i32 = xor 0x7f45c9c436f8, 0x7f45c9c22550 [ORD=63] [ID=163]


                  0x7f45c9c42fc0: i32 = Constant<6> [ID=30]
                0x7f45c9c21e18: i32 = Constant<-2097152> [ID=24]
          0x7f45c9c22340: i32 = Constant<11> [ID=26]
        0x7f45c9c49a30: i32 = and 0x7f45c9c4a410, 0x7f45c9c21e18 [ORD=119] [ID=190]
          0x7f45c9c4a410: i32 = shl 0x7f45c9c47d28, 0x7f45c9c42fc0 [ORD=118] [ID=186]
            0x7f45c9c47d28: i32 = xor 0x7f45c9c47c20, 0x7f45c9c43a10 [ORD=97] [ID=183]
              0x7f45c9c47c20: i32 = shl 0x7f45c9c43a10, 0x7f45c9c22028 [ORD=96] [ID=178]
                0x7f45c9c43a10: i32 = or 0x7f45c9c43908, 0x7f45c9c435f0 [ORD=65] [ID=174]
                  0x7f45c9c43908: i32 = srl 0x7f45c9c43800, 0x7f45c9c22340 [ORD=64] [ID=169]


                  0x7f45c9c435f0: i32 = and 0x7f45c9c43dc0, 0x7f45c9c21e18 [ORD=61] [ID=151]


                0x7f45c9c22028: i32 = Constant<3> [ID=25]
              0x7f45c9c43a10: i32 = or 0x7f45c9c43908, 0x7f45c9c435f0 [ORD=65] [ID=174]
                0x7f45c9c43908: i32 = srl 0x7f45c9c43800, 0x7f45c9c22340 [ORD=64] [ID=169]
                  0x7f45c9c43800: i32 = xor 0x7f45c9c436f8, 0x7f45c9c22550 [ORD=63] [ID=163]


                  0x7f45c9c22340: i32 = Constant<11> [ID=26]
                0x7f45c9c435f0: i32 = and 0x7f45c9c43dc0, 0x7f45c9c21e18 [ORD=61] [ID=151]
                  0x7f45c9c43dc0: i32 = shl 0x7f45c9c22238, 0x7f45c9c42fc0 [ORD=60] [ID=146]


                  0x7f45c9c21e18: i32 = Constant<-2097152> [ID=24]
            0x7f45c9c42fc0: i32 = Constant<6> [ID=30]
          0x7f45c9c21e18: i32 = Constant<-2097152> [ID=24]
  0x7f45c9c41ea8: i64 = Constant<16777215> [ID=27]
In function: Init
Comment 17 Arek Ruśniak 2015-02-01 20:33:42 UTC
On CapeVerde 10.4.3 + llvm 3.5.1 gives somethings like this:

LLVM ERROR: Cannot select: 0x7f73c55484d0: i64 = and 0x7f73c55487e8, 0x7f73c55406d8 [ORD=148] [ID=247]
  0x7f73c55487e8: i64 = any_extend 0x7f73c55482c0 [ORD=147] [ID=244]
    0x7f73c55482c0: i32 = xor 0x7f73c5548120, 0x7f73c5547e08 [ORD=146] [ID=241]
      0x7f73c5548120: i32 = xor 0x7f73c5546be8, 0x7f73c55475c8 [ORD=145] [ID=235]
        0x7f73c5546be8: i32 = or 0x7f73c5546ae0, 0x7f73c55467c8 [ORD=132] [ID=231]
          0x7f73c5546ae0: i32 = srl 0x7f73c55469d8, 0x7f73c55401b0 [ORD=131] [ID=227]
...etc.

it's pretty similar as your log, so i don't want spam too much. 


For me, latest llvm-svn works. Did you try it?
Comment 18 Vladimir Usikov 2015-02-05 06:03:56 UTC
I try latest llvm-svn+mesa-git+drm-next and luxmark still crash.
Comment 19 Tom Stellard 2015-02-05 14:35:57 UTC
(In reply to Vladimir Ysikov from comment #18)
> I try latest llvm-svn+mesa-git+drm-next and luxmark still crash.

Is the crash the same?  Can you get a backtrace?
Comment 20 Vladimir Usikov 2015-02-07 07:34:13 UTC
>Is the crash the same?  Can you get a backtrace?

I rebuild llvm-svn, mesa-git with debug symbols and get this: 

behem0th@ArchLinux ~ $ glxinfo 
name of display: :0
Error: couldn't find RGB GLX visual or fbconfig
Comment 21 Michel Dänzer 2015-02-09 03:46:02 UTC
(In reply to Vladimir Ysikov from comment #20)
> I rebuild llvm-svn, mesa-git with debug symbols and get this: 
> 
> behem0th@ArchLinux ~ $ glxinfo 
> name of display: :0
> Error: couldn't find RGB GLX visual or fbconfig

Looks like something went wrong when updating LLVM / Mesa. Please attach the corresponding Xorg.0.log file.
Comment 22 Vladimir Usikov 2015-02-09 05:26:33 UTC
Created attachment 113266 [details]
Xorg.0.log

It happen after update llvm, not mesa.
Comment 23 Michel Dänzer 2015-02-09 06:14:53 UTC
> (EE) AIGLX error: dlopen of /usr/lib/xorg/modules/dri/swrast_dri.so failed (libLLVM-3.5.so: cannot open shared object file: No such file or directory)

Looks like the dynamic linker can't find libLLVM-3.5.so anymore. Did you run ldconfig after installing LLVM?
Comment 24 Vladimir Usikov 2015-02-10 05:15:32 UTC
Created attachment 113293 [details]
Xorg.0.log

I forgot about lib32-llvm. llvm-svn > lib32-llvm-svn > mesa.
drm-next, llvm-svn, mesa-git

#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  0x00007ffff70969ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4                                                                     
#7  0x00007ffff709d408 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4                                                                                   
#8  0x00007ffff6b6628d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4                                                                      
#9  0x00007ffff6b69651 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()                                                                                
   from /usr/lib/libQtCore.so.4                                                                                                                                                    
#10 0x00007ffff6b95233 in ?? () from /usr/lib/libQtCore.so.4                                                                                                                       
#11 0x00007ffff4ca9a0d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0                                                                                                
#12 0x00007ffff4ca9cf8 in ?? () from /usr/lib/libglib-2.0.so.0                                                                                                                     
#13 0x00007ffff4ca9dac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0                                                                                               
#14 0x00007ffff6b9537d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()                                                                            
   from /usr/lib/libQtCore.so.4                                                                                                                                                    
#15 0x00007ffff713a3a6 in ?? () from /usr/lib/libQtGui.so.4                                                                                                                        
#16 0x00007ffff6b64de1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()                                                                                      
   from /usr/lib/libQtCore.so.4                                                                                                                                                    
#17 0x00007ffff6b65145 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()                                                                                               
   from /usr/lib/libQtCore.so.4                                                                                                                                                    
#18 0x00007ffff6b6a6e9 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4                                                                                                 
#19 0x000000000045afc8 in main ()

And little bonus, Xorg crash after star t firefox.
Comment 25 Michel Dänzer 2015-02-10 06:28:21 UTC
(In reply to Vladimir Ysikov from comment #24)
> And little bonus, Xorg crash after star t firefox.

See bug 89034.
Comment 26 Vladimir Usikov 2015-02-21 05:28:20 UTC
I rebuild full video stack and no more crash. This issue fixed for me.


bug/show.html.tmpl processed on Feb 26, 2017 at 07:43:36.
(provided by the Example extension).