pharo-vm icon indicating copy to clipboard operation
pharo-vm copied to clipboard

Pharo 13 core dump on git push or commit

Open fgogow opened this issue 5 months ago • 17 comments

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

fgogow avatar Sep 12 '25 07:09 fgogow

@guille this is strange this is only on one machine

fgogow avatar Sep 12 '25 07:09 fgogow

Image

fgogow avatar Sep 12 '25 07:09 fgogow

@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.

Ducasse avatar Sep 13 '25 06:09 Ducasse

what is the result of LGitLibrary uniqueInstance libraryName ?

estebanlm avatar Sep 15 '25 11:09 estebanlm

@guille this is strange this is only on one machine

by the way you quoted the wrong Guille (you wanted @guillep) :P

estebanlm avatar Sep 15 '25 11:09 estebanlm

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...

estebanlm avatar Sep 15 '25 12:09 estebanlm

This does not work. I put 1.4 and I still get a crash.

Douha-Ag avatar Sep 19 '25 10:09 Douha-Ag

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' )

Douha-Ag avatar Sep 19 '25 10:09 Douha-Ag

So how can we make this work?

Douha-Ag avatar Sep 19 '25 10:09 Douha-Ag

/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]

Douha-Ag avatar Sep 19 '25 10:09 Douha-Ag

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)

estebanlm avatar Sep 19 '25 10:09 estebanlm

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

Douha-Ag avatar Sep 19 '25 10:09 Douha-Ag

Ok I will try

Douha-Ag avatar Sep 19 '25 10:09 Douha-Ag

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

Douha-Ag avatar Sep 19 '25 10:09 Douha-Ag

/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]


Douha-Ag avatar Sep 19 '25 10:09 Douha-Ag

I crashes also when

unix64LibraryName

	^ FFIUnix64LibraryFinder findAnyLibrary: #(
		
	
		'libgit2.so.1.4'
	)

Douha-Ag avatar Sep 19 '25 10:09 Douha-Ag

Finally this is working with

"protocol: #'accessing - platform'"

unix64LibraryName

	^ FFIUnix64LibraryFinder findAnyLibrary: #(
		
	
		'libgit2.so.1.4'
	)

Douha-Ag avatar Sep 19 '25 10:09 Douha-Ag