F1ash / dnscrypt-proxy-gui

Qt/KF5 GUI wrapper over dnscrypt-proxy
GNU General Public License v2.0
26 stars 7 forks source link

DNSCryptClient won't start #7

Closed BooBerry closed 6 years ago

BooBerry commented 7 years ago

Using Arch Linux with GNOME 64-bit, attempting to start the app results in this in the Terminal;

** (DNSCryptClient:11335): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-WIabpadbLy: Connection refused
QLayout: Attempting to add QLayout "" to InfoPanel "", which already has a layout
QLayout: Attempting to add QLayout "" to InfoPanel "", which already has a layout
QLayout: Attempting to add QLayout "" to MainWindow "", which already has a layout

Any ideas?

F1ash commented 7 years ago

it is a DBus problems.

nsiregar commented 6 years ago

Using Solus Budgie 64-bit, attempting to start via terminal resulted:

QLayout: Attempting to add QLayout "" to InfoPanel "", which already has a layout
QLayout: Attempting to add QLayout "" to InfoPanel "", which already has a layout
QLayout: Attempting to add QLayout "" to MainWindow "", which already has a layout

without any further messages, the app not launched. App installed at

/usr/bin/DNSCryptClient
/usr/lib/systemd/system/DNSCryptClient@.service
/usr/lib/systemd/system/DNSCryptClient_test@.service
/usr/lib64/kf5/kauth/dnscrypt_client_helper
/usr/lib64/kf5/kauth/dnscrypt_client_reload_helper
/usr/lib64/kf5/kauth/dnscrypt_client_test_helper
/usr/share/applications/DNSCryptClient.desktop
/usr/share/dbus-1/system-services/pro.russianfedora.dnscryptclient.service
/usr/share/dbus-1/system-services/pro.russianfedora.dnscryptclientreload.service
/usr/share/dbus-1/system-services/pro.russianfedora.dnscryptclienttest.service
/usr/share/dbus-1/system.d/pro.russianfedora.dnscryptclient.conf
/usr/share/dbus-1/system.d/pro.russianfedora.dnscryptclientreload.conf
/usr/share/dbus-1/system.d/pro.russianfedora.dnscryptclienttest.conf
/usr/share/icons/hicolor/64x64/apps/DNSCryptClient.png
/usr/share/knotifications5/DNSCryptClient.notifyrc
/usr/share/polkit-1/actions/pro.russianfedora.dnscryptclient.policy
/usr/share/polkit-1/actions/pro.russianfedora.dnscryptclientreload.policy
/usr/share/polkit-1/actions/pro.russianfedora.dnscryptclienttest.policy
F1ash commented 6 years ago

Tray icon is showed?

nsiregar commented 6 years ago

it is showed for a second then gone

F1ash commented 6 years ago

if segfault message not exist then app is works. Maybe need to correct Plasma System Tray Settings, because not all tray icons showed automatically.

nsiregar commented 6 years ago

How to do correct Plasma System Tray Settings? Is it when compiling the source?

Trying to run in gdb, give messages that process exited normally.

F1ash commented 6 years ago

https://imgur.com/h2a5AMF https://imgur.com/hcUMxi7

nsiregar commented 6 years ago

Looks like we don't have those settings in budgie

F1ash commented 6 years ago

strangly... this is a standard KDE Plasma Settings...

So when you start app in Terminal then app showed and closed (terminal string come back) or app showed and hidden?

omni6 commented 6 years ago

seems to happen only on GTK desktops, maybe this helps: 1 2

nsiregar commented 6 years ago

Sorry for late reply, the app doesn't show at all. Only show the systray icon for a second then gone.

F1ash commented 6 years ago

Hmmm... This problem not with layouts, because this is standard Qt warnings about incorrect widgets usage (but it is not critical). Need to read initiation code of app. Some later...

omni6 commented 6 years ago

you think https://github.com/F1ash/dnscrypt-proxy-gui/commit/24604bd584a62eb4336095f0c6aab44388b06156 solved this issue?

F1ash commented 6 years ago

i think that last commit not solve the issue... Maybe some error at initiation of app. But in KDE all works..

unixfox commented 6 years ago

I've the same issue on Plasma 5.11.

F1ash commented 6 years ago

at first start?

unixfox commented 6 years ago

Yes

F1ash commented 6 years ago

can you to give terminal error messages at first start? (before this delete ~/$USER/.config/DNSCryptClient/DNSCryptClient.conf). I have not a problem at first start.

unixfox commented 6 years ago
QLayout: Attempting to add QLayout "" to InfoPanel "", which already has a layout
QLayout: Attempting to add QLayout "" to InfoPanel "", which already has a layout
QLayout: Attempting to add QLayout "" to MainWindow "", which already has a layout

And I forgot to add that I'm running the 1.11.10 version.

baimafeima commented 6 years ago

Any updates regarding the starting problem? @F1ash

F1ash commented 6 years ago

no...

mxmilkiib commented 6 years ago

Got the same, Arch Linux, i3 is my wm with the i3bar systray.

qt5ct: using qt5ct plugin
QLayout: Attempting to add QLayout "" to InfoPanel "", which already has a layout
QLayout: Attempting to add QLayout "" to InfoPanel "", which already has a layout
QLayout: Attempting to add QLayout "" to MainWindow "", which already has a layout
qt5ct: D-Bus system tray: no

Might it be a dependency, or do I actually have to be using KDE DE to run DNSCryptClient?

F1ash commented 6 years ago

maybe... all required libs (in Fedora, rawhide): # rpm -qR dnscrypt-proxy-gui /bin/sh dnscrypt-proxy hicolor-icon-theme kf5-kauth kf5-knotifications libKF5Auth.so.5()(64bit) libKF5CoreAddons.so.5()(64bit) libKF5Notifications.so.5()(64bit) libQt5Core.so.5()(64bit) libQt5Core.so.5(Qt_5)(64bit) libQt5Core.so.5(Qt_5.9)(64bit) libQt5DBus.so.5()(64bit) libQt5DBus.so.5(Qt_5)(64bit) libQt5DBus.so.5(Qt_5_PRIVATE_API)(64bit) libQt5Gui.so.5()(64bit) libQt5Gui.so.5(Qt_5)(64bit) libQt5Widgets.so.5()(64bit) libQt5Widgets.so.5(Qt_5)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.4)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) polkit qt5-qtbase rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 rtld(GNU_HASH) systemd

omni6 commented 6 years ago

I am the maintainer of the dnscrypt-proxy-gui PKGBUILD and this are all pulled dependencies of this package. I think everything should be satisfied. They will be automatic installed from arch package manager when using my PKGBUILD. Dnscrypt-proxy-gui was first built in clean chroot before uploaded to AUR. i think you can exclude the case of a missing lib because most arch users will use that pkgbuild.

Can noone provide a proper backtrace??

F1ash commented 6 years ago

I'll try in the coming days ...

F1ash commented 6 years ago

For beginning. Try build and run in terminal from debug branch. I'm wait for results.

F1ash commented 6 years ago

i'm get that backtrace in terminal at start:

readSettings firstServiceStart changeUnitsFinished startService INACTIVE/FAILED STOP_SLICE ...... INACTIVE/FAILED ACTIVE at close: changeVisibility 0 INACTIVE/FAILED closeEvent RESTORED

What you have for comparison?

omni6 commented 6 years ago

My output to compare:

~ » DNSCryptClient                                                                                                                                                                                       jan@royal-ts
readSettings
firstServiceStart
changeUnitsFinished
changeVisibility 0
startService
INACTIVE/FAILED
ACTIVE
changeVisibility 1
changeVisibility 0
STOP_SLICE
STOP_SLICE
INACTIVE/FAILED

as said, i have no crash!

omni6 commented 6 years ago

@BooBerry @nsiregar @milkmiruku @unixfox

F1ash commented 6 years ago

updated debug branch for check tray icon stability;

mxmilkiib commented 6 years ago

debug branch after a sudo make install and rm ~/.config/DNSCryptClient/DNSCryptClient.conf gives:

qt5ct: using qt5ct plugin
qt5ct: D-Bus system tray: no
readSettings
firstServiceStart
changeUnitsFinished

tray icon appears for a fraction of a second then dissapears.

unset QT_QPA_PLATFORMTHEME = same, without qt5ct msgs

strace / ltrace

the ltrace log is straight through, though whilst running the ltrace (~1m16s), the tray icon stays for much longer and I can open the program if I wish. if i keep the window open, the program doesn't seem to exit.

if i let the ltrace go straight through, the icon stays for the most part, there are bursts of activity roughly every half second which appears to finish with changeUnitsFinished, at which point the tray icon goes and the program exits.

anything else i could try/report?

omni6 commented 6 years ago

@milkmiruku

access("/usr/local/share/icons/hicolor/48x48/stock/navigation/DNSCryptClient_start.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/share/icons/hicolor/48x48/stock/net/DNSCryptClient_start.png", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/share/icons/hicolor/48x48/stock/net/DNSCryptClient_start.svg", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/share/icons/hicolor/48x48/stock/object/DNSCryptClient_start.png", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/share/icons/hicolor/48x48/stock/object/DNSCryptClient_start.svg", F_OK) = -1 ENOENT (No such file or direc

i think you can avoid ^this^ if you use:

cmake -DCMAKE_INSTALL_PREFIX=/usr -DSHARE_INSTALL_PREFIX=/usr/share ..

mxmilkiib commented 6 years ago

Built it with that but no apparent change.

omni6 commented 6 years ago

Maybe for all that are not skilled to compile from source, here a git-debug PKGBUILD. It will build a package from the latest debug branch and install it as dnscrypt-proxy-gui-debug. This is all i can do ;) use it with makepkg -si

mxmilkiib commented 6 years ago

Built the pkg and installed, no difference.

F1ash commented 6 years ago

updated debug branch: probe to show app forcibly; still wait for results...

F1ash commented 6 years ago

guys, i can't reproduce your problem, therefore i wait your results with new updates...

mxmilkiib commented 6 years ago

What ever has changed in debug, it starts (or rather, stays started) for me now. Fantastic, thanks for the help :)

F1ash commented 6 years ago

good... it is not a fantastic. i call show() method for main window. I don't know but in the fedora of Qt5-framework usually not need to call show() for main window... then i'll add this changes to master branch (some later).

unixfox commented 6 years ago

It's working for me too. I'm using Plasma 5 on ArchLinux.