Pharo 13 core dump on git push or commit
each time we try to commit the VM crashes.
gautier.louvier.etu@b12p15:~$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.3 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
/home/m1ipint/gautier.louvier.etu/Pharo/vms/130-x64/lib/pharo
PharoVM version:5.0-Pharo v10.3.8 built on Aug 13 2025 11:48:47 Compiler: 5.4.0 20160609 5.4.0 20160609 [Production Spur 64-bit
VM]
Built from: CoInterpreter VMMaker-tonel.1 uuid: 96760dc5-9df8-0d00-b4b2-3fa60be5cca3 Aug 13 2025
With:StackToRegisterMappingCogit VMMaker-tonel.1 uuid: 96760dc5-9df8-0d00-b4b2-3fa60be5cca3 Aug 13 2025
Revision: v10.3.8+0.a7c8a0b - Commit: a7c8a0b - Date: 2025-08-12 19:03:31 +0200
C stack backtrace & registers:
rax 0x2a15ddf000 rbx 0x7fff837e8600 rcx 0x00000000 rdx 0x759d1ef8924c
rdi 0x7fff837e8600 rsi 0x7fff837e8600 rbp 0x7fff837e85f0 rsp 0x7fff837e85a0
r8 0x00000001 r9 0x00000000 r10 0xffffffff r11 0x00000000
r12 0x759d1ef8924c r13 0x759d1ef8924c r14 0x2a1564f0 r15 0x00000000
rip 0x759d1eedb88d
*/lib/x86_64-linux-gnu/libgit2.so.1.7(+0x4988d)[0x759d1eedb88d]
/home/m1ipint/gautier.louvier.etu/Pharo/vms/130-x64/lib/libPharoVMCore.so(+0xbff5c)[0x759d1f0bff5c]
/home/m1ipint/gautier.louvier.etu/Pharo/vms/130-x64/lib/libPharoVMCore.so(doReport+0x8d)[0x759d1f0c021d]
/home/m1ipint/gautier.louvier.etu/Pharo/vms/130-x64/lib/libPharoVMCore.so(sigsegv+0x14)[0x759d1f0c02d4]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330)[0x759d1ec45330]
/lib/x86_64-linux-gnu/libgit2.so.1.7(+0x4988d)[0x759d1eedb88d]
/lib/x86_64-linux-gnu/libgit2.so.1.7(+0x4a0a9)[0x759d1eedc0a9]
/lib/x86_64-linux-gnu/libgit2.so.1.7(+0x4a1b2)[0x759d1eedc1b2]
/lib/x86_64-linux-gnu/libgit2.so.1.7(+0xa60d8)[0x759d1ef380d8]
/lib/x86_64-linux-gnu/libgit2.so.1.7(+0xa65f2)[0x759d1ef385f2]
/lib/x86_64-linux-gnu/libgit2.so.1.7(+0xab089)[0x759d1ef3d089]
/lib/x86_64-linux-gnu/libgit2.so.1.7(+0xabf44)[0x759d1ef3df44]
/lib/x86_64-linux-gnu/libgit2.so.1.7(+0xac106)[0x759d1ef3e106]
/lib/x86_64-linux-gnu/libgit2.so.1.7(+0x3de49)[0x759d1eecfe49]
/lib/x86_64-linux-gnu/libgit2.so.1.7(git_commit_create+0xa6)[0x759d1eed0126]
Here are the dynlib coming with the VM
gautier.louvier.etu@b12p15:~$ cat /etc/os-release PRETTY_NAME="Ubuntu 24.04.3 LTS" NAME="Ubuntu" VERSION_ID="24.04" VERSION="24.04.3 LTS (Noble Numbat)" VERSION_CODENAME=noble ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=noble LOGO=ubuntu-logo
@guille this is strange this is only on one machine
@estebanlm I thought that on ubuntu pharo was not looking for system lib. This is lib stuff is not nice because these are machines that are managed by a system admin so I do not understand why this is not working. It means also that we could have all the lectures broken. Luckily there is only one.
what is the result of LGitLibrary uniqueInstance libraryName ?
@guille this is strange this is only on one machine
by the way you quoted the wrong Guille (you wanted @guillep) :P
uhm... I am a little bit sleepy, sorry. I just saw you are finding /lib/x86_64-linux-gnu/libgit2.so.1.7.
This is because of the order of search:
^ FFIUnix64LibraryFinder findAnyLibrary: #(
'libgit2.so.1.9'
'libgit2.so.1.8'
'libgit2.so.1.7'
'libgit2.so.1.6'
'libgit2.so.1.5'
'libgit2.so.1.4.4'
'libgit2.so.1.4'
'libgit2.so.1.3'
'libgit2.so.1.2'
'libgit2.so.1.1'
'libgit2.1.0.0.so'
'libgit2.so.1.0.0'
'libgit2.so.1.0'
'libgit2.so.0.25.1')
it will search first anyone of the libraries listed before finding 1.4 which is the one that is being included in the bundle (so, 1.7). A quick fix is to just put 1.4 first but I don't know if that will make waves otherside...
This does not work. I put 1.4 and I still get a crash.
We get
unix64LibraryName
^ FFIUnix64LibraryFinder findAnyLibrary:
#( 'libgit2.so.1.4' 'libgit2.so.1.9' 'libgit2.so.1.8' 'libgit2.so.1.7'
'libgit2.so.1.6' 'libgit2.so.1.5' 'libgit2.so.1.4.4'
'libgit2.so.1.4' 'libgit2.so.1.3' 'libgit2.so.1.2'
'libgit2.so.1.1' 'libgit2.1.0.0.so' 'libgit2.so.1.0.0'
'libgit2.so.1.0' 'libgit2.so.0.25.1' )
So how can we make this work?
/lib/x86_64-linux-gnu/libgit2.so.1.7(git_config_snapshot+0x89)[0x7f2d29120069]
/home/m1ipint/douha.agouni.etu/Pharo/vms/130-x64/lib/libPharoVMCore.so(+0xbff5c)
[0x7f2d296bff5c]
/home/m1ipint/douha.agouni.etu/Pharo/vms/130-x64/lib/libPharoVMCore.so(doReport+
0x8d)[0x7f2d296c021d]
/home/m1ipint/douha.agouni.etu/Pharo/vms/130-x64/lib/libPharoVMCore.so(sigsegv+0
x14)[0x7f2d296c02d4]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330)[0x7f2d29245330]
/lib/x86_64-linux-gnu/libgit2.so.1.7(git_config_snapshot+0x89)[0x7f2d29120069]
/lib/x86_64-linux-gnu/libgit2.so.1.7(+0x54b6d)[0x7f2d2912eb6d]
/lib/x86_64-linux-gnu/libgit2.so.1.7(git_diff_tree_to_tree+0x147)[0x7f2d291302a7
]
/home/m1ipint/douha.agouni.etu/Pharo/vms/130-x64/lib/libffi.so(+0x62a5)[0x7f2d28
e062a5]
/home/m1ipint/douha.agouni.etu/Pharo/vms/130-x64/lib/libffi.so(+0x58cf)[0x7f2d28
e058cf]
/home/m1ipint/douha.agouni.etu/Pharo/vms/130-x64/lib/libPharoVMCore.so(+0x9fae8)
[0x7f2d2969fae8]
[0x320001288]
[0x4]
put
^ FFIUnix64LibraryFinder findAnyLibrary: #(
'libgit2.so.1.4.4'
'libgit2.so.1.4'
)
(I mean keep the 1.4.4 and remove all the rest)
Are you sure you are modifying the right method? (LGitLibrary>>unix64LibraryName)
PRETTY_NAME="Ubuntu 24.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.3 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
Ok I will try
I could push and commit but now with
unix64LibraryName
^ FFIUnix64LibraryFinder findAnyLibrary: #(
'libgit2.so.1.4.4'
'libgit2.so.1.4'
)
I get a crash on clone
/home/m1ipint/douha.agouni.etu/Pharo/vms/130-x64/lib/libPharoVMCore.so(sigsegv+0x14)[0x7323ad4c02d4]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330)[0x7323ad045330]
/home/m1ipint/douha.agouni.etu/Pharo/vms/130-x64/lib/libgit2.so.1.4.4(git_error_clear+0x9)[0x73238bc64a8e]
/home/m1ipint/douha.agouni.etu/Pharo/vms/130-x64/lib/libgit2.so.1.4.4(+0x6c616)[0x73238bc6c616]
/home/m1ipint/douha.agouni.etu/Pharo/vms/130-x64/lib/libgit2.so.1.4.4(+0x3d23f)[0x73238bc3d23f]
/home/m1ipint/douha.agouni.etu/Pharo/vms/130-x64/lib/libgit2.so.1.4.4(git_clone+0x36)[0x73238bc3d4e1]
/home/m1ipint/douha.agouni.etu/Pharo/vms/130-x64/lib/libffi.so(+0x62a5)[0x7323acc062a5]
/home/m1ipint/douha.agouni.etu/Pharo/vms/130-x64/lib/libffi.so(+0x58cf)[0x7323acc058cf]
/home/m1ipint/douha.agouni.etu/Pharo/vms/130-x64/lib/libPharoVMCore.so(+0x9fae8)[0x7323ad49fae8]
[0x320001288]
[0x49f0020]
I crashes also when
unix64LibraryName
^ FFIUnix64LibraryFinder findAnyLibrary: #(
'libgit2.so.1.4'
)
Finally this is working with
"protocol: #'accessing - platform'"
unix64LibraryName
^ FFIUnix64LibraryFinder findAnyLibrary: #(
'libgit2.so.1.4'
)