Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Apr 2017 17:28:52 +0300
From:      =?UTF-8?B?0JLQu9Cw0LTQuNC80LjRgCDQmtGA0YvQu9C+0LI=?= <volodimir.krylov@gmail.com>
To:        x11@freebsd.org
Subject:   [OpenCL] segmentation fault at clBuildProgram
Message-ID:  <CA%2BnagiKjrqoAZWw03p9wH4Lu3CNEOAJFHmApeLxvm3bEDhTy-A@mail.gmail.com>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Hello,

I try to use lang/clover but i have a segmentation fault. Can you help me
to solve this problem?

FreeBSD 11.0-RELEASE-p1 #0 r308702

vgapci0@pci0:1:0:0:     class=0x030000 card=0x220c1458 chip=0x68ba1002
rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'Juniper XT [Radeon HD 6770]'
    class      = display
    subclass   = VGA

> pkg info | grep 'clover\|clinfo\|ocl-icd'
clinfo-2.1.16.01.12            OpenCL info program like glxinfo is for libGL
clover-13.0.6                  Mesa "Clover" OpenCL library
ocl-icd-2.2.11_1               OpenCL Installable Client Driver

> clinfo
Number of platforms                               1
  Platform Name                                   Clover
  Platform Vendor                                 Mesa
  Platform Version                                OpenCL 1.1 Mesa 13.0.6
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd
  Platform Extensions function suffix             MESA

  Platform Name                                   Clover
Number of devices                                 1
  Device Name                                     AMD JUNIPER (DRM 2.29.0 /
11.0-RELEASE-p1, LLVM 3.9.1)
  Device Vendor                                   AMD
  Device Vendor ID                                0x1002
  Device Version                                  OpenCL 1.1 Mesa 13.0.6
  Driver Version                                  13.0.6
  Device OpenCL C Version                         OpenCL C 1.1
  Device Type                                     GPU
  Device Profile                                  FULL_PROFILE
  Max compute units                               1
  Max clock frequency                             0MHz
  Max work item dimensions                        3
  Max work item sizes                             256x256x256
  Max work group size                             256
Ошибка сегментации(core dumped)

>gdb /usr/local/bin/clinfo clinfo.core
(gdb) bt
#0  0x000000080154f254 in std::__1::bad_function_call::~bad_function_call
() from /usr/local/lib/libMesaOpenCL.so.1
#1  0x000000080154e1ee in std::__1::bad_function_call::~bad_function_call
() from /usr/local/lib/libMesaOpenCL.so.1
#2  0x0000000801544d33 in std::__1::bad_function_call::~bad_function_call
() from /usr/local/lib/libMesaOpenCL.so.1
#3  0x000000080152a03d in clIcdGetPlatformIDsKHR () from
/usr/local/lib/libMesaOpenCL.so.1
#4  0x0000000800838347 in clBuildProgram () from
/usr/local/lib/libOpenCL.so.1
#5  0x00000000004021ec in ?? ()
#6  0x0000000000403f7f in ?? ()
#7  0x00000000004072e9 in ?? ()
#8  0x0000000000407d11 in ?? ()
#9  0x00000000004097c4 in ?? ()
#10 0x000000000040151f in ?? ()
#11 0x0000000800630000 in ?? ()
#12 0x0000000000000000 in ?? ()

And the example from math/clfft also has a segmentation fault at
clBuildProgram:
(gdb) bt
#0  0x000000080214f254 in std::__1::bad_function_call::~bad_function_call
() from /usr/local/lib/libMesaOpenCL.so.1
#1  0x000000080214e1ee in std::__1::bad_function_call::~bad_function_call
() from /usr/local/lib/libMesaOpenCL.so.1
#2  0x0000000802144d33 in std::__1::bad_function_call::~bad_function_call
() from /usr/local/lib/libMesaOpenCL.so.1
#3  0x000000080212a03d in clIcdGetPlatformIDsKHR () from
/usr/local/lib/libMesaOpenCL.so.1
#4  0x000000080082b347 in clBuildProgram () from
/usr/local/lib/libOpenCL.so.1
#5  0x0000000800af97aa in FFTAction::compileKernels () from
/usr/local/lib/libclFFT.so.2
#6  0x0000000800a6cd76 in
FFTGeneratedStockhamAction::FFTGeneratedStockhamAction () from
/usr/local/lib/libclFFT.so.2
#7  0x0000000800a57ac6 in selectAction () from /usr/local/lib/libclFFT.so.2
#8  0x0000000800a5863a in clfftBakePlan () from /usr/local/lib/libclFFT.so.2
#9  0x0000000000401504 in main () at clfft.c:133


And I have attached the ocl debug log at running clinfo

Thanks!

[-- Attachment #2 --]
ocl-icd(ocl_icd_loader.c:612): __initClIcd: Reading icd list from '/usr/local/etc/OpenCL/vendors'
ocl-icd(ocl_icd_loader.c:177): _find_num_icds: return: 1/0x1
ocl-icd(ocl_icd_loader.c:208): _open_driver: Considering file '/usr/local/etc/OpenCL/vendors/mesa.icd'
ocl-icd(ocl_icd_loader.c:182): _load_icd: Loading ICD 'libMesaOpenCL.so.1'
ocl-icd(ocl_icd_loader.c:186): _load_icd: ICD[0] loaded
ocl-icd(ocl_icd_loader.c:240): _open_driver: return: 1/0x1
ocl-icd(ocl_icd_loader.c:253): _open_drivers: return: 1/0x1
ocl-icd(ocl_icd_loader.c:410): _find_and_check_platforms: Checking ICD 0/1
ocl-icd(ocl_icd_loader.c:258): _get_function_addr: Looking for function clGetExtensionFunctionAddress
ocl-icd(ocl_icd_loader.c:276): _get_function_addr: return: 34381924192/0x801528760
ocl-icd(ocl_icd_loader.c:258): _get_function_addr: Looking for function clIcdGetPlatformIDsKHR
ocl-icd(ocl_icd_loader.c:271): _get_function_addr: Function and symbol 'clIcdGetPlatformIDsKHR' have different addresses (0x801528710 != 0x801528770)!
ocl-icd(ocl_icd_loader.c:276): _get_function_addr: return: 34381924112/0x801528710
ocl-icd(ocl_icd_loader.c:258): _get_function_addr: Looking for function clGetPlatformInfo
ocl-icd(ocl_icd_loader.c:267): _get_function_addr: Missing function 'clGetPlatformInfo' in ICD, should be skipped
ocl-icd(ocl_icd_loader.c:276): _get_function_addr: return: 34381924176/0x801528750
ocl-icd(ocl_icd_loader.c:459): _find_and_check_platforms: Try to load 1 platforms
ocl-icd(ocl_icd_loader.c:281): _allocate_platforms: Requesting allocation for 1 platforms
ocl-icd(ocl_icd_loader.c:291): _allocate_platforms: return: 1/0x1
ocl-icd(ocl_icd_loader.c:466): _find_and_check_platforms: Checking platform 0
ocl-icd(ocl_icd_loader.c:317): _malloc_clGetPlatformInfo: return: cl_khr_icd
ocl-icd(ocl_icd_loader.c:317): _malloc_clGetPlatformInfo: return: MESA
ocl-icd(ocl_icd_loader.c:536): _find_and_check_platforms: Extension suffix: MESA
ocl-icd(ocl_icd_loader.c:317): _malloc_clGetPlatformInfo: return: FULL_PROFILE
ocl-icd(ocl_icd_loader.c:317): _malloc_clGetPlatformInfo: return: OpenCL 1.1 Mesa 13.0.6
ocl-icd(ocl_icd_loader.c:317): _malloc_clGetPlatformInfo: return: Clover
ocl-icd(ocl_icd_loader.c:317): _malloc_clGetPlatformInfo: return: Mesa
ocl-icd(ocl_icd_loader.c:364): _sort_platforms: Nb platefroms: 1
ocl-icd(ocl_icd_loader.c:660): __initClIcd: 1 valid vendor(s)!
Number of platforms                               1
ocl-icd(ocl_icd_loader.c:845): clGetPlatformIDs: Entering
ocl-icd(ocl_icd_loader_gen.c:39): clGetPlatformInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:44): clGetPlatformInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:39): clGetPlatformInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:44): clGetPlatformInfo: return: 0/0x0
  Platform Name                                   Clover
ocl-icd(ocl_icd_loader_gen.c:39): clGetPlatformInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:44): clGetPlatformInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:39): clGetPlatformInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:44): clGetPlatformInfo: return: 0/0x0
  Platform Vendor                                 Mesa
ocl-icd(ocl_icd_loader_gen.c:39): clGetPlatformInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:44): clGetPlatformInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:39): clGetPlatformInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:44): clGetPlatformInfo: return: 0/0x0
  Platform Version                                OpenCL 1.1 Mesa 13.0.6
ocl-icd(ocl_icd_loader_gen.c:39): clGetPlatformInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:44): clGetPlatformInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:39): clGetPlatformInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:44): clGetPlatformInfo: return: 0/0x0
  Platform Profile                                FULL_PROFILE
ocl-icd(ocl_icd_loader_gen.c:39): clGetPlatformInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:44): clGetPlatformInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:39): clGetPlatformInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:44): clGetPlatformInfo: return: 0/0x0
  Platform Extensions                             cl_khr_icd
ocl-icd(ocl_icd_loader_gen.c:39): clGetPlatformInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:44): clGetPlatformInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:39): clGetPlatformInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:44): clGetPlatformInfo: return: 0/0x0
  Platform Extensions function suffix             MESA
ocl-icd(ocl_icd_loader_gen.c:53): clGetDeviceIDs: Entering
ocl-icd(ocl_icd_loader_gen.c:58): clGetDeviceIDs: return: 0/0x0

  Platform Name                                   Clover
Number of devices                                 1
ocl-icd(ocl_icd_loader_gen.c:53): clGetDeviceIDs: Entering
ocl-icd(ocl_icd_loader_gen.c:58): clGetDeviceIDs: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
  Device Name                                     AMD JUNIPER (DRM 2.29.0 / 11.0-RELEASE-p1, LLVM 3.9.1)
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
  Device Vendor                                   AMD
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
  Device Vendor ID                                0x1002
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
  Device Version                                  OpenCL 1.1 Mesa 13.0.6
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
  Driver Version                                  13.0.6
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
  Device OpenCL C Version                         OpenCL C 1.1
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
  Device Type                                     GPU
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
  Device Profile                                  FULL_PROFILE
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
  Max compute units                               1
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
  Max clock frequency                             0MHz
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
  Max work item dimensions                        3
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
  Max work item sizes                             256x256x256
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
  Max work group size                             256
ocl-icd(ocl_icd_loader_gen.c:67): clGetDeviceInfo: Entering
ocl-icd(ocl_icd_loader_gen.c:71): clGetDeviceInfo: return: 0/0x0
ocl-icd(ocl_icd_loader.c:900): clCreateContext: Entering
ocl-icd(ocl_icd_loader.c:918): clCreateContext: return: 34378104840/0x801184008
ocl-icd(ocl_icd_loader_gen.c:330): clCreateProgramWithSource: Entering
ocl-icd(ocl_icd_loader_gen.c:337): clCreateProgramWithSource: return: 34378104952/0x801184078
ocl-icd(ocl_icd_loader_gen.c:383): clBuildProgram: Entering
Ошибка сегментации(core dumped)


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BnagiKjrqoAZWw03p9wH4Lu3CNEOAJFHmApeLxvm3bEDhTy-A>