On 05/14/2013 07:51 PM, Denis Demidov wrote:
> It gives wrong results.

I now added the VexCL tests to the test suite and started debugging the only
failing test, 'stencil'. I do not get a validation error, but a plain
crash with the following backtrace. Is this what you are seeing aswell?

Program received signal SIGSEGV, Segmentation fault.
vex::apply_additive_transform<false, vex::vector<double>, 
vex::vector_expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::plus,
 
boost::proto::argsns_::list2<vex::conv<vex::stencil<double>, 
vex::vector<double> > const&, vex::conv<vex::stencil<double>, 
vex::vector<double> > const&>, 2l> > > (dest=..., expr=...) at 
/home/visit0r/repo/pocl-0.8/examples/VexCL/vexcl/vexcl/operations.hpp:1139
1139        (additive_applicator<append, 
Vector>(dest))(boost::fusion::front(flat_expr));
(gdb) bt
#0  vex::apply_additive_transform<false, vex::vector<double>, 
vex::vector_expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::plus,
 
boost::proto::argsns_::list2<vex::conv<vex::stencil<double>, 
vex::vector<double> > const&, vex::conv<vex::stencil<double>, 
vex::vector<double> > const&>, 2l> > > (dest=..., expr=...) at 
/home/visit0r/repo/pocl-0.8/examples/VexCL/vexcl/vexcl/operations.hpp:1139
#1  0x000000000042210b in 
operator=<vex::vector_expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::plus,
 
boost::proto::argsns_::list2<vex::conv<vex::stencil<double>, 
vex::vector<double> >, vex::conv<vex::stencil<double>, vex::vector<double> > 
 >, 2l> > > (expr=..., this=0x7fffffffcac0) at 
/home/visit0r/repo/pocl-0.8/examples/VexCL/vexcl/vexcl/vector.hpp:574
#2  cr::two_stencils::test_method (this=this@entry=0x7fffffffcc30) at 
/home/visit0r/repo/pocl-0.8/examples/VexCL/vexcl/tests/stencil.cpp:54
#3  0x0000000000422bd5 in cr::two_stencils_invoker () at 
/home/visit0r/repo/pocl-0.8/examples/VexCL/vexcl/tests/stencil.cpp:45
#4  0x0000000000424ed7 in invoke<void (*)()> (this=<optimized out>, 
f=<optimized out>) at /usr/include/boost/test/utils/callback.hpp:56
#5 
boost::unit_test::ut_detail::callback0_impl_t<boost::unit_test::ut_detail::unused,
 
void (*)()>::invoke (this=<optimized out>) at 
/usr/include/boost/test/utils/callback.hpp:89
#6  0x00007ffff7f269e1 in ?? () from 
/usr/lib/libboost_unit_test_framework.so.1.49.0
#7  0x00007ffff7f03dbe in 
boost::execution_monitor::catch_signals(boost::unit_test::callback0<int> 
const&) () from /usr/lib/libboost_unit_test_framework.so.1.49.0
#8  0x00007ffff7f0469b in 
boost::execution_monitor::execute(boost::unit_test::callback0<int> const&) () 
from /usr/lib/libboost_unit_test_framework.so.1.49.0
#9  0x00007ffff7f26ac9 in 
boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::unit_test::test_case
 
const&) () from /usr/lib/libboost_unit_test_framework.so.1.49.0
#10 0x00007ffff7f0b138 in 
boost::unit_test::framework_impl::visit(boost::unit_test::test_case const&) () 
from /usr/lib/libboost_unit_test_framework.so.1.49.0
#11 0x00007ffff7f4549b in 
boost::unit_test::traverse_test_tree(boost::unit_test::test_suite const&, 
boost::unit_test::test_tree_visitor&) () from 
/usr/lib/libboost_unit_test_framework.so.1.49.0
#12 0x00007ffff7f4549b in 
boost::unit_test::traverse_test_tree(boost::unit_test::test_suite const&, 
boost::unit_test::test_tree_visitor&) () from 
/usr/lib/libboost_unit_test_framework.so.1.49.0
#13 0x00007ffff7f06316 in boost::unit_test::framework::run(unsigned long, 
bool) () from /usr/lib/libboost_unit_test_framework.so.1.49.0
#14 0x00007ffff7f246af in boost::unit_test::unit_test_main(bool (*)(), int, 
char**) () from /usr/lib/libboost_unit_test_framework.so.1.49.0
#15 0x00007ffff6ca1ead in __libc_start_main (main=<optimized out>, 
argc=<optimized out>, ubp_av=<optimized out>, init=<optimized out>, 
fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdb38) at 
libc-start.c:228
#16 0x000000000041af11 in _start ()
-- 
Pekka

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
pocl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pocl-devel

Reply via email to