Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libgit2 load error on *nix - segfaults after fixing it (libssl) #88

Open
bill-auger opened this issue May 24, 2020 · 0 comments
Open

libgit2 load error on *nix - segfaults after fixing it (libssl) #88

bill-auger opened this issue May 24, 2020 · 0 comments

Comments

@bill-auger
Copy link

i was hoping to try out the 'mars-gtk' experiment; but pharo is not behaving well on my system

the behavior is the same with 80/headless-latest, 90/headless-latest, 90/headless-stable, and 90/stable - upon launching pharo, i get this error (referring to libgit2):

$ ./pharo64-linux-headless-latest/pharo ./pharo64/Pharo9.0-SNAPSHOT-64bit-8ce6236.image
External module not found
ExternalLibraryFunction(Object)>>error:
ExternalLibraryFunction(Object)>>externalCallFailed
ExternalLibraryFunction(ExternalFunction)>>invokeWithArguments:
LGitLibrary>>libgit2_init
FFICalloutAPI>>function:library:
LGitLibrary(Object)>>ffiCall:library:options:
LGitLibrary(Object)>>ffiCall:library:
LGitLibrary(Object)>>ffiCall:
LGitLibrary>>libgit2_init

the library file looks fine

$ file lib/libgit2.so.0.25.1
lib/libgit2.so.0.25.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=bca31b8ef88a657faffdaa55c5960250ecbc7b9a, with debug_info, not stripped

i "fixed" that with the "latest" VM, by deleting the libgit2 libraries from the lib/ dir and adding a symlink to the system libgit2 lib - by "fixed", i mean that it allowed pharo to start without the FFI error - this trick worked for all image/VM combinations that i tried

$ rm lib/libgit2.so*
$ ln -s /usr/lib/libgit2.so.1.0.0 lib/libgit2.so.1.0.0

however, upon loading 'mars-gtk' with metacello, the "latest" VM crashed with a segfault; so its not clear that my "fix" was an improvement

after some poking around in the image, i found that metacello was trying to use SSH to download 'mars-gtk' and could not find any credentials - i changed the setting of "iceberg" in its GUI to prefer HTTPS and that allowed the git clone to start - it chugged away for about a minute looking quite normal, presenting several progress-bar widgets to completion - then it eventually crashed with another segfault - the problem seems to be with libssl now - perhaps related to #70 (closed as not-a-bug)

with the stable VM, replacing libgit2 as i described previously, eliminates that initial error also, as with the "latest" VM; but loading a package with metacello, fails immediately with this error, apparently before SSL becomes relevant:

Instance of Array did not understand #(#SqueakFFIPrims #primitiveCalloutWithArgs 4 13)
Array(Object)>>doesNotUnderstand: #(#SqueakFFIPrims #primitiveCalloutWithArgs 4 13)
Array(ExternalFunction)>>invokeWithArguments:
LGitRemote>>remote_fetch:refspecs:opts:reflog_message:
LGitSafeFFICalloutAPI(FFICalloutAPI)>>function:library:
LGitSafeFFICalloutAPI(FFICalloutAPI)>>function:module:
LGitRemote(LGitExternalObject)>>ffiCallSafely:options:
LGitRemote>>remote_fetch:refspecs:opts:reflog_message:

the call stack for "Array(ExternalFunction)>>invokeWithArguments:" show that 'nil' was passed in

maybe it would help if i compiled the VM from source on my system - would the 'headless' branch of this repo be compatible with the 'mars-gtk' package?

hogoww added a commit to hogoww/opensmalltalk-vm that referenced this issue Dec 23, 2021
hogoww added a commit to hogoww/opensmalltalk-vm that referenced this issue Dec 23, 2021
…d [ freeTreeNodesDo: ] KILLED by 2/209 test cases.
hogoww added a commit to hogoww/opensmalltalk-vm that referenced this issue Dec 29, 2021
hogoww added a commit to hogoww/opensmalltalk-vm that referenced this issue Dec 29, 2021
…e] ] on method [ checkFreeSpace: ] KILLED by 1/234 test cases.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant