garrigue / lablgtk

LablGTK 2 and 3: an interface to the GIMP Tool Kit
https://garrigue.github.io/lablgtk
Other
89 stars 40 forks source link

Remove naked pointers and Obj.truncate for compatibility with 5.00 [lablgtk2] #145

Closed garrigue closed 2 years ago

garrigue commented 2 years ago

The lookup_info structures generated by varcc were returned as raw pointers to ocaml, which caused failures in multicore. This fixes that by wrapping them, and returning them inside an allocated tuple.

(Same as #144, but for lablgtk2 this time)

garrigue commented 2 years ago

Also removed Gpointer.raw_null and a call to Obj.truncate.

garrigue commented 2 years ago

This versions runs without problem on 4.14 in with -disable-naked-pointers but not on multicore-5.00. We get a segfault on any linked executable, but could not track the cause.

garrigue commented 2 years ago

We verified that this branch runs fine with -disable-naked-pointers on trunk too. So there is something else in multicore that causes this segmentation fault.