pharo-project / pharo-launcher

Lets you manage your pharo images and download new ones
https://pharo-project.github.io/pharo-launcher/
MIT License
109 stars 46 forks source link

Provided GNU/Linux package segfaults #370

Open Vaelatern opened 4 years ago

Vaelatern commented 4 years ago

I'm not averse to compiling pharo-launcher myself, but it seems to be a weird interaction with my system libssl (libressl)?

I've already run this successfully yesterday. There have been no changes to my system since then, but I did create and use the Pharo Launcher image. I have duplicated this with a clean unzip of the provided tarball PharoLauncher-linux-1.9.2-x64.zip.

I can manually run the VM and get my personal images to work, so I don't particularly need this to be fixed.

<snip>
You will need to log out and log back in for the limits to take effect.
For more information please see
https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/r3732#linux

Segmentation fault Wed Dec 11 11:06:50 2019

/home/vaelatern/src/pharo/pharolauncher/pharo-vm/lib/pharo/5.0-201901051900/pharo
Pharo VM version: 5.0-201901051900  Sat Jan  5 19:12:50 UTC 2019 gcc 4.8 [Production Spur 64-bit VM]
Built from: CoInterpreter VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan  5 2019
With: StackToRegisterMappingCogit VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan  5 2019
Revision: VM: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Sat Jan 5 20:00:11 2019 CommitHash: 7a3c6b64 Plugins: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
Build host: Linux travis-job-f22c8934-2412-48ed-8180-7a42b62c7389 4.4.0-101-generic #124~14.04.1-Ubuntu SMP Fri Nov 10 19:05:36 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
plugin path: /home/vaelatern/src/pharo/pharolauncher/pharo-vm [default: /home/vaelatern/src/pharo/pharolauncher/pharo-vm/lib/pharo/5.0-201901051900/]

C stack backtrace & registers:
        rax 0x00000000 rbx 0x023ab1c0 rcx 0x00000002 rdx 0x7f1a8e4739e0
        rdi 0x023ab1c0 rsi 0x023ab1c0 rbp 0x7f1a8c065680 rsp 0x7ffe721da950
        r8  0x00000000 r9  0x00000000 r10 0x023ad5f0 r11 0x7f1a8e473a40
        r12 0x02576ba0 r13 0x02577bb0 r14 0x00004400 r15 0x02576ba0
        rip 0x7f1a8c03f27a
*/lib/libssl.so.47(+0x2e27a)[0x7f1a8c03f27a]
/home/vaelatern/src/pharo/pharolauncher/pharo-vm/lib/pharo/5.0-201901051900/pharo[0x41b0d3]
/home/vaelatern/src/pharo/pharolauncher/pharo-vm/lib/pharo/5.0-201901051900/pharo[0x41cb2e]
/lib/libpthread.so.0(+0x14120)[0x7f1a8e48e120]
/lib/libssl.so.47(+0x2e27a)[0x7f1a8c03f27a]
/home/vaelatern/src/pharo/pharolauncher/pharo-vm/lib/pharo/5.0-201901051900/libssl.so.1.0.0(SSL_CTX_new+0xbc)[0x7f1a87a8ea5c]
/home/vaelatern/src/pharo/pharolauncher/pharo-vm/lib/pharo/5.0-201901051900/SqueakSSL.so(sqSetupSSL+0x44)[0x7f1a86ffe6e4]
/home/vaelatern/src/pharo/pharolauncher/pharo-vm/lib/pharo/5.0-201901051900/SqueakSSL.so(sqConnectSSL+0x7d)[0x7f1a86ffebdd]
/home/vaelatern/src/pharo/pharolauncher/pharo-vm/lib/pharo/5.0-201901051900/SqueakSSL.so(primitiveConnect+0x10f)[0x7f1a86ffafff]
/home/vaelatern/src/pharo/pharolauncher/pharo-vm/lib/pharo/5.0-201901051900/pharo[0x4588a4]
/home/vaelatern/src/pharo/pharolauncher/pharo-vm/lib/pharo/5.0-201901051900/pharo(interpret+0xa47d)[0x4679ad]
/home/vaelatern/src/pharo/pharolauncher/pharo-vm/lib/pharo/5.0-201901051900/pharo[0x468be6]
/home/vaelatern/src/pharo/pharolauncher/pharo-vm/lib/pharo/5.0-201901051900/pharo(interpret+0x246)[0x45d776]
/home/vaelatern/src/pharo/pharolauncher/pharo-vm/lib/pharo/5.0-201901051900/pharo(main+0x2fa)[0x41a5ba]
/lib/libc.so.6(__libc_start_main+0xeb)[0x7f1a8e2dddeb]
/home/vaelatern/src/pharo/pharolauncher/pharo-vm/lib/pharo/5.0-201901051900/pharo[0x41a8e4]
[0x0]

Smalltalk stack dump:
    0x7ffe721fcb30 I ZdcPluginSSLSession>connect:from:to:into: 0x27753c0: a(n) ZdcPluginSSLSession
    0x7ffe721fcba0 I ZdcSecureSocketStream>connect 0x256c6e8: a(n) ZdcSecureSocketStream
    0x7ffe721fcbe8 I ZnClient>setupTLSTo: 0x256a370: a(n) ZnClient
    0x7ffe721ec518 I ZnClient>newConnectionTo: 0x256a370: a(n) ZnClient
    0x7ffe721ec560 I ZnClient>getConnectionAndExecute 0x256a370: a(n) ZnClient
    0x7ffe721ec5a0 I ZnClient>executeWithRedirectsRemaining: 0x256a370: a(n) ZnClient
    0x7ffe721ec5d8 M [] in ZnClient>executeWithRetriesRemaining: 0x256a370: a(n) ZnClient
    0x7ffe721ec608 M BlockClosure>on:do: 0x256a468: a(n) BlockClosure
    0x7ffe721ec658 I ZnClient>executeWithRetriesRemaining: 0x256a370: a(n) ZnClient
    0x7ffe721ec690 M [] in ZnClient>executeWithTimeout 0x256a370: a(n) ZnClient
    0x7ffe721ec6c0 M BlockClosure>on:do: 0x256a630: a(n) BlockClosure
    0x7ffe721ec700 M [] in ZnClient>executeWithTimeout 0x256a370: a(n) ZnClient
    0x7ffe721ec738 M [] in ZnClient>withTimeoutDo: 0x256a370: a(n) ZnClient
    0x7ffe721ec780 M [] in ZnConnectionTimeout(DynamicVariable)>value:during: 0x33eeb70: a(n) ZnConnectionTimeout
    0x7ffe721ec7c0 M BlockClosure>ensure: 0x256a830: a(n) BlockClosure
    0x7ffe721ec808 M ZnConnectionTimeout(DynamicVariable)>value:during: 0x33eeb70: a(n) ZnConnectionTimeout
    0x7ffe721ec858 I ZnConnectionTimeout class(DynamicVariable class)>value:during: 0x32d0170: a(n) ZnConnectionTimeout class
    0x7ffe721ec8a8 I ZnClient>withTimeoutDo: 0x256a370: a(n) ZnClient
    0x7ffe721ec8f0 I ZnClient>executeWithTimeout 0x256a370: a(n) ZnClient
    0x7ffe721ec928 M [] in ZnClient>execute 0x256a370: a(n) ZnClient
    0x7ffe721ec960 M [] in ZnClient>withProgressDo: 0x256a370: a(n) ZnClient
    0x7ffe721ec9a8 M [] in ZnSignalProgress(DynamicVariable)>value:during: 0x33eeb60: a(n) ZnSignalProgress
    0x7ffe721ec9e8 M BlockClosure>ensure: 0x256ab20: a(n) BlockClosure
    0x7ffe721eca30 M ZnSignalProgress(DynamicVariable)>value:during: 0x33eeb60: a(n) ZnSignalProgress
    0x7ffe721eca80 I ZnSignalProgress class(DynamicVariable class)>value:during: 0x32d0380: a(n) ZnSignalProgress class
    0x7ffe721ecad0 I ZnClient>withProgressDo: 0x256a370: a(n) ZnClient
    0x7ffe721ecb20 I ZnClient>execute 0x256a370: a(n) ZnClient
    0x7ffe721ecb60 I ZnClient>get 0x256a370: a(n) ZnClient
    0x7ffe721ecba8 I ZnClient>downloadTo: 0x256a370: a(n) ZnClient
    0x7ffe721ecbf0 M [] in PhLDownloadManager>download:toFile: 0x6982140: a(n) PhLDownloadManager
    0x7ffe721f85a8 M BlockClosure>on:do: 0x256ae80: a(n) BlockClosure
    0x7ffe721f85f0 M [] in PhLDownloadManager>displayProgressDuring: 0x6982140: a(n) PhLDownloadManager
    0x7ffe721f8630 M [] in MorphicUIManager>informUserDuring: 0x6f76158: a(n) MorphicUIManager
    0x7ffe721f8668 M BlockClosure>cull: 0x256bdb0: a(n) BlockClosure
    0x7ffe721f86a0 M [] in Job>run 0x256bd38: a(n) Job
    0x7ffe721f86e8 M [] in CurrentJob(DynamicVariable)>value:during: 0x2eb3d88: a(n) CurrentJob
    0x7ffe721f8728 M BlockClosure>ensure: 0x256bdf8: a(n) BlockClosure
    0x7ffe721f8780 I CurrentJob(DynamicVariable)>value:during: 0x2eb3d88: a(n) CurrentJob
    0x7ffe721f87d0 I CurrentJob class(DynamicVariable class)>value:during: 0x2ea5908: a(n) CurrentJob class
    0x7ffe721f8810 M [] in Job>run 0x256bd38: a(n) Job
    0x7ffe721f8850 M BlockClosure>ensure: 0x256bfd0: a(n) BlockClosure
    0x7ffe721f8898 I Job>run 0x256bd38: a(n) Job
    0x7ffe721f88d8 I MorphicUIManager(UIManager)>displayProgress:from:to:during: 0x6f76158: a(n) MorphicUIManager
    0x7ffe721f8938 I MorphicUIManager>informUserDuring: 0x6f76158: a(n) MorphicUIManager
    0x7ffe721f8980 I PhLDownloadManager>displayProgressDuring: 0x6982140: a(n) PhLDownloadManager
    0x7ffe721f89c8 I PhLDownloadManager>download:toFile: 0x6982140: a(n) PhLDownloadManager
    0x7ffe721f8a18 I PhLTemplateSources>fetchSourcesFile 0x256c2f0: a(n) PhLTemplateSources
    0x7ffe721f8a60 I PhLTemplateSources>checkForUpdates 0x256c2f0: a(n) PhLTemplateSources
    0x7ffe721f8a90 M [] in PhLTemplateSourcesUpdateChecker>check 0x68b32a0: a(n) PhLTemplateSourcesUpdateChecker
    0x7ffe721f8ac0 M BlockClosure>on:do: 0x256c300: a(n) BlockClosure
    0x7ffe721f8b10 I PhLTemplateSourcesUpdateChecker>check 0x68b32a0: a(n) PhLTemplateSourcesUpdateChecker
    0x7ffe721f8b40 M [] in PhLTemplateSourcesUpdateChecker>run 0x68b32a0: a(n) PhLTemplateSourcesUpdateChecker
    0x7ffe721f8b70 M BlockClosure>repeat 0x256c3f8: a(n) BlockClosure
    0x7ffe721f8bb0 I [] in PhLTemplateSourcesUpdateChecker>run 0x68b32a0: a(n) PhLTemplateSourcesUpdateChecker
    0x7ffe721f8bf0 I [] in BlockClosure>newProcess 0x6f91280: a(n) BlockClosure

Most recent primitives
free
free
free
free
free
free
free
free
free
free
free
free
wait
signal
wait
signal
wait
signal
wait
signal
wait
signal
wait
signal
signal
primitiveFetchMourner
**PrimitiveFailure**
wait
basicAt:
basicAt:
basicAt:
**StackOverflow**
**StackOverflow**
class
class
primShowRectLeft:right:top:bottom:
primShowRectLeft:right:top:bottom:
class
primitiveDeferUpdates:
forceDisplayUpdate
yield
millisecondClockValue
basicNew
beingWaitedOn
signal
signal
nowTick
at:put:
upHeap:
nowTick
nowTick
primSignal:atUTCMicroseconds:
wait
wait
relinquishProcessorForMicroseconds:
nowTick
signal
nowTick
primSignal:atUTCMicroseconds:
wait
millisecondClockValue
@
actualScreenSize
millisecondClockValue
basicNew
new:
basicNew
class
shallowCopy
**StackOverflow**
**StackOverflow**
**StackOverflow**
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
**StackOverflow**
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
at:
at:
at:put:
at:put:
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
**StackOverflow**
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
**StackOverflow**
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
hasLeftMorphsChanged
millisecondClockValue
not
perform:with:
stepTime
scheduledTime:
scheduledTime:
scheduledTime:
yield
millisecondClockValue
wait
signal
scheduleAtTimingPriority
scheduleAtTimingPriority
scheduleAtTimingPriority
scheduleAtTimingPriority
nowTick
nowTick
primSignal:atUTCMicroseconds:
wait
wait
relinquishProcessorForMicroseconds:
nowTick
timingPrioritySignalExpired
nowTick
primSignal:atUTCMicroseconds:
wait
millisecondClockValue
@
actualScreenSize
millisecondClockValue
checkForNewDisplaySize
basicIdentityHash
basicIdentityHash
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
**StackOverflow**
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:

tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
tempAt:
tempAt:put:
tempAt:
terminateTo:
findNextUnwindContextUpTo:
terminateTo:
millisecondClockValue

yield
millisecondClockValue
wait
signal
signal
nowTick
nowTick
nowTick
primSignal:atUTCMicroseconds:
wait
wait
wait
signal
signal
at:
at:
nowTick
nowTick
primSignal:atUTCMicroseconds:
wait
primSocketConnectionStatus:
class
class
**StackOverflow**
**StackOverflow**
basicNew
**StackOverflow**
value
primitiveSSLCreate
primitiveSSL:setIntProperty:toValue:
**StackOverflow**
class
stringHash:initialHash:
value
primitiveSSL:setStringProperty:toValue:
value
primitiveSSL:setStringProperty:toValue:
atAllPut:
atAllPut:
primitiveSSL:connect:startingAt:count:into:

stack page bytes 8192 available headroom 5576 minimum unused headroom 5872

        (Segmentation fault)
zsh: abort      ./pharo-launcher
iacore commented 3 years ago

Pharo launcher 2.4 here, issue still not fixed.

StephanEggermont commented 3 years ago

Thank you for your message. Please provide information that would actually make it possible to do something about it. Starting with detailed information about the hardware and software that this is running on

iacore commented 3 years ago

The stack track is exactly the same, originated from /lib/libssl.so.

I use arch linux here, on a computer with amd64 archtechure.

> pacman -Qo /lib/libssl.so
/usr/lib/libssl.so is owned by openssl 1.1.1.l-1

To reproduce this issue you can try installing a fresh copy of Manjaro in a virtual machine and install the above openssl version.