Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doesn't provide useful message when clError is thrown #8

Open
baryluk opened this issue Jun 4, 2020 · 0 comments
Open

Doesn't provide useful message when clError is thrown #8

baryluk opened this issue Jun 4, 2020 · 0 comments

Comments

@baryluk
Copy link

baryluk commented Jun 4, 2020

LuxMark v4.0 alpha0 on Linux amd64.

I installed pocl just for kicks, and tried running luxmark.

It does build the scene, BVH and compiles all the kernels fine, but then aborts:

terminate called after throwing an instance of 'cl::Error'
  what():  clCreateBuffer
--Type <RET> for more, q to quit, c to continue without paging--

Thread 1 "luxmark.bin" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff150855b in __GI_abort () at abort.c:79
#2  0x0000555556a76265 in __gnu_cxx::__verbose_terminate_handler() ()
#3  0x00005555569d8dd6 in __cxxabiv1::__terminate(void (*)()) ()
#4  0x00005555569d8e21 in  ()
#5  0x00005555569da344 in  ()
#6  0x00005555558796f4 in cl::detail::errHandler(int, char const*) [clone .part.34] ()
#7  0x0000555555eac028 in luxrays::OpenCLIntersectionDevice::OpenCLDeviceQueue::OpenCLDeviceQueueElem::OpenCLDeviceQueueElem(luxrays::OpenCLIntersectionDevice*, cl::CommandQueue*, unsigned int, unsigned long) ()
#8  0x0000555555eb0e92 in luxrays::OpenCLIntersectionDevice::OpenCLDeviceQueue::OpenCLDeviceQueue(luxrays::OpenCLIntersectionDevice*, unsigned int, unsigned long) ()
#9  0x0000555555eb11d6 in luxrays::OpenCLIntersectionDevice::Start() ()
#10 0x0000555555e57296 in luxrays::Context::Start() ()
#11 0x0000555555d446ab in slg::Film::CreateOCLContext() ()
#12 0x0000555555d3d7d0 in slg::Film::ExecuteImagePipelineImpl(unsigned int) ()
#13 0x0000555555d3a8cd in float const* slg::Film::GetChannel<float>(slg::Film::FilmChannelType, unsigned int, bool) ()
#14 0x00005555559398c4 in luxcore::detail::FilmImpl::GetChannelFloat(luxcore::Film::FilmChannelType, unsigned int, bool) ()
#15 0x000055555591ee97 in LuxCoreRenderSession::UpdateFrameBuffer(unsigned int) ()
#16 0x00005555558f16b7 in LuxMarkApp::RenderRefreshTimeout() ()
#17 0x00007ffff1aee388 in QMetaObject::activate(QObject*, int, int, void**) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007ffff1afb10a in QTimer::timeout(QTimer::QPrivateSignal) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007ffff1aeed45 in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007ffff270fc32 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff2719190 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007ffff1ac3a52 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007ffff1b18b90 in QTimerInfoList::activateTimers() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007ffff1b1944c in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007ffff0aa260d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007ffff0aa2890 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007ffff0aa291f in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007ffff1b197c1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007ffff1ac26db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x00007ffff1aca182 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x000055555588026e in main ()
(gdb) q

Would be nice if the int and char const* part of the error were displayed back to stderr, so I can investigate deeper, before abort is called.

Due to lack of debug symbols I couldn't debug it too far with precompiled binaries. errno had a value 11 (EAGAIN), but not sure if this is related.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@baryluk baryluk changed the title Doesn't provide useful message when clError is thrown` Doesn't provide useful message when clError is thrown Jun 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant