JVM crash by creating VarHandle

Ty Young youngty1997 at gmail.com
Sat Feb 1 23:26:53 UTC 2020


On 2/1/20 5:09 PM, Maurizio Cimadamore wrote:
>
> On 01/02/2020 23:01, Ty Young wrote:
>>
>> On 2/1/20 4:49 PM, Maurizio Cimadamore wrote:
>>>
>>> On 01/02/2020 12:31, Ty Young wrote:
>>>> MemoryHandles.varHandle(long.class, ByteOrder.nativeOrder()); 
>>> Hi Ty,
>>> thanks for reaching out - I assume you are on the foreign-jextract 
>>> branch?
>>
>>
>> Yep. The build is right after the name() method was added to SystemABI.
>>
>>
>>> And also, is the above snippet enough to reproduce the crash for 
>>> you? Or does it only happen sometimes, but not others?
>>
>>
>> It seems to only happen when accessing the struct field from a struct 
>> that resides in memory. Never outside of an array.
>>
>>
>> Here is a Github Gist, if it helps any: 
>> https://gist.github.com/BlueGoliath/307f60856afee04e218b759420a53fb7
>
> The stack trace you showed seems to point at a constructor somewhere:
>
>  org.goliath.crosspoint.fields.NumberField.<init>
>
> so, the crash  seems to happen outside of memory access - e.g. it 
> happens on actual var handle creation. So I assume that the thing 
> which actually fails is this?
>
> https://github.com/BlueGoliath/Crosspoint/blob/master/src/main/java/org/goliath/crosspoint/fields/NumberField.java#L29 
>


Yep.


>
> Is there a repeatable way to call the NumberField constructor which 
> will lead to the crash?


Got a Linux machine that has an Nvidia GPU? I've pushed local code to 
Github. The bindings I'm working on right now are here:


https://github.com/BlueGoliath/GoliathBindings


I have a test class for testing the bindings within it, which shows the 
problem:


https://github.com/BlueGoliath/GoliathBindings/blob/master/modules/org.goliath.bindings.nvml/src/main/java/org/goliath/bindings/nvml/main/Test.java


You can get the bindings to work on Windows(since NVML is 
cross-platform) but you'll have to add the library to the path and 
change the name string in nvml_h.java. I think it's just nvml.dll in 
Windows.


>
> Maurizio
>
>>
>>
>>
>>>
>>> Thanks
>>> Maurizio
>>>


More information about the panama-dev mailing list