{"action":"created","issue":{"url":"https://api.github.com/repos/clMathLibraries/clFFT/issues/161","repository_url":"https://api.github.com/repos/clMathLibraries/clFFT","labels_url":"https://api.github.com/repos/clMathLibraries/clFFT/issues/161/labels{/name}","comments_url":"https://api.github.com/repos/clMathLibraries/clFFT/issues/161/comments","events_url":"https://api.github.com/repos/clMathLibraries/clFFT/issues/161/events","html_url":"https://github.com/clMathLibraries/clFFT/issues/161","id":169427982,"number":161,"title":"Segmentation fault in testsuite","user":{"login":"ghisvail","id":1964655,"avatar_url":"https://avatars.githubusercontent.com/u/1964655?v=3","gravatar_id":"","url":"https://api.github.com/users/ghisvail","html_url":"https://github.com/ghisvail","followers_url":"https://api.github.com/users/ghisvail/followers","following_url":"https://api.github.com/users/ghisvail/following{/other_user}","gists_url":"https://api.github.com/users/ghisvail/gists{/gist_id}","starred_url":"https://api.github.com/users/ghisvail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ghisvail/subscriptions","organizations_url":"https://api.github.com/users/ghisvail/orgs","repos_url":"https://api.github.com/users/ghisvail/repos","events_url":"https://api.github.com/users/ghisvail/events{/privacy}","received_events_url":"https://api.github.com/users/ghisvail/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":17,"created_at":"2016-08-04T17:20:45Z","updated_at":"2016-08-30T07:43:19Z","closed_at":"2016-08-16T17:19:55Z","body":"I tried running the testsuite on a laptop running up-to-date Debian testing, using the `2.12.1` tagged version as well as the latest tip of `develop`. I had to apply a patch to get around #160 first.\r\n\r\nOpenCL info:\r\n```\r\nclFFT client API version:  2.12.1\r\nclFFT runtime version:     2.12.1\r\n\r\n    CL_PLATFORM_PROFILE:     FULL_PROFILE\r\n    CL_PLATFORM_VERSION:     OpenCL 2.0 pocl 0.13, LLVM 3.8.1\r\n    CL_PLATFORM_NAME:        Portable Computing Language\r\n    CL_PLATFORM_VENDOR:      The pocl project\r\n    CL_PLATFORM_EXTENSIONS:  cl_khr_icd\r\n\r\n    CL_DEVICE_NAME:                      pthread-Intel(R) Core(TM) i5-4300M CPU @ 2.60GHz\r\n    CL_DEVICE_VERSION:                   OpenCL 2.0 pocl\r\n    CL_DRIVER_VERSION:                   0.13\r\n    CL_DEVICE_TYPE:                      defaultCPU\r\n    CL_DEVICE_MAX_CLOCK_FREQUENCY:       3300\r\n    CL_DEVICE_ADDRESS_BITS:              64\r\n    CL_DEVICE_AVAILABLE:                 TRUE\r\n    CL_DEVICE_COMPILER_AVAILABLE:        TRUE\r\n    CL_DEVICE_OPENCL_C_VERSION:          OpenCL C 2.0\r\n    CL_DEVICE_MAX_WORK_GROUP_SIZE:       4096\r\n    CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:  3\r\n                         Dimension[ 0 ]  4096\r\n                         Dimension[ 1 ]  4096\r\n                         Dimension[ 2 ]  4096\r\n    CL_DEVICE_HOST_UNIFIED_MEMORY:       TRUE\r\n    CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE:  10424524800 ( 10180200 KB )\r\n    CL_DEVICE_LOCAL_MEM_SIZE:            10424524800 ( 10180200 KB )\r\n    CL_DEVICE_GLOBAL_MEM_SIZE:           10424524800 ( 9941 MB )\r\n    CL_DEVICE_MAX_MEM_ALLOC_SIZE:        10424524800 ( 9941 MB )\r\n    CL_DEVICE_EXTENSIONS:                cl_khr_byte_addressable_store cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir cl_khr_int64 cl_khr_fp64 cl_khr_int64_base_atomics cl_khr_int64_extended_atomics\r\n```\r\n\r\noutput of `./Test --short`:\r\n```\r\n[ RUN      ] accuracy_test_pow2_double.large_2D_in_place_real_to_hermitian_interleaved\r\nSegmentation fault\r\n```\r\n\r\napplied patch:\r\n```\r\nFrom 3e5e5c5da7c87c1837128b82a64f61f8978cc750 Mon Sep 17 00:00:00 2001\r\nFrom: Ghislain Antony Vaillant <ghisvail@gmail.com>\r\nDate: Thu, 4 Aug 2016 10:19:00 +0100\r\nSubject: [PATCH] Bypass execution of memory intensive testcases\r\n\r\n---\r\n src/tests/accuracy_test_postcallback.cpp     | 40 ++++++++++++++--------------\r\n src/tests/accuracy_test_pow2.cpp             | 22 +++++++--------\r\n src/tests/accuracy_test_pow2_precallback.cpp | 22 +++++++--------\r\n 3 files changed, 42 insertions(+), 42 deletions(-)\r\n\r\ndiff --git a/src/tests/accuracy_test_postcallback.cpp b/src/tests/accuracy_test_postcallback.cpp\r\nindex ef03a19..58a2bb3 100644\r\n--- a/src/tests/accuracy_test_postcallback.cpp\r\n+++ b/src/tests/accuracy_test_postcallback.cpp\r\n@@ -1485,17 +1485,17 @@ void pow2_large_1D_4M_in_place_real_to_hermitian_interleaved()\r\n \tpostcallback_real_to_complex<T, cl_T, fftw_T>( pattern, lengths, batch, input_strides, output_strides, input_distance, output_distance, layout, placeness );\r\n }\r\n \r\n-TEST_F(accuracy_test_postcallback_single, pow2_large_1D_4M_in_place_real_to_hermitian_interleaved)\r\n-{\r\n-\ttry { pow2_large_1D_4M_in_place_real_to_hermitian_interleaved< float, cl_float, fftwf_complex >(); }\r\n-\tcatch( const std::exception& err ) { handle_exception(err);\t}\r\n-}\r\n+//TEST_F(accuracy_test_postcallback_single, pow2_large_1D_4M_in_place_real_to_hermitian_interleaved)\r\n+//{\r\n+\t//try { pow2_large_1D_4M_in_place_real_to_hermitian_interleaved< float, cl_float, fftwf_complex >(); }\r\n+\t//catch( const std::exception& err ) { handle_exception(err);\t}\r\n+//}\r\n \r\n-TEST_F(accuracy_test_postcallback_double, pow2_large_1D_4M_in_place_real_to_hermitian_interleaved)\r\n-{\r\n-\ttry { pow2_large_1D_4M_in_place_real_to_hermitian_interleaved< double, cl_double, fftw_complex >(); }\r\n-\tcatch( const std::exception& err ) { handle_exception(err);\t}\r\n-}\r\n+//TEST_F(accuracy_test_postcallback_double, pow2_large_1D_4M_in_place_real_to_hermitian_interleaved)\r\n+//{\r\n+\t//try { pow2_large_1D_4M_in_place_real_to_hermitian_interleaved< double, cl_double, fftw_complex >(); }\r\n+\t//catch( const std::exception& err ) { handle_exception(err);\t}\r\n+//}\r\n \r\n template< class T, class cl_T, class fftw_T >\r\n void pow2_large_1D_4M_out_of_place_real_to_hermitian_planar()\r\n@@ -1514,17 +1514,17 @@ void pow2_large_1D_4M_out_of_place_real_to_hermitian_planar()\r\n \tpostcallback_real_to_complex<T, cl_T, fftw_T>( pattern, lengths, batch, input_strides, output_strides, input_distance, output_distance, layout, placeness );\r\n }\r\n \r\n-TEST_F(accuracy_test_postcallback_single, pow2_large_1D_4M_out_of_place_real_to_hermitian_planar)\r\n-{\r\n-\ttry { pow2_large_1D_4M_out_of_place_real_to_hermitian_planar< float, cl_float, fftwf_complex >(); }\r\n-\tcatch( const std::exception& err ) { handle_exception(err);\t}\r\n-}\r\n+//TEST_F(accuracy_test_postcallback_single, pow2_large_1D_4M_out_of_place_real_to_hermitian_planar)\r\n+//{\r\n+\t//try { pow2_large_1D_4M_out_of_place_real_to_hermitian_planar< float, cl_float, fftwf_complex >(); }\r\n+\t//catch( const std::exception& err ) { handle_exception(err);\t}\r\n+//}\r\n \r\n-TEST_F(accuracy_test_postcallback_double, pow2_large_1D_4M_out_of_place_real_to_hermitian_planar)\r\n-{\r\n-\ttry { pow2_large_1D_4M_out_of_place_real_to_hermitian_planar< double, cl_double, fftw_complex >(); }\r\n-\tcatch( const std::exception& err ) { handle_exception(err);\t}\r\n-}\r\n+//TEST_F(accuracy_test_postcallback_double, pow2_large_1D_4M_out_of_place_real_to_hermitian_planar)\r\n+//{\r\n+\t//try { pow2_large_1D_4M_out_of_place_real_to_hermitian_planar< double, cl_double, fftw_complex >(); }\r\n+\t//catch( const std::exception& err ) { handle_exception(err);\t}\r\n+//}\r\n \r\n template< class T, class cl_T, class fftw_T >\r\n void pow3_large_1D_out_of_place_real_to_hermitian_planar()\r\ndiff --git a/src/tests/accuracy_test_pow2.cpp b/src/tests/accuracy_test_pow2.cpp\r\nindex c3b0a84..a81e02f 100644\r\n--- a/src/tests/accuracy_test_pow2.cpp\r\n+++ b/src/tests/accuracy_test_pow2.cpp\r\n@@ -1793,17 +1793,17 @@ void large_1D_4M_in_place_real_to_hermitian_interleaved()\r\n \treal_to_complex<T, cl_T, fftw_T>( pattern, lengths, batch, input_strides, output_strides, input_distance, output_distance, layout, placeness );\r\n }\r\n \r\n-TEST_F(accuracy_test_pow2_single, large_1D_4M_in_place_real_to_hermitian_interleaved)\r\n-{\r\n-\ttry { large_1D_4M_in_place_real_to_hermitian_interleaved< float, cl_float, fftwf_complex >(); }\r\n-\tcatch( const std::exception& err ) { handle_exception(err);\t}\r\n-}\r\n-\r\n-TEST_F(accuracy_test_pow2_double, large_1D_4M_in_place_real_to_hermitian_interleaved)\r\n-{\r\n-\ttry { large_1D_4M_in_place_real_to_hermitian_interleaved< double, cl_double, fftw_complex >(); }\r\n-\tcatch( const std::exception& err ) { handle_exception(err);\t}\r\n-}\r\n+//TEST_F(accuracy_test_pow2_single, large_1D_4M_in_place_real_to_hermitian_interleaved)\r\n+//{\r\n+\t//try { large_1D_4M_in_place_real_to_hermitian_interleaved< float, cl_float, fftwf_complex >(); }\r\n+\t//catch( const std::exception& err ) { handle_exception(err);\t}\r\n+//}\r\n+\r\n+//TEST_F(accuracy_test_pow2_double, large_1D_4M_in_place_real_to_hermitian_interleaved)\r\n+//{\r\n+\t//try { large_1D_4M_in_place_real_to_hermitian_interleaved< double, cl_double, fftw_complex >(); }\r\n+\t//catch( const std::exception& err ) { handle_exception(err);\t}\r\n+//}\r\n // *****************************************************\r\n // *****************************************************\r\n template< class T, class cl_T, class fftw_T >\r\ndiff --git a/src/tests/accuracy_test_pow2_precallback.cpp b/src/tests/accuracy_test_pow2_precallback.cpp\r\nindex 9bb78bf..4e519a0 100644\r\n--- a/src/tests/accuracy_test_pow2_precallback.cpp\r\n+++ b/src/tests/accuracy_test_pow2_precallback.cpp\r\n@@ -1851,17 +1851,17 @@ void large_1D_4M_in_place_real_to_hermitian_interleaved()\r\n \tprecallback_real_to_complex<T, cl_T, fftw_T>( pattern, lengths, batch, input_strides, output_strides, input_distance, output_distance, layout, placeness );\r\n }\r\n \r\n-TEST_F(accuracy_test_pow2_precallback_single, large_1D_4M_in_place_real_to_hermitian_interleaved)\r\n-{\r\n-\ttry { large_1D_4M_in_place_real_to_hermitian_interleaved< float, cl_float, fftwf_complex >(); }\r\n-\tcatch( const std::exception& err ) { handle_exception(err);\t}\r\n-}\r\n-\r\n-TEST_F(accuracy_test_pow2_precallback_double, large_1D_4M_in_place_real_to_hermitian_interleaved)\r\n-{\r\n-\ttry { large_1D_4M_in_place_real_to_hermitian_interleaved< double, cl_double, fftw_complex >(); }\r\n-\tcatch( const std::exception& err ) { handle_exception(err);\t}\r\n-}\r\n+//TEST_F(accuracy_test_pow2_precallback_single, large_1D_4M_in_place_real_to_hermitian_interleaved)\r\n+//{\r\n+\t//try { large_1D_4M_in_place_real_to_hermitian_interleaved< float, cl_float, fftwf_complex >(); }\r\n+\t//catch( const std::exception& err ) { handle_exception(err);\t}\r\n+//}\r\n+\r\n+//TEST_F(accuracy_test_pow2_precallback_double, large_1D_4M_in_place_real_to_hermitian_interleaved)\r\n+//{\r\n+\t//try { large_1D_4M_in_place_real_to_hermitian_interleaved< double, cl_double, fftw_complex >(); }\r\n+\t//catch( const std::exception& err ) { handle_exception(err);\t}\r\n+//}\r\n // *****************************************************\r\n // *****************************************************\r\n template< class T, class cl_T, class fftw_T >\r\n-- \r\n2.8.1\r\n```"},"comment":{"url":"https://api.github.com/repos/clMathLibraries/clFFT/issues/comments/243359005","html_url":"https://github.com/clMathLibraries/clFFT/issues/161#issuecomment-243359005","issue_url":"https://api.github.com/repos/clMathLibraries/clFFT/issues/161","id":243359005,"user":{"login":"ghisvail","id":1964655,"avatar_url":"https://avatars.githubusercontent.com/u/1964655?v=3","gravatar_id":"","url":"https://api.github.com/users/ghisvail","html_url":"https://github.com/ghisvail","followers_url":"https://api.github.com/users/ghisvail/followers","following_url":"https://api.github.com/users/ghisvail/following{/other_user}","gists_url":"https://api.github.com/users/ghisvail/gists{/gist_id}","starred_url":"https://api.github.com/users/ghisvail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ghisvail/subscriptions","organizations_url":"https://api.github.com/users/ghisvail/orgs","repos_url":"https://api.github.com/users/ghisvail/repos","events_url":"https://api.github.com/users/ghisvail/events{/privacy}","received_events_url":"https://api.github.com/users/ghisvail/received_events","type":"User","site_admin":false},"created_at":"2016-08-30T07:43:18Z","updated_at":"2016-08-30T07:43:18Z","body":"> Can you specify what is failing on NV?\r\n\r\nSame context creation errors as your reported.\r\n\r\nHow come these fail when running the testsuite entrely but succeeds when run individually then?\r\n\r\n> This appears like some problem with NV's opencl runtime. You would have to contact Nvidia to look at this issue.\r\n\r\nJudging by the symptoms above, one might be more enclined to think this is an issue with the design of the testsuite. Before raising our forks on the `nvidia` people, more solid triaging may be required, don't you think?\r\n\r\nAnd please **keep the issue open until fixed**, so that it is visible. Other people might care about this issue too, and leaving this closed does no good in getting more support involved. Thanks."}}
{"actor":{"display_login":"ghisvail"}}