cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

tobias
Journeyman III

OpenCL Compiler Segmentation fault

The OpenCL kernel below leads to a segmentation fault in libamdocl64.so when compiling (using Linux, APPSDK-3.0)

void b(void (^f)(void))

{

  f();

}

void a(void (^f)(void))

{

  b( ^{ f(); } );

}

kernel

void crash()

{

  a( ^{  } );

}

I'm guessing this would be allowed in OpenCL 2? (removing the nested block compiles successfully)

edit: add system info in attachment

Tags (1)
0 Likes
6 Replies
dipak
Staff
Staff

Re: OpenCL Compiler Segmentation fault

Hi,

Thanks for reporting this. We'll check and get back to you.

Please share your setup details like Catalyst version, OS, graphics card etc.

Regards,

0 Likes
tobias
Journeyman III

Re: OpenCL Compiler Segmentation fault

Hi

My setup is: (also see the two newly attached files (dmesg & clinfo))

OS: Debian Jessie

Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-1 (2016-03-06) x86_64 GNU/Linux

fglrx driver: 1:15.12-2~bpo8+1 (jessie-backports)

APU: AMD A10-7700K Radeon R7, 10 Compute Cores 4C+6G

APPSDK: 3.0

/proc/ati/0/biosversion

BIOS_CREATION_DATE="02/03/14,12:14:55"

BIOS_MSG="113-SPEC-102 SPECTRE DDR3 200e/                                             "

BIOS_KIT_VERSION="BK-AMD VER015.041.000.002.000000"

BIOS_PN="113-SPEC-102"

Thanks for your help

0 Likes
dipak
Staff
Staff

Re: OpenCL Compiler Segmentation fault

Thanks for sharing these setup details. I'll check and get back to you shortly.

0 Likes
dipak
Staff
Staff

Re: OpenCL Compiler Segmentation fault

Hi,

My apologies for this delayed reply.

Yes, I too observed the same segfault error using the latest Crimson 15.12 driver. It seems an OpenCL compiler issue and I'll file a bug report against it.

Regards,

0 Likes
tobias
Journeyman III

Re: OpenCL Compiler Segmentation fault

No problem, I can work around it and thanks for your support.

0 Likes
dipak
Staff
Staff

Re: OpenCL Compiler Segmentation fault

Hi,

Here is an update. As I've come to know, the above test-case is invalid because it violates OpenCL standard, 6.12.5 Restrictions: "A Block cannot reference or capture another Block variable declared in the outer scope".

However, the segmentation fault issue has been resolved (in internal builds) and hopefully, the fix will be available in future releases.

Regards,

0 Likes