feenkcom / gtoolkit

Glamorous Toolkit is the Moldable Development environment. It empowers you to make systems explainable through experiences tailored for each problem.
https://gtoolkit.com
MIT License
1.12k stars 49 forks source link

Crash start IDE #1023

Closed SchweinchenFuntik closed 4 years ago

SchweinchenFuntik commented 4 years ago

command: ./glamoroustoolkit GlamorousToolkit-64-20200428163300-fc8d241.image --no-quit --interactive

зображення

crash.zip

girba commented 4 years ago

Thanks for the report. Could you please let us know which operating system you use?

SchweinchenFuntik commented 4 years ago

uname: Linux 5.4.35-1-MANJARO x86_64 GNU/Linux

girba commented 4 years ago

@akgrant43 would you have time to look into this one?

SchweinchenFuntik commented 4 years ago

installed using https://github.com/feenkcom/gtoolkit#how-to-load.

It crashes when I try to open Monitor

girba commented 4 years ago

Oh, do other parts work? For example, opening a Playground and running a piece of code like 1+2?

SchweinchenFuntik commented 4 years ago

while everything works. launched while on Solus, now I will try on Manjaro

SchweinchenFuntik commented 4 years ago

works in Manjaro

SchweinchenFuntik commented 4 years ago

not worker backspace there is a slight slowdown when dragging windows, for example

SchweinchenFuntik commented 4 years ago

conducted an experiment. I press Ctrl + C, or another hotkey, the above keys stop working

girba commented 4 years ago

On https://github.com/feenkcom/gtoolkit#how-to-load, there are two ways described to load the code. Which one did you try?

Please try with the pre-made release from: https://dl.feenk.com/gt/GlamorousToolkitLinux64-v0.7.928.zip

SchweinchenFuntik commented 4 years ago

I tried all the options, on Pharo 9 too

SchweinchenFuntik commented 4 years ago

Please try with the pre-made release from: https://dl.feenk.com/gt/GlamorousToolkitLinux64-v0.7.928.zip

System: Solus OS 4.1. I will try later on another system.

изображение

PharoDebug.log GlamorousToolkit-64-20200510171905-07a1ff1.zip

girba commented 4 years ago

I would need a little more elaborate details to understand what problems you encounter and where they can come from.

GT works only in Pharo 8, not Pharo 9.

If you want to build the distribution locally, please use the script

curl https://raw.githubusercontent.com/feenkcom/gtoolkit/master/scripts/localbuild/linux.sh | bash

It will automatically download Pharo 8 and will also download the VM with which you can run GT in native windows.

You are saying that the environment does start. Are you trying it in native windows, or inside Pharo? Could you post a screenshot? We are now focused on the native windows support. The inside-Pharo support was mainly meant as a bridge to get us to bootstrap into native windows.

SchweinchenFuntik commented 4 years ago

You are saying that the environment does start. Are you trying it in native windows, or inside Pharo?

Yes

If you want to build the distribution locally, please use the script

I already tried the script, I tried everything on the site

girba commented 4 years ago

You are saying that the environment does start. Are you trying it in native windows, or inside Pharo? Yes

Which one? :) Inside Pharo or in native windows?

SchweinchenFuntik commented 4 years ago

Which one? :) Inside Pharo or in native windows? Inside Pharo, basically works but with the errors described above: keyboard input

Use the script terminal:

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
NewUndeclaredWarning: UndefinedObject>>DoIt (GtImageSetup is Undeclared)
aborting
I got an error while cloning: There was an authentication error while trying to 1. adding your keys to ssh-agent, executing ssh-add ~/.ssh/id_rsa in your comman2. adding your keys in settings (open settings browser search for "Use custom SS3. using HTTPS instead SSH (Just use an url in the form HTTPS://etc.git). I will try to clone the HTTPS variant.

изображение

girba commented 4 years ago

Ah, ok. This starts to explain it. You would need to follow the instructions in the last line of the error.

I got an error while cloning: There was an authentication error while trying to 1. adding your keys to ssh-agent, executing ssh-add ~/.ssh/id_rsa in your comman2. adding your keys in settings (open settings browser search for "Use custom SS3. using HTTPS instead SSH (Just use an url in the form HTTPS://etc.git). I will try to clone the HTTPS variant.

But, please try with the ready made installation instead: https://gtoolkit.com/install/

SchweinchenFuntik commented 4 years ago

terminal: ./glamoroustoolkit GlamorousToolkit-64-20200511005839-07a1ff1.image

output:

pthread_setschedparam failed: Operation not permitted
This VM uses a separate heartbeat thread to update its internal clock
and handle events.  For best operation, this thread should run at a
higher priority, however the VM was unable to change the priority.  The
effect is that heavily loaded systems may experience some latency
issues.  If this occurs, please create the appropriate configuration
file in /etc/security/limits.d/ as shown below:

cat <<END | sudo tee /etc/security/limits.d/pharo.conf
*      hard    rtprio  2
*      soft    rtprio  2
END

and report to the pharo mailing list whether this improves behaviour.

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
thread '<unnamed>' panicked at 'Failed to open input method: PotentialInputMethods {
    xmodifiers: Some(
        PotentialInputMethod {
            name: "@im=ibus",
            successful: Some(
                false,
            ),
        },
    ),
    fallbacks: [
        PotentialInputMethod {
            name: "@im=local",
            successful: Some(
                false,
            ),
        },
        PotentialInputMethod {
            name: "@im=",
            successful: Some(
                false,
            ),
        },
    ],
    _xim_servers: Ok(
        [
            "@im=ibus",
        ],
    ),
}', /home/runner/.cargo/git/checkouts/winit-c2fdb27092aba5a7/1f24a09/src/platform_impl/linux/x11/mod.rs:132:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
bjorn3 commented 4 years ago

XOpenIM seems to consider the locale malformed or doesn't support it. Maybe it works when not using ibus?

https://github.com/rust-windowing/winit/blob/a1b65f7080fda20a9ab9fdc6f925d38e94df01af/src/platform_impl/linux/x11/ime/input_method.rs#L24-L25

SchweinchenFuntik commented 4 years ago

My local: ru_UA

bjorn3 commented 4 years ago

Was reading the comment for the XSetLocaleModifiers call, instead of XOpenIM. XOpenIM is the input method. According to the man page: "XOpenIM returns NULL if no input method could be opened."

SchweinchenFuntik commented 4 years ago

Similar crash. What OS do you run your software on ?

GTUbuntu20 crash.zip

caleb-allen commented 4 years ago

I was referred here from this tweet: https://twitter.com/girba/status/1265769270597898242

I'm getting a similar crash, also on Manjaro:

$ uname -r 4.19.122-1-MANJARO

./glamoroustoolkit GlamorousToolkit-64-20200422152934-0a17f45.image --interactive --no-quit

 **StackOverflow**
integerAt:size:signed:
integerAt:size:signed:
integerAt:size:signed:
integerAt:size:signed:
integerAt:size:signed:
integerAt:size:signed:
integerAt:size:signed:
integerAt:size:signed:
primitiveReleaseParameters:releaseReturn:
wait
**StackOverflow**
signal
invokeWithArguments:
atAllPut:
primitiveByteSize
integerAt:size:signed:
integerAt:size:signed:
integerAt:size:signed:
integerAt:size:signed:
integerAt:size:signed:
integerAt:size:signed:
integerAt:size:signed:
integerAt:size:signed:
integerAt:put:size:signed:
integerAt:put:size:signed:
integerAt:put:size:signed:
integerAt:put:size:signed:
integerAt:put:size:signed:
integerAt:put:size:signed:
integerAt:put:size:signed:
integerAt:put:size:signed:
primCallbackReturn

stack page bytes 8192 available headroom 5576 minimum unused headroom 6008

    (Segmentation fault)
fish: “./glamoroustoolkit GlamorousToo…” terminated by signal SIGABRT (Abort)

I'll give this a shot:

But, please try with the ready made installation instead: https://gtoolkit.com/install/

I can help provide logs if needed

girba commented 4 years ago

Thanks. Indeed, please try the ready made installation and let us know how it goes.

SchweinchenFuntik commented 4 years ago

Sorry, I didn’t seem to install the library.

изображение

but all the same, until the launch occurs. I execute the following commands (based on the instructions https://gtoolkit.com/download/)

1) ./glamoroustoolkit GlamorousToolkit.image eval --save "ThreadedFFIMigration enableThreadedFFI." log4.1.txt

2) a window with the program ./glamoroustoolkit GlamorousToolkit.image eval --save "GtWorld openWithShutdownListener. 30 seconds wait. BlHost pickHost universe snapshot: true andQuit: true." log4.2.txt

No result on: ./glamoroustoolkit GlamorousToolkit.image --no-quit --interactive log.txt

SchweinchenFuntik commented 4 years ago

The problem is in initializeLibGit2. In Pharo, the same error occurs when starting the image (

girba commented 4 years ago

We are working on upgrading the libraries used right now. Once we will have a new installation, we will let you know.

akgrant43 commented 4 years ago

Hi @SchweinchenFuntik ,

We moved to a new VM yesterday which links against openssl 1.1, which libgit2 depends on.

I'm running Ubuntu 20.04 and this resolved the issue for me.

Would you please try downloading the latest version (v0.7.1038 or later) and let me know if the libgit2 issue is resolved.

Thanks, Alistair

SchweinchenFuntik commented 4 years ago

./glamoroustoolkit GlamorousToolkit.image eval --save "GtWorld openWithShutdownListener. 30 seconds wait. BlHost pickHost universe snapshot: true andQuit: true."

output: log4.2.txt

./glamoroustoolkit GlamorousToolkit.image --no-quit --interactive the process is running but nothing is happening

georgeganea commented 4 years ago

that looks like you ran

curl https://dl.feenk.com/scripts/linux.sh | bash

and this gets you the very latest source code from master.

If you prefer the command line, try running:

curl https://dl.feenk.com/gt/get | sh

this script will get you the latest released gt. It creates a folder and installs gt in that folder.

SchweinchenFuntik commented 4 years ago

the first time I downloaded and installed using the archives

run: curl https://dl.feenk.com/scripts/linux.sh | bash or curl https://dl.feenk.com/gt/get | sh

output: изображение

georgeganea commented 4 years ago

Not sure if this will be of much help but I think it could be related to the graphics card / graphics drivers. At least that was the issue for me when I tried running gt in Ubuntu 20.04 on top of Parallels on a mac. The way I got it working was to only allow the VM to use the integrated Intel graphics card rather than the discrete video card.

SchweinchenFuntik commented 4 years ago

I only have the Intel driver

SchweinchenFuntik commented 4 years ago

launched on the desktop. AMD with hybrid graphics

LSB Version:    n/a
Distributor ID: ManjaroLinux
Description:    Manjaro Linux
Release:    20.0.3
Codename:   Lysia

5.4.43-1-MANJARO

command: curl https://dl.feenk.com/scripts/linux.sh | bash зображення

console:

PharoCommandLineHandler(BasicCommandLineHandler)>>handleArgument:
[ self
    handleArgument:
        (self arguments
            ifEmpty: [ '' ]
            ifNotEmpty: [ :arguments | arguments first ]) ] in [ [ self
    handleArgument:
        (self arguments
            ifEmpty: [ '' ]
            ifNotEmpty: [ :arguments | arguments first ]) ]
    on: Exit
    do: [ :exit | 
        "If the command line is protected by password, we just exit the image because in non-headless mode the handleExit will let the image open. If the password protection is enabled, it is to avoid to let the access to the image."
        self class commandLinePasswordManager hasPasswordSet
            ifTrue: [ Smalltalk snapshot: false andQuit: true ].
        ^ self handleExit: exit ] ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activate in Block: [ self...
BlockClosure>>on:do:
[ [ self
    handleArgument:
        (self arguments
            ifEmpty: [ '' ]
            ifNotEmpty: [ :arguments | arguments first ]) ]
    on: Exit
    do: [ :exit | 
        "If the command line is protected by password, we just exit the image because in non-headless mode the handleExit will let the image open. If the password protection is enabled, it is to avoid to let the access to the image."
        self class commandLinePasswordManager hasPasswordSet
            ifTrue: [ Smalltalk snapshot: false andQuit: true ].
        ^ self handleExit: exit ] ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activate in Block: [ [ self...
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self value....

command: curl https://dl.feenk.com/gt/get | sh as well as in the first system

crash.zip

output part:

BlTaskProcess     0x7fe7af17b298 priority 40
    0x7fe7af5ab890 s [] in Delay>wait
    0x7fe7af5bd608 s BlockClosure>ifCurtailed:
    0x7fe7af5c2238 s Delay>wait
    0x7fe7af5c6c30 s Duration>wait
    0x7fe7af5ca268 s [] in TKTWatchDog>stepService
    0x7fe7af5ccff0 s BlockClosure>on:do:
    0x7fe7af5d2590 s TKTWatchDog>stepService
    0x7fe7af5d4228 s TKTWatchDog(TKTService)>iterateService
    0x7fe7af5d53f0 s [] in TKTWatchDog(TKTService)>scheduleRecursiveTask
    0x7fe7af5d62b8 s TKTGenericTask>value
    0x7fe7af5d6f08 s TKTTaskExecution>doExecuteTask
    0x7fe7af5d7cf0 s TKTReadyTaskState>performTaskExecution:
    0x7fe7af5d8710 s TKTTaskExecution>executeTask
    0x7fe7af5d8ff0 s [] in TKTTaskExecution>value
    0x7fe7af5d9728 s [] in TKTConfiguration(DynamicVariable)>value:during:
    0x7fe7af5d9b68 s BlockClosure>ensure:
    0x7fe7af5d9fc0 s TKTConfiguration(DynamicVariable)>value:during:
    0x7fe7af5da3b8 s TKTConfiguration class(DynamicVariable class)>value:during:
    0x7fe7af5da740 s TKTConfiguration class>optionAt:value:during:
    0x7fe7af5daad0 s TKTConfiguration class>runner:during:
    0x7fe7af5d9ca0 s TKTTaskExecution>value
    0x7fe7af5da0a8 s [] in BlTKTWorkerProcess(TKTAbstractExecutor)>executeTask:
    0x7fe7af5da470 s BlockClosure>on:do:
    0x7fe7af5da7f8 s BlTKTWorkerProcess(TKTAbstractExecutor)>executeTask:
    0x7fe7af5dab88 s BlTKTWorkerProcess(TKTWorkerProcess)>executeTask:
    0x7fe7af1b1520 s BlTKTWorkerProcess>workerLoop
    0x7fe7af1b1770 s MessageSend>value
    0x7fe7af1b18a8 s MessageSend>value
    0x7fe7af1b1960 s BlTktProcess(TKTProcess)>privateExecution
    0x7fe7af1a7b48 s BlTktProcess(TKTProcess)>privateExecuteAndFinalizeProcess

Process     0x7fe7a199e960 priority 70
    0x7ffe078ef6c8 M [] in DelayWaitTimeout>wait 0x7fe7a199f3a0: a(n) DelayWaitTimeout
    0x7ffe078ef708 M BlockClosure>ensure: 0x7fe7a199f818: a(n) BlockClosure
    0x7ffe078ef740 M DelayWaitTimeout>wait 0x7fe7a199f3a0: a(n) DelayWaitTimeout
    0x7ffe078ef788 I Semaphore>waitTimeoutMSecs: 0x7fe7a199e940: a(n) Semaphore
    0x7ffe078ef7c8 M [] in OSSVMProcess>initializeChildWatcher 0x7fe7aec42140: a(n) OSSVMProcess
    0x7ffe078ef808 I BlockClosure>repeat 0x7fe7a199f940: a(n) BlockClosure
    0x7ffe078ef850 I [] in OSSVMProcess>initializeChildWatcher 0x7fe7aec42140: a(n) OSSVMProcess
    0x7ffe078ef890 I [] in BlockClosure>newProcess 0x7fe7a199fa20: a(n) BlockClosure

Process     0x7fe7a199fe90 priority 70
    0x7ffe078eb850 M [] in TFCallbackQueue>forkCallbackProcess 0x7fe7a199e598: a(n) TFCallbackQueue
    0x7ffe078eb890 I [] in BlockClosure>newProcess 0x7fe7a199f668: a(n) BlockClosure

Process     0x7fe7a199e248 priority 60
    0x7ffe078e9810 I SmalltalkImage>lowSpaceWatcher 0x7fe7a214a9e8: a(n) SmalltalkImage
    0x7ffe078e9850 I [] in SmalltalkImage>installLowSpaceWatcher 0x7fe7a214a9e8: a(n) SmalltalkImage
    0x7ffe078e9890 I [] in BlockClosure>newProcess 0x7fe7a199f498: a(n) BlockClosure

// repeated ....

indexOfAscii:inString:startingAt:
stringHash:initialHash:
compare:with:collated:
stringHash:initialHash:
compare:with:collated:
indent:around:
indent:around:
indent:around:
indent:around:
indent:around:
indexOfAscii:inString:startingAt:
indent:around:
newLines:
newLines:
indexOfAscii:inString:startingAt:
to:
to:
to:
to:
indexOfAscii:inString:startingAt:
indexOfAscii:inString:startingAt:
size
new:
at:put:
at:put:
value:
**StackOverflow**
**StackOverflow**
**StackOverflow**
**StackOverflow**
**StackOverflow**
**StackOverflow**
**StackOverflow**
indexOfAscii:inString:startingAt:
size
**StackOverflow**
=
indexOfAscii:inString:startingAt:
indexOfAscii:inString:startingAt:
indexOfAscii:inString:startingAt:
indexOfAscii:inString:startingAt:
indexOfAscii:inString:startingAt:
indexOfAscii:inString:startingAt:
**StackOverflow**
indexOfAscii:inString:startingAt:
stringHash:initialHash:
compare:with:collated:
indexOfAscii:inString:startingAt:
stringHash:initialHash:
compare:with:collated:
indexOfAscii:inString:startingAt:
indexOfAscii:inString:startingAt:
size
**StackOverflow**
**StackOverflow**
**StackOverflow**
stringHash:initialHash:
compare:with:collated:
**StackOverflow**
indexOfAscii:inString:startingAt:
indexOfAscii:inString:startingAt:
**StackOverflow**
**StackOverflow**
indexOfAscii:inString:startingAt:
indexOfAscii:inString:startingAt:
periodsAtEndOfBlock
periodsAtEndOfBlock
periodsAtEndOfBlock
indexOfAscii:inString:startingAt:
**StackOverflow**
**StackOverflow**
indexOfAscii:inString:startingAt:
position
position
position
class
class
replaceFrom:to:with:startingAt:
registerCallback:

stack page bytes 8192 available headroom 5576 minimum unused headroom 6032
akgrant43 commented 4 years ago

Hi @SchweinchenFuntik

Would you mind posting the results of:

./glamoroustoolkit Pharo.image clap gtVersionInfo > version.txt
glxinfo > gl.txt
akgrant43 commented 4 years ago

crash.zip shows that the issue is an Illegal Instruction. We've recently moved to a newer version of libffi which is compiled with haswell as the minimum CPU architecture.

Running gtoolkit on a more recent / higher end machine should resolve the issue.

Thanks.

caleb-allen commented 4 years ago

As a follow up, using the ready-made installation seems to work for me

girba commented 4 years ago

Great! Please keep asking questions!

SchweinchenFuntik commented 4 years ago

Hi @SchweinchenFuntik

Would you mind posting the results of:

./glamoroustoolkit Pharo.image clap gtVersionInfo > version.txt
glxinfo > gl.txt

Sorry for not responding, was away.

gl.txt