You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
LGitCommitBuilder>>commit_create:repo:update_ref:author:committer:message_encoding:message:tree:parent_count:parents: defines parent_count as an int, which is signed 32 bits.
In Squeak FFI this doesn't seem to matter, presumably it zero outs the top half when transferred as a 64 bit value, however Threaded FFI doesn't appear to do this. The result is that git commits will regularly crash the VM when using Threaded FFI.
Modify the function signature to use size_t.
PR on the way.
The text was updated successfully, but these errors were encountered:
akgrant43
added a commit
to akgrant43/libgit2-pharo-bindings
that referenced
this issue
Jan 30, 2020
…sage_encoding:message:tree:parent_count:parents: parent_count
parent_count is currently defined as an int, which is signed 32 bits.
As documented at https://libgit2.org/libgit2/#HEAD/group/commit/git_commit_create it is actually a size_t, which is unsigned 64 bits on a 64 bit platform.
In Squeak FFI this doesn't seem to matter, presumably it zero outs the top half when transferred as a 64 bit value, however Threaded FFI doesn't appear to do this. The result is that git commits will occasionally crash the VM when using Threaded FFI.
Modify the function signature to use size_t.
Fixes: pharo-project/pharo#5592
LGitCommitBuilder>>commit_create:repo:update_ref:author:committer:message_encoding:message:tree:parent_count:parents: defines parent_count as an int, which is signed 32 bits.
As documented at https://libgit2.org/libgit2/#HEAD/group/commit/git_commit_create it is actually a size_t, which is unsigned 64 bits on a 64 bit platform.
In Squeak FFI this doesn't seem to matter, presumably it zero outs the top half when transferred as a 64 bit value, however Threaded FFI doesn't appear to do this. The result is that git commits will regularly crash the VM when using Threaded FFI.
Modify the function signature to use size_t.
PR on the way.
The text was updated successfully, but these errors were encountered: