Open johalun opened 6 years ago
Yeah, clinfo segfaults at exit, that's not Vega specific. Possibly related to the libthr thing?
Also, try updating libclc and mesa
@myfreeweb Thanks! Maybe I'll start a poudriere build based on your repo to get all the correct deps.
For me clpeak currently crashes after
Global memory bandwidth (GBPS)
with
* thread #1, name = 'clpeak', stop reason = signal SIGSEGV
* frame #0: 0x0000000000000000
frame #1: 0x0000000801470135 libMesaOpenCL.so.1`clover::timestamp::query::query(this=0x00007fffffffc520, q=0x0000000807123dc0) at timestamp.cpp:32
frame #2: 0x000000080145f8dd libMesaOpenCL.so.1`std::__1::__function::__func<clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2, std::__1::allocator<clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2>, void (clover::event&)>::operator()(clover::event&) [inlined] clover::hard_event::profile(this=0x000000080b292880, ev=0x0000000807197900)> const&) const::$_2::operator()(clover::event&) const at event.cpp:217
frame #3: 0x000000080145f855 libMesaOpenCL.so.1`std::__1::__function::__func<clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2, std::__1::allocator<clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2>, void (clover::event&)>::operator()(clover::event&) [inlined] decltype(__f=0x000000080b292880, __args=0x0000000807197900)> const&) const::$_2&>(fp)(std::__1::forward<clover::event&>(fp0))) std::__1::__invoke<clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2&, clover::event&>(clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2&&&, clover::event&&&) at type_traits:4353
frame #4: 0x000000080145f855 libMesaOpenCL.so.1`std::__1::__function::__func<clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2, std::__1::allocator<clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2>, void (clover::event&)>::operator()(clover::event&) [inlined] void std::__1::__invoke_void_return_wrapper<void>::__call<clover::hard_event::profile(__args=0x000000080b292880, __args=0x0000000807197900)> const&) const::$_2&, clover::event&>(clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2&&&, clover::event&&&) at __functional_base:349
frame #5: 0x000000080145f855 libMesaOpenCL.so.1`std::__1::__function::__func<clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2, std::__1::allocator<clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2>, void (clover::event&)>::operator()(clover::event&) [inlined] std::__1::__function::__alloc_func<clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2, std::__1::allocator<clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2>, void (clover::event&)>::operator(this=0x000000080b292880, __arg=0x0000000807197900)(clover::event&) at functional:1527
frame #6: 0x000000080145f855 libMesaOpenCL.so.1`std::__1::__function::__func<clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2, std::__1::allocator<clover::hard_event::profile(clover::command_queue&, std::__1::function<void (clover::event&)> const&) const::$_2>, void (clover::event&)>::operator(this=0x000000080b292870, __arg=0x0000000807197900)(clover::event&) at functional:1651
frame #7: 0x000000080145e167 libMesaOpenCL.so.1`clover::event::trigger() [inlined] std::__1::__function::__value_func<void (clover::event&)>::operator(this=<unavailable>, __args=<unavailable>)(clover::event&) const at functional:1799
frame #8: 0x000000080145e151 libMesaOpenCL.so.1`clover::event::trigger() [inlined] std::__1::function<void (clover::event&)>::operator(this=<unavailable>, __arg=<unavailable>)(clover::event&) const at functional:2347
frame #9: 0x000000080145e151 libMesaOpenCL.so.1`clover::event::trigger(this=0x0000000807197900) at event.cpp:54
frame #10: 0x000000080145e90e libMesaOpenCL.so.1`clover::hard_event::hard_event(this=0x0000000807197900, q=0x0000000807123dc0, command=4596, deps=<unavailable>, action=<unavailable>)>) at event.cpp:135
frame #11: 0x000000080145be20 libMesaOpenCL.so.1`clover::intrusive_ref<clover::hard_event> clover::create<clover::hard_event, clover::command_queue&, int, clover::ref_vector<clover::event>&, std::__1::function<void (as=0x0000000807123dc0, as=0x00007fffffffc818, as=0x00007fffffffc7c8, as=<unavailable>)> >(clover::command_queue&&&, int&&, clover::ref_vector<clover::event>&&&, std::__1::function<void (clover::event&)>&&) at pointer.hpp:230
frame #12: 0x000000080145796d libMesaOpenCL.so.1`::clEnqueueWriteBuffer(d_q=<unavailable>, d_mem=<unavailable>, blocking=1, offset=0, size=<unavailable>, ptr=0x000000080d73f3c0, num_deps=0, d_deps=0x0000000000000000, rd_ev=0x0000000000000000) at transfer.cpp:325
frame #13: 0x00000008002a5b91 libOpenCL.so.1`clEnqueueWriteBuffer + 145
frame #14: 0x0000000000219031 clpeak`___lldb_unnamed_symbol88$$clpeak + 801
frame #15: 0x00000000002113b4 clpeak`___lldb_unnamed_symbol21$$clpeak + 4452
frame #16: 0x0000000000223934 clpeak`___lldb_unnamed_symbol107$$clpeak + 52
frame #17: 0x000000000020f10f clpeak`___lldb_unnamed_symbol1$$clpeak + 271
Not sure why the segfault in the end. Seem to be after exit().