Bug 963 - com.jogamp.opencl.CLProgramTest:programBinariesTest causes SIGSEGV
Summary: com.jogamp.opencl.CLProgramTest:programBinariesTest causes SIGSEGV
Alias: None
Product: Jocl
Classification: JogAmp
Component: opencl (show other bugs)
Version: 1
Hardware: pc_x86_64 macosx
: --- normal
Assignee: Wade Walker
Depends on:
Reported: 2014-02-07 21:40 CET by Wade Walker
Modified: 2014-02-12 03:03 CET (History)
1 user (show)

See Also:
Type: ---
SCM Refs:
Workaround: ---

HotSpot error log (37.86 KB, application/octet-stream)
2014-02-07 21:40 CET, Wade Walker

Note You need to log in before you can comment on or make changes to this bug.
Description Wade Walker 2014-02-07 21:40:25 CET
Created attachment 587 [details]
HotSpot error log

Here's the top of the call stack:

C  [libsystem_c.dylib+0x1812]  strlen+0x12
C  [OpenCL+0x12c60]  clGetProgramInfo+0x271
C  [libjocl.jnilib+0x9d26]  Java_com_jogamp_opencl_llb_impl_CLAbstractImpl_dispatch_1clGetProgramInfo0__JIJLjava_lang_Object_2ILjava_lang_Object_2IJ+0x126
j  com.jogamp.opencl.llb.impl.CLAbstractImpl.dispatch_clGetProgramInfo0(JIJLjava/lang/Object;ILjava/lang/Object;IJ)I+0
j  com.jogamp.opencl.llb.impl.CLAbstractImpl.clGetProgramInfo(JIJLjava/nio/Buffer;Lcom/jogamp/common/nio/PointerBuffer;)I+106
j  com.jogamp.opencl.CLProgram.getProgramInfoString(I)Ljava/lang/String;+27
j  com.jogamp.opencl.CLProgram.getSource()Ljava/lang/String;+4
j  com.jogamp.opencl.CLProgramTest.programBinariesTest()V+308

Working on this now.
Comment 1 Wade Walker 2014-02-07 23:14:36 CET
Solved. It turns out that asking the driver for the source of a program created from binary causes it to SIGSEGV. I added a flag at program creation time that allows us to avoid this call.

All the tests work on my Mac at this point, so I'll try them on PC and Linux first, then submit a patch for all the test fixes.
Comment 2 Wade Walker 2014-02-08 21:11:29 CET
Fixes are available now in https://github.com/WadeWalker/jocl/compare/fix_jocl_bugs_959_960_963_964. I still need to test them on Windows and Linux though, so not ready to merge yet.