skycoder42 / dolphin-seafile-plugin Goto Github PK
View Code? Open in Web Editor NEWA plugin for dolphin to show the seafile synchronization status
License: BSD 3-Clause "New" or "Revised" License
A plugin for dolphin to show the seafile synchronization status
License: BSD 3-Clause "New" or "Revised" License
Unfortunately a system update broke the plugin. I am now getting a lot of
kdeinit5 Seafile Extension: File is locked by another application
when accessing Seafile controlled directories within Dolphin.
KDE Apps are on 12/2020 now, KDE Frameworks got updated to 5.77.0.
Let me know if I could help to track it down.
Dolphin recently started to crash when opening a seafile folder. Running it with valgrind, I see the message "Seafile Extension: Transport Error" in dolphin and the following warnings on stdout:
(process:14914): Ccnet-WARNING **: 18:02:46.372: [client pool] Failed to connect.
(process:14914): Ccnet-WARNING **: 18:02:46.385: [Sea RPC] Failed to get client from pool.
This is the backtrace when run outside of valgrind:
Application: Dolphin (dolphin), signal: Aborted
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f37075b0800 (LWP 19561))]
Thread 6 (Thread 0x7f36d90b3700 (LWP 19622)):
[KCrash Handler]
#6 0x00007f3706da986b in raise () at /usr/lib/libc.so.6
#7 0x00007f3706d9440e in abort () at /usr/lib/libc.so.6
#8 0x00007f3706deb8b8 in __libc_message () at /usr/lib/libc.so.6
#9 0x00007f3706df1d4a in () at /usr/lib/libc.so.6
#10 0x00007f3706df34dc in _int_free () at /usr/lib/libc.so.6
#11 0x00007f36db1b3f40 in SeafException::SeafException(_GError*) () at /usr/lib/qt/plugins/libfileviewseafileplugin.so
#12 0x00007f36db1b4798 in SeafStatus::reloadRepos() () at /usr/lib/qt/plugins/libfileviewseafileplugin.so
#13 0x00007f36db1b4870 in SeafStatus::ensureConnected() () at /usr/lib/qt/plugins/libfileviewseafileplugin.so
#14 0x00007f36db1b49da in SeafStatus::engage() () at /usr/lib/qt/plugins/libfileviewseafileplugin.so
#15 0x00007f36db1b34c6 in FileViewSeafilePlugin::beginRetrieval(QString const&) () at /usr/lib/qt/plugins/libfileviewseafileplugin.so
#16 0x00007f3706b124ea in UpdateItemStatesThread::run() () at /usr/lib/libdolphinprivate.so.5
#17 0x00007f3700e1fb45 in () at /usr/lib/libQt5Core.so.5
#18 0x00007f36fbe53075 in start_thread () at /usr/lib/libpthread.so.0
#19 0x00007f3706e6b53f in clone () at /usr/lib/libc.so.6
Thread 5 (Thread 0x7f36e4b04700 (LWP 19565)):
#0 0x00007f3706e60ea9 in poll () at /usr/lib/libc.so.6
#1 0x00007f36f97c4523 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007f36f97c463e in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3 0x00007f3701021054 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4 0x00007f3700fcc94c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5 0x00007f3700e15a99 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6 0x00007f3700e1fb45 in () at /usr/lib/libQt5Core.so.5
#7 0x00007f36fbe53075 in start_thread () at /usr/lib/libpthread.so.0
#8 0x00007f3706e6b53f in clone () at /usr/lib/libc.so.6
Thread 4 (Thread 0x7f36e5fe1700 (LWP 19564)):
#0 0x00007f36fbe58ffc in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1 0x00007f36e6c7c124 in () at /usr/lib/dri/i965_dri.so
#2 0x00007f36e6c7be18 in () at /usr/lib/dri/i965_dri.so
#3 0x00007f36fbe53075 in start_thread () at /usr/lib/libpthread.so.0
#4 0x00007f3706e6b53f in clone () at /usr/lib/libc.so.6
Thread 3 (Thread 0x7f36ed994700 (LWP 19563)):
#0 0x00007f3706e60ea9 in poll () at /usr/lib/libc.so.6
#1 0x00007f36f97c4523 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007f36f97c463e in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3 0x00007f3701021054 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4 0x00007f3700fcc94c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5 0x00007f3700e15a99 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6 0x00007f3701471976 in () at /usr/lib/libQt5DBus.so.5
#7 0x00007f3700e1fb45 in () at /usr/lib/libQt5Core.so.5
#8 0x00007f36fbe53075 in start_thread () at /usr/lib/libpthread.so.0
#9 0x00007f3706e6b53f in clone () at /usr/lib/libc.so.6
Thread 2 (Thread 0x7f36eff1d700 (LWP 19562)):
#0 0x00007f3706e60ea9 in poll () at /usr/lib/libc.so.6
#1 0x00007f36f90fe180 in () at /usr/lib/libxcb.so.1
#2 0x00007f36f90ffe4b in xcb_wait_for_event () at /usr/lib/libxcb.so.1
#3 0x00007f36f2abb22a in () at /usr/lib/libQt5XcbQpa.so.5
#4 0x00007f3700e1fb45 in () at /usr/lib/libQt5Core.so.5
#5 0x00007f36fbe53075 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007f3706e6b53f in clone () at /usr/lib/libc.so.6
Thread 1 (Thread 0x7f37075b0800 (LWP 19561)):
#0 0x00007f36fbe58ffc in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1 0x00007f36f90fe393 in () at /usr/lib/libxcb.so.1
#2 0x00007f36f90ffb3f in () at /usr/lib/libxcb.so.1
#3 0x00007f36f90ffc51 in xcb_wait_for_reply () at /usr/lib/libxcb.so.1
#4 0x00007f36f2ab971c in QXcbConnection::sync() () at /usr/lib/libQt5XcbQpa.so.5
#5 0x00007f36f2adb33c in () at /usr/lib/libQt5XcbQpa.so.5
#6 0x00007f36f2adb430 in () at /usr/lib/libQt5XcbQpa.so.5
#7 0x00007f37019918b6 in QBackingStore::beginPaint(QRegion const&) () at /usr/lib/libQt5Gui.so.5
#8 0x00007f3701fe106d in () at /usr/lib/libQt5Widgets.so.5
#9 0x00007f3701fe1489 in () at /usr/lib/libQt5Widgets.so.5
#10 0x00007f3701ff8bd7 in QWidgetPrivate::syncBackingStore() () at /usr/lib/libQt5Widgets.so.5
#11 0x00007f37020113f9 in QWidget::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#12 0x00007f370211d125 in QMainWindow::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#13 0x00007f37048e8d1c in KMainWindow::event(QEvent*) () at /usr/lib/libKF5XmlGui.so.5
#14 0x00007f3704933536 in KXmlGuiWindow::event(QEvent*) () at /usr/lib/libKF5XmlGui.so.5
#15 0x00007f3701fd1a74 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#16 0x00007f3701fd9341 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#17 0x00007f3700fcdcb9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#18 0x00007f3700fd0d4c in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#19 0x00007f37022e1446 in () at /usr/lib/libQt5Widgets.so.5
#20 0x00007f37022e69f9 in () at /usr/lib/libQt5Widgets.so.5
#21 0x00007f3700ff83d2 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#22 0x00007f37022f2b8c in QGraphicsScene::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#23 0x00007f3701fd1a74 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#24 0x00007f3701fd9341 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#25 0x00007f3700fcdcb9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#26 0x00007f3700fd0d4c in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#27 0x00007f3701021a54 in () at /usr/lib/libQt5Core.so.5
#28 0x00007f36f97c4368 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#29 0x00007f36f97c45b1 in () at /usr/lib/libglib-2.0.so.0
#30 0x00007f36f97c463e in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#31 0x00007f3701021039 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#32 0x00007f36f2b50722 in () at /usr/lib/libQt5XcbQpa.so.5
#33 0x00007f3700fcc94c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#34 0x00007f3700fd4c46 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#35 0x00007f370716eac2 in kdemain () at /usr/lib/libkdeinit5_dolphin.so
#36 0x00007f3706d9606b in __libc_start_main () at /usr/lib/libc.so.6
#37 0x00005617dd53e75a in _start ()
Here is a list of packages that need to be installed in order to make the project successfully:
libdolphinvcs-dev
libsearpc-dev
libglib2.0-dev
After installing libglib2.0-dev one needs to run
pkg-config --cflags --libs glib-2.0
and add the output to the makefile's INCPATH
Can't build it.
When I run qmake in the plugin directory it says
Project ERROR: libseafile development package not found
Apt output:
$ apt policy libseafile-dev
libseafile-dev:
Installed: 6.2.9-2~1290~ubuntu18.10.1
Candidate: 6.2.9-2~1290~ubuntu18.10.1
Version table:
*** 6.2.9-2~1290~ubuntu18.10.1 500
500 http://ppa.launchpad.net/seafile/seafile-client/ubuntu cosmic/main amd64 Packages
100 /var/lib/dpkg/status
6.2.4-1 500
500 http://de.archive.ubuntu.com/ubuntu cosmic/universe amd64 Packages
OS: Kubuntu 18.10
Seafile client version: 6.2.9
Everything is working fine, but there are the following warnings spaming the syslog when the plugin scans/enters Seafile synchronized directories.
QObject::killTimer: Timers cannot be stopped from another thread
QObject::startTimer: Timers cannot be started from another thread
If more files/directories are contained, more messages will appear.
Is this something that is fixable? Thanks in advance.
Dolphin window is crashing when I try to open the context menu (right click menu). Without the plugin everything is working fine.
I compiled the plugin on Opensuse TW, but I can not activate it.
Dolphin crashes with the following message, when you create an empty .seafile-data :
qt.accessibility.core: Cannot create accessible child interface for object: PlacesView(0x561bec7e8c10) index: 14
dolphin: symbol lookup error: /usr/lib/x86_64-linux-gnu/qt5/plugins/libfileviewseafileplugin.so: undefined symbol: searpc_create_named_pipe_client
When you go into the seafile main directory where the non-empty .seafile-data dir is located and enable show hidden files, it crashes with the same error, but not unless you enable show hidden files.
libsearpc-dev version: 3.0.8-6
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.