Closed PrinceKael closed 5 years ago
This is probably a problem with D-Bus/Udisks. qtfm will scan for devices ~10 secs after launch. If you don't have D-Bus/UDisks it seems qtfm will crash.
I think I know where the problem is, and I will fix it as soon as possible.
XDG_RUNTIME_DIR can be ignored.
You can rebuild with CONFIG+=no_udisks
to disable UDisks for now if you want.
Issue should be fixed, please check the 6.1 branch if possible.
git clone https://github.com/rodlie/qtfm
cd qtfm
git checkout 6.1
or download a source snapshot: https://github.com/rodlie/qtfm/archive/6.1.tar.gz
Sorry for the late reply - had some personal matters and forgot about this issue.
I had some issues with make
- after extracting it and using qmake
a la once I did this:
tar xvf qtfm-6.1.tar.gz
cd qtfm-6.1
mkdir build && cd build
qmake CONFIG+=release ..
I got this:
cd libfm/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/princekael/qtfm-6.1/libfm/libfm.pro CONFIG+=release ) && make -f Makefile
make[1]: Entering directory '/home/princekael/qtfm-6.1/build/libfm'
g++ -c -pipe -O2 -fPIC -Wall -W -D_REENTRANT -DQT_NO_DEBUG_OUTPUT -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -I../../libfm -I. -I /usr/include/qt5 -I /usr/include/qt5/QtWidgets -I /usr/include/qt5/QtGui -I /usr/include/qt5/QtDBus -I /usr/include/qt5/QtCore -I. -I /usr/include/libdrm -I/usr/lib/qt5/mkspecs/linux-g++ -o desktopfile.o ../../libfm/desktopfile.cpp
In file included from ../../libfm/desktopfile.cpp:1:
../../libfm/desktopfile.h:4:10: fatal error: QStringList: No such file or directory
#include <QStringList>
^~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:427: desktopfile.o] Error 1
make[1]: Leaving directory '/home/princekael/qtfm-6.1/build/libfm'
make: *** [Makefile:48: sub-libfm-make_first] Error 2
The only saving grace is, my main qtfm install hasn't crashed at all lately - perhaps an update that I missed. Although I still get: XDG_RUNTIME_DIR not set, but no crashing.
No problem, been busy with other projects this month (and my internet connections is currently very unstable).
There are currently two issues in qtfm that needs to be fixed:
I will start working on qtfm again this week. I will delay development of 6.2 to get 6.1 more stable.
I think most segfault are fixed (will push commits to 6.1 later today). If you still have issues after 6.1.4 is released feel free to re-open this issue.
I still have issues with the current master
(gdb) where
#0 0x00007fd8bfed2380 in QDBusAbstractInterface::isValid() const () from /usr/lib64/libQt5DBus.so.5
#1 0x00007fd8c12ee7df in Disks::checkUDisks (this=0x55ac5a17c6c0) at disks.cpp:207
#2 0x00007fd8c12f9df2 in Disks::qt_static_metacall (_o=0x55ac5a17c6c0, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0x7ffd8f5a3e10) at ../lib/.moc_libfm/moc_disks.cpp:342
#3 0x00007fd8bf9d0a1b in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#4 0x00007fd8bf9dc327 in QTimer::timeout(QTimer::QPrivateSignal) () from /usr/lib64/libQt5Core.so.5
#5 0x00007fd8bf9d163b in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5
#6 0x00007fd8c0b6bf11 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#7 0x00007fd8c0b73580 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#8 0x00007fd8bf9a9591 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#9 0x00007fd8bf9f73e9 in QTimerInfoList::activateTimers() () from /usr/lib64/libQt5Core.so.5
#10 0x00007fd8bf9f7c44 in ?? () from /usr/lib64/libQt5Core.so.5
#11 0x00007fd8bd29eccd in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#12 0x00007fd8bd29ef68 in ?? () from /usr/lib64/libglib-2.0.so.0
#13 0x00007fd8bd29effc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#14 0x00007fd8bf9f80a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#15 0x00007fd8b97745d1 in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#16 0x00007fd8bf9a8563 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#17 0x00007fd8bf9b0392 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#18 0x000055ac582ad180 in main (argc=1, argv=0x7ffd8f5a4838) at src/main.cpp:93
(gdb) frame 1
#1 0x00007fd8c12ee7df in Disks::checkUDisks (this=0x55ac5a17c6c0) at disks.cpp:207
207 if (dbus->isValid()) { scanDevices(); }
(gdb) print dbus
$1 = (QDBusInterface *) 0x0
The dbus variable somehow is a null-pointer and thus the SEGFAULT.
void Disks::setupDBus()
{
QDBusConnection system = QDBusConnection::systemBus();
if (system.isConnected()) {
perhaps it should be if (!system.isConnected()) {
?
But in general, it seems this file does not honor CONFIG+=no_dbus.
Will fix sometime this weekend.
Regarding CONFIG+=no_dbus I did some changes in master so it might be ignored somewhere. Anyway, it should not crash...
I tested CONFIG+=no_dbus in master and it works as intended, no D-Bus code is built or run.
I will backport the segfault fix to 6.1 and do a quick last release (6.1.8) for that branch tomorrow.
Apologies for the title, I'm new to Github and had no idea how to describe this.
After a fresh install of qtfm on Void Linux, I can open qtfm however after a short amount of time ranging from 10 seconds to 2 minutes the program crashes and displays the following error in terminal:
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-princekael' ((null):0, (null))
Segmentation fault
This happened yesterday before I re-installed it to no avail, and I couldn't recall it being associated with the same behaviour. Perhaps this is due to my set-up or something?