Closed divanosport closed 4 years ago
So you built JASP from source and there the browse button freezes JASP?
I built it from source and also tested the flatpak version. Both the built and flatpak versions freeze after pressing the Browse button or one the 'recent folders'.
By the way, the same happens with the "install module" dialog, with the result shown in the attached file. JASP becomes non interactable.
So it is possibly a problem with accessing files? What does JASP do when opening a file dialog?
Well JASP uses the default filebrowsing dialog that is included with Qt. And it seems that this is broken on your computer for some reason...
Maybe you could try out a tiny Qt project to see if the filedialog works without all the whistles and bells of JASP?
The code we use to open these dialogs is basically:
QString MessageForwarder::browseOpenFile(QString caption, QString browsePath, QString filter)
{
return QFileDialog::getOpenFileName(nullptr, caption, browsePath, filter);
}
QString MessageForwarder::browseSaveFile(QString caption, QString browsePath, QString filter, QString * selectedFilter)
{
return QFileDialog::getSaveFileName(nullptr, caption, browsePath, filter, selectedFilter);
}
QString MessageForwarder::browseOpenFolder(QString caption, QString browsePath)
{
return QFileDialog::getExistingDirectory(nullptr, caption, browsePath, QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
}
Well I use a lot of KDE apps which are developed in QT, and none are giving me this problem, so I wouldn't be too hasty in closing this issue as a personal problem. I also saw a chromeos user with the same problem.
I am not a developer but I can install an IDE and paste and run some code if it helps. Would the code that you pasted be enough?
Well, you built JASP using Qt Creator?
Because tomorrow I can make a little project for you that should compile and can help us figure out where the problem lies. Maybe it is in some interaction between QML and the system file browser.. Kind of hard to guess for me now.
If other KDE apps do work though (and they use this file browser) then that at least shows that Qt should be able to do it on your pc.
I did, but the problem is the same with the flatpak version. And if I understand correctly, flatpak distributes its own libraries for the most part. However I will gladly compile and test the code that you send me.
Yeah you understood correctly, flatpak uses it's own distribution of Qt (and KDE).
That is why it is interesting (and annoying) that browsing also freezes when you compile it yourself...
So could you try FileBrowseTest.zip?
I compiled it successfully without installing anything new, and all three buttons open a QT file dialog. I recall I didn't have this problem in the 0.9 series. I might downgrade with flatpak to see when the problem started, if it's possible. Or I can build and test earlier versions.
Well, it is good but dissappointing to know that the problem is somewhere in JASP.
You could try to build https://github.com/jasp-stats/jasp-desktop/commit/ab3d52c8d8398135aa99062ee8ecb86a2b8ec942 (v0.10.0.0) because that is the first version where we switched to the new GUI.
In the meanwhile I will take a look as to what might be interfering with the browsing dialog in JASP on your system...
Ooh and by the way, if you run JASP and choose browse. What output do you get? (If you run from terminal for instance?)
And which desktop environment do you use? KDE? Gnome? Or some other GTK environment?
Aah and one more thing to try: If you choose "Browse" and JASP freezes: Does pressing Escape make JASP unfreeze?
Hello! I have tested Jasp under KDE and awesomewm. Awesome is a minimal window manager and doesn't do much. The bug is the same under both environments.
When I open jasp a lot of warnings are spouted out:
'libGL error: MESA-LOADER: failed to retrieve device information libGL error: image driver extension not found libGL error: failed to load driver: radeon libGL error: failed to open drm device: File o directory non esistente libGL error: failed to load driver: radeonsi qrc:/components/JASP/Widgets/ComputeColumnWindow.qml:330:2: QML Dialog: Binding loop detected for property "implicitWidth" qrc:/components/JASP/Widgets/ComputeColumnWindow.qml:330:2: QML Dialog: Binding loop detected for property "implicitWidth" qrc:/components/JASP/Widgets/FilterWindow.qml:362:4: QML Dialog: Binding loop detected for property "implicitWidth" qrc:/components/JASP/Widgets/FilterWindow.qml:362:4: QML Dialog: Binding loop detected for property "implicitWidth" qrc:/components/JASP/Widgets/FilterWindow.qml:112:4: QML Dialog: Binding loop detected for property "implicitWidth" qrc:/components/JASP/Widgets/FilterWindow.qml:112:4: QML Dialog: Binding loop detected for property "implicitWidth" Property 'data'' of object 'QQuickRootItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'resources'' of object 'QQuickRootItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'states'' of object 'QQuickRootItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transitions'' of object 'QQuickRootItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transformOriginPoint'' of object 'QQuickRootItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transform'' of object 'QQuickRootItem' has no notify signal and is not constant, value updates in HTML will be broken! Don't know how to handle 'mode', use qRegisterMetaType to register it. Don't know how to handle 'format', use qRegisterMetaType to register it. Don't know how to handle 'mirroring', use qRegisterMetaType to register it. Don't know how to handle '', use qRegisterMetaType to register it. Property 'data'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'resources'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'states'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transitions'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transformOriginPoint'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transform'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Don't know how to handle '', use qRegisterMetaType to register it. Property 'data'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'resources'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'states'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transitions'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transformOriginPoint'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transform'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'data'' of object 'SplitView_QMLTYPE_177_QML_188' has no notify signal and is not constant, value updates in HTML will be broken! Property 'resources'' of object 'SplitView_QMLTYPE_177_QML_188' has no notify signal and is not constant, value updates in HTML will be broken! Property 'states'' of object 'SplitView_QMLTYPE_177_QML_188' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transitions'' of object 'SplitView_QMLTYPE_177_QML_188' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transformOriginPoint'' of object 'SplitView_QMLTYPE_177_QML_188' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transform'' of object 'SplitView_QMLTYPE_177_QML_188' has no notify signal and is not constant, value updates in HTML will be broken! Don't know how to handle '', use qRegisterMetaType to register it. Property 'data'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'resources'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'states'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transitions'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transformOriginPoint'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transform'' of object 'QQuickItem' has no notify signal and is not constant, value updates in HTML will be broken! Property 'data'' of object 'QQuickRectangle' has no notify signal and is not constant, value updates in HTML will be broken! Property 'resources'' of object 'QQuickRectangle' has no notify signal and is not constant, value updates in HTML will be broken! Property 'states'' of object 'QQuickRectangle' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transitions'' of object 'QQuickRectangle' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transformOriginPoint'' of object 'QQuickRectangle' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transform'' of object 'QQuickRectangle' has no notify signal and is not constant, value updates in HTML will be broken! Property 'gradient'' of object 'QQuickRectangle' has no notify signal and is not constant, value updates in HTML will be broken! Don't know how to handle '', use qRegisterMetaType to register it. Property 'data'' of object 'QQuickWebEngineView' has no notify signal and is not constant, value updates in HTML will be broken! Property 'resources'' of object 'QQuickWebEngineView' has no notify signal and is not constant, value updates in HTML will be broken! Property 'states'' of object 'QQuickWebEngineView' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transitions'' of object 'QQuickWebEngineView' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transformOriginPoint'' of object 'QQuickWebEngineView' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transform'' of object 'QQuickWebEngineView' has no notify signal and is not constant, value updates in HTML will be broken! Property 'userScripts'' of object 'QQuickWebEngineProfile' has no notify signal and is not constant, value updates in HTML will be broken! Property 'data'' of object 'QQuickWebEngineHistory' has no notify signal and is not constant, value updates in HTML will be broken! Property 'resources'' of object 'QQuickWebEngineHistory' has no notify signal and is not constant, value updates in HTML will be broken! Property 'states'' of object 'QQuickWebEngineHistory' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transitions'' of object 'QQuickWebEngineHistory' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transformOriginPoint'' of object 'QQuickWebEngineHistory' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transform'' of object 'QQuickWebEngineHistory' has no notify signal and is not constant, value updates in HTML will be broken! Don't know how to handle '', use qRegisterMetaType to register it. Property 'transports'' of object 'QQmlWebChannel' has no notify signal and is not constant, value updates in HTML will be broken! Property 'registeredObjects'' of object 'QQmlWebChannel' has no notify signal and is not constant, value updates in HTML will be broken! Property 'userScripts'' of object 'QQuickWebEngineView' has no notify signal and is not constant, value updates in HTML will be broken! Don't know how to handle '', use qRegisterMetaType to register it. Property 'data'' of object 'QQuickItem_QML_190' has no notify signal and is not constant, value updates in HTML will be broken! Property 'resources'' of object 'QQuickItem_QML_190' has no notify signal and is not constant, value updates in HTML will be broken! Property 'states'' of object 'QQuickItem_QML_190' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transitions'' of object 'QQuickItem_QML_190' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transformOriginPoint'' of object 'QQuickItem_QML_190' has no notify signal and is not constant, value updates in HTML will be broken! Property 'transform'' of object 'QQuickItem_QML_190' has no notify signal and is not constant, value updates in HTML will be broken! Don't know how to handle '', use qRegisterMetaType to register it.'
But when trying to browse only this comes out:
'R_HOME: /app/lib64/R/ R_HOME: /app/lib64/R/ R_HOME: /app/lib64/R/ R_HOME: /app/lib64/R/'
Escape or any other key or mouse click has no effect. It's probably the first thing I tried when I encountered the bug.
I have been trying to build JASP again but with no success. QTcreator simply fails after giving thousands of warning messages, using the command line as per instructions doesn't work properly. By fumbling I finally got a working JASP binary without the freezing bug, but whatever I do just crashes after less than a minute. I feel like the building instructions are incomplete or wrong somehow. The errors do not seem to be due to missing libraries, as I think those gave me errors at config time, not at build time. I will try something different as soon as I have time.
Hmm, yeah those warnings while buildings are annoying and I hope one day we will get the time to remove them all. But for now I usually just hide them in Qt Creator. It's the errors that give the most valuable information in practice..
What I do see at the top of the log is some stuff about OpenGL not loading properly (radeon and radeonsi). Maybe you could try to install the xf86-video-amdgpu
driver for your amd card instead?
And I just took a look at the build instructions and I must admit that the linux part could be clearer. If you get into trouble don't hesitate to ask me for help!
It is installed and I don't know why I'm getting those warnings myself. I will see if there is something wrong with my setup and report.
So that isn't it then. It's kind of weird that the small demo project has no problem opening the filebrowser while it manages to freeze JASP...
I'll have to see what different thing JASP does extra as compared to the FileBrowseTest, maybe the directory it uses or something.
Yep, I've tried installing Jamovi and Steam's flatpaks and neither give me the gl warnings in the terminal. Indeed it seems that Steam comes packed with its own GL libraries... so maybe JASP should too?
Yeah, that was actually something I wanted to look at today. flatpak has some special support for OpenGL but apparently it needs to request some special permission to access the driver directly. And the current buildsetup doesn't use this yet.
I will try to see if I can add this and I'll let you know when I've setup a debug-repo for it so that you can test it and see if it makes a difference.
@divanosport could you try this version of flatpak: http://static.jasp-stats.org/flatpak/JASP-Test.flatpakref ? It is a test version of the upcoming release.
I'm curious if it works better for you and if the OpenGL errors are gone?
Hello! Freezes same way as before, but it seems to start faster and the OpenGL errors are gone. The other warning and outputs seem to be identical.
I can open datasheets through the terminal (flatpak run org.jaspstats.JASP filename), but I guess it's a bit annoying for everyday usage.
Hmm, well good it starts faster and it doesn't complain about GL anymore!
Too bad those things seem to be unrelated to the problem at hand...
I'll have to see if I can better pinpoint what goes wrong where..
@divanosport if you lookd at this page under "Publish beta releases" you see some commands to add a "beta" branch of flathub.
I've pushed a version of JASP there that you can (after installing it) run as flatpak run --branch=beta org.jaspstats.JASP
which has a special option under "Preferences -> Interface -> Use Native Filedialogs".
If you disable that, maybe you can just open files again?
Hello,
sorry for the delay. I can't access that blog post right now but I'll try again later. If you have the command to install the beta branch I will do it as soon as I see your response.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Monday, March 2, 2020 11:51 AM, Joris Goosen notifications@github.com wrote:
@divanosport if you lookd at this page under "Publish beta releases" you see some commands to add a "beta" branch of flathub.
I've pushed a version of JASP there that you can (after installing it) run as flatpak run --branch=beta org.jaspstats.JASP which has a special option under "Preferences -> Interface -> Use Native Filedialogs".
If you disable that, maybe you can just open files again?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
Aah yeah the site seems to be down...
What you do is:
flatpak remote-add flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
flatpak install flathub-beta org.jaspstats.JASP
and then to run it:
flatpak run --branch=beta org.jaspstats.JASP
I think it then remembers that you want that version, so to go back to the "real" released JASP, which will of course be quite useful after we release 0.12 you can do:
flatpak run --branch=stable org.jaspstats.JASP
Same problem...
opening a file via CLI still works luckily ( flatpak run --branch=beta org.jaspstats.JASP whatever.ods), so I will still be enjoying JASP (v 0.12 looks great). Maybe you were right in the beginning, it could be some general QT problem in my distro or specific to my installation. The other day I couldn't make a graph with Julia and it gave me a qt-related error. I might try to install a Fedora or Debian vm and see if I get the same problem there.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Friday, March 20, 2020 5:49 PM, Joris Goosen notifications@github.com wrote:
Aah yeah the site seems to be down...
What you do is: flatpak remote-add flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo flatpak install flathub-beta org.jaspstats.JASP and then to run it: flatpak run --branch=beta org.jaspstats.JASP
I think it then remembers that you want that version, so to go back to the "real" released JASP, which will of course be quite useful after we release 0.12 you can do: flatpak run --branch=stable org.jaspstats.JASP
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
And you really did uncheck the native dialog box? In that case it definitely sounds like a qt problem... Although not one I've encountered before.
Oops, I did not. :P
And that solved the problem, so thank you for your work!
Sent from ProtonMail mobile
-------- Original Message -------- On Mar 20, 2020, 7:31 PM, Joris Goosen wrote:
And you really did uncheck the native dialog box?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
I am using Voidlinux, tested with kernels both 4.19 and 5.2. I installed jasp 0.10.2 with flatpak and also built it from source.
The problem is the same regardless of which of the two I use. When I want to open a file, and I use the 'Browse' button, JASP freezes and can't be interacted with anymore. I can only kill it manually.
Opening files from the Data Library works. OSF wasn't tested. Toggling 'Safe Graphics' on and off has no effect.