Bug 14408 - owncloud-client 1.6.4 : "Database Drivers could not be loaded"
Summary: owncloud-client 1.6.4 : "Database Drivers could not be loaded"
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal major
Target Milestone: ---
Assignee: Nicolas Lécureuil
QA Contact:
URL:
Whiteboard:
Keywords: Triaged
Depends on:
Blocks:
 
Reported: 2014-10-29 13:08 CET by Morgan Leijström
Modified: 2015-01-26 22:39 CET (History)
3 users (show)

See Also:
Source RPM: owncloud-client-1.6.4-1.mga5.src.rpm
CVE:
Status comment:


Attachments

Description Morgan Leijström 2014-10-29 13:08:17 CET
When starting owncloud client it asks for server, login name and password, and when i click "Connect..." it segfaults.  Same on both 32 and 64 bit cauldron.

( I guess it is unrelated, but in default configuration owncloud server also segfaults (workaround there is to change php cache), bug 14390  )

Owncloud client version is 1.5.2-2.mga5.
At developer webpage they have 1.6.4 !
So first step i think is to try packaging 1.6.4


Tracing using gdb:

(gdb) r
Starting program: /usr/bin/owncloud 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe19ed700 (LWP 28894)]
[New Thread 0x7fffdbfff700 (LWP 28895)]
Detaching after fork from child process 28896.
[New Thread 0x7fffdb7fe700 (LWP 28903)]
[New Thread 0x7fffda8b7700 (LWP 28906)]
[New Thread 0x7fffda0b6700 (LWP 28907)]
[Thread 0x7fffda0b6700 (LWP 28907) exited]
[New Thread 0x7fffda0b6700 (LWP 29090)]
[New Thread 0x7fffd8e7a700 (LWP 29164)]
[Thread 0x7fffda0b6700 (LWP 29090) exited]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5f633d5 in QMetaObject::className() const ()
   from /lib64/libQt5Core.so.5
(gdb) bt
#0  0x00007ffff5f633d5 in QMetaObject::className() const ()
    at /lib64/libQt5Core.so.5
#1  0x00007ffff5f868f0 in err_method_notfound(QObject const*, char const*, char const*) () at /lib64/libQt5Core.so.5
#2  0x00007ffff5f8e083 in QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType) ()
    at /lib64/libQt5Core.so.5
#3  0x00007ffff6d903c9 in Mirall::HttpCredentials::persist(Mirall::Account*) () at /lib64/libowncloudsync.so.0
#4  0x00007ffff6d89e2f in Mirall::Account::save() ()
    at /lib64/libowncloudsync.so.0
#5  0x00000000004612d9 in Mirall::OwncloudSetupWizard::slotAssistantFinished(int) ()
#6  0x000000000048fdfb in Mirall::OwncloudSetupWizard::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#7  0x00007ffff5f89da2 in QObject::event(QEvent*) ()
    at /lib64/libQt5Core.so.5
#8  0x00007ffff76ecb3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#9  0x00007ffff76f1da0 in QApplication::notify(QObject*, QEvent*) ()
    at /lib64/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
#10 0x00007ffff5f5b8ab in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#11 0x00007ffff5f5d79a in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5
#12 0x00007ffff5fafea3 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5
#13 0x00007ffff4cdcc6d in g_main_context_dispatch ()                                                       
    at /lib64/libglib-2.0.so.0                                                                                      
#14 0x00007ffff4cdcf18 in g_main_context_iterate.isra ()                                                                
    at /lib64/libglib-2.0.so.0                                                                                                
#15 0x00007ffff4cdcfbc in g_main_context_iteration ()                                                                             
    at /lib64/libglib-2.0.so.0                                                                                                         
#16 0x00007ffff5fb02a7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5              
#17 0x00007ffff5f5922a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5                                 
#18 0x00007ffff5f609b1 in QCoreApplication::exec() ()                                                                                  at /lib64/libQt5Core.so.5                                                                                                                                
#19 0x0000000000434eee in main ()                                                                                                                               

Reproducible: 

Steps to Reproduce:
Morgan Leijström 2014-10-29 14:35:32 CET

Summary: owncloud client segfaults at connect - besides, it ought to be updated => owncloud-client segfaults at connect - besides, it ought to be updated

Comment 1 Morgan Leijström 2014-10-29 18:54:21 CET
I see client 1.7 is in rc1.
I think it is a good idea to have 1.7 (final soon (?)) in mga5 when it is final so we start out with fresh main version.

I am willing to try it in cauldron 32 and 64 bit if someone get it packaged.
Morgan Leijström 2014-10-29 18:55:55 CET

CC: (none) => luigiwalser

Comment 2 Morgan Leijström 2014-10-29 21:16:54 CET
Trying a bit on my own to compile 1.7.0 from git, following
http://doc.owncloud.org/desktop/1.7/building.html#generic-build-instructions

 # urpmi git cmake
 $ cd ~/Downloads
 $ mkdir oc
 $ cd oc
 $ git clone git://github.com/owncloud/mirall.git
    (clones to new dir "mirall")
 $ mkdir mirall-build
 $ cd mirall-build
 $ cmake -DCMAKE_BUILD_TYPE="Debug" ../mirall
    and it reports some thins missing:
Qt QTWEBKIT library not found.
Qt QTGUI library not found.
Qt QTDBUS library not found.
Qt QTXML library not found.
Qt QTSQL library not found.
Qt QTNETWORK library not found.
Qt QTCORE library not found.
-- GIT_SHA1 ef16c409ef743a622b7746f3452c2dffbeeec532
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28") 
-- checking for module 'neon'
--   package 'neon' not found
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:136 (message):
  Could NOT find Neon (missing: NEON_LIBRARIES NEON_INCLUDE_DIRS)

Most of the Qt parts i can not find in cauldron but maybe they are just not named the same.  When/if it compiles, binary should show up in the bin directory after issuing make.
Comment 3 David Walser 2014-10-29 21:20:17 CET
You could be better off checking the package out of SVN with mgarepo and updating that to 1.7 and building a new package locally.  Currently 1.6.4 is in SVN and I requested a freeze push for it.
Comment 4 Morgan Leijström 2014-10-29 21:36:56 CET
Those are things i have not done before (not even getting something from SVN), and i have very little time to invest here currently.  Do we have some good instructions in wiki or something you can point me at?
Comment 5 David Walser 2014-10-29 21:45:51 CET
Yes, both of these pages talk about using mgarepo with anonymous SVN:
https://wiki.mageia.org/en/Packagers_Howto_start
https://wiki.mageia.org/en/Packagers_svn

The short version is, make sure the mgarepo configuration uses svn:// and not svn+ssh:// so that you have anonymous access, do "mgarepo co owncloud-client" to check the package out from SVN, cd into its directory, "urpmi --buildrequires SPECS/owncloud-client.spec" (as root) to install the BRs, and "bm -l" (as regular user) to build the package.  You'll need to install mgarepo and bm first.
Comment 6 David Walser 2014-10-29 21:47:22 CET
Also, the owncloud-client 1.6.4 update has just been built in Cauldron, so when your mirror is updated, please test it.
Comment 7 Morgan Leijström 2014-10-29 21:57:50 CET
OK thanks for the SVN + build instructions :)
For later, any hint how to upgrade it to 1.7.0 then?

Anyhow, I will begin with testing the 1.6.4 from mirror tomorrow and report back.
Comment 8 David Walser 2014-10-29 22:07:03 CET
For updating your SVN checkout, edit the SPEC file and change the version (you'll also want to reset the release tag to 1 if it isn't, but it currently is).  Download the tarball and put it into the SOURCES directory.  Due to it being an rc, there may be some issues with the naming, so you might have to play around with the Source: line if the tarball name doesn't quite match, and if the directory it extracts isn't named as expected, you'd need to edit the %setup line to make the last part match the directory name.
Comment 9 Morgan Leijström 2014-10-29 22:15:21 CET
Thank you.  Appreciated :)
Comment 10 Morgan Leijström 2014-10-29 23:48:34 CET
Already at mirror, but... Are you sure you used the right source?

$ sudo urpmi owncloud-client

    http://192.168.0.12/mageia/distrib/cauldron/x86_64/media/core/release/owncloud-client-1.6.4-1.mga5.x86_64.rpm
installerar owncloud-client-1.6.4-1.mga5.x86_64.rpm från /var/cache/urpmi/rpms                                                                                                      
Förbereder...                    ################################################################
      1/1: owncloud-client       ################################################################
bash-4.3$ owncloud -v
ownCloud version 1.5.2

-snip-

And it segfaults.
Comment 11 David Walser 2014-10-30 00:01:13 CET
Yes I'm sure.  I even confirmed that the package reports 1.6.4 when you run owncloud -v.  Maybe you have a local 1.5.2 build in your PATH?
Comment 12 Morgan Leijström 2014-10-30 01:21:14 CET
Ah yes on another computer it responds with right version and do not segfault, but have problems:
Upon start it asks to accept certificate, and asks for password, so far it is OK - but should it ask *every* time?   Then it fail to show its icon in system tray (KDE) and most importantly it fail to sync in any direction.  Starting it with option --logwindow i see it detects when i put files in ~/owncloud folder and say something like it failed to start sync session.

Maybe there are some bad settings stored somewhere from when earlier version worked before upgrade from mga4.

As for why i get wrong version on my main machine i have no clue.  Never tried to compile any owncloud except the try of 1.7.0 in comment 2...
And if i urpme it i have no owncloud, and then urpmi owncloud-client 1.6.4 results in I have 1.5.2 when I ask it... even rebooted it in despair...  both computers use same urpmi-proxy.

BTW, i noticed this 1.5.2 segfaults when connecting using http  (i use unencrypted in-house to get more speed... BTW, server is *not* set to enforce https)
But when using https it exits directly after entering the URL owncloud (no segfault) printing this at the prompt:
owncloud: symbol lookup error: owncloud: undefined symbol: _ZN6Mirall7Utility17formatFingerprintERK10QByteArrayb

But that is old stuff now.

Unfortunately a third mga5 install to a test machine borked
Next thing to do is to uninstall and clear any owncloud related on the two working mga5 installs, reboot, install, test.  Another day.
Comment 13 Morgan Leijström 2014-10-30 01:45:12 CET
Ah, got it: the installed lib64owncloudsync1 was still version 1.5.2
Can you make owncloud-client demand same version of lib64owncloudsync1 ?

-Pretty weird it reports the version of another program than you think you are asking about...!

So I updated it too, and now starting 1.6.4 it ask about certificate and password, then SEGFAULTS !   - sigh.

-However, starting it again i finally get the icon in system tray (with red status mark)

In the log window i spotted:
10-30 01:40:28:501 folderman.cpp:481 >===================================== sync started for  "ownCloud"
10-30 01:40:28:501 syncjournaldb.cpp:101 Database Drivers could not be loaded.
10-30 01:40:28:501 syncjournaldb.cpp:101 Database Drivers could not be loaded.
10-30 01:40:28:501 syncjournaldb.cpp:76 No database Transaction to commit
10-30 01:40:28:501 syncengine.cpp:454 No way to create a sync journal!


I checked on same login that i can acess my account in firefox.

Another issue: right clicking the owncloud icon in system tray, there is a popup menu, but it vanishes when i move my mous so i can not click i.e "settings..."
Comment 14 David Walser 2014-10-30 01:47:26 CET
There's also a libocsync0, make sure you have that updated as well.
Comment 15 Morgan Leijström 2014-10-30 01:51:52 CET
Oh, thanks.  It was not even installed at all!
libocsync0 also pulls dependencies, for me adding:
- libblkid1-2.25.2-1.mga5.i586
- libext2fs2-1.42.12-4.mga5.i586
- libkrb53-1.12.2-3.mga5.i586
- libneon27-0.30.0-4.mga5.i586
- libopenssl-engines1.0.0-1.0.1j-2.mga5.i586
- libopenssl1.0.0-1.0.1j-2.mga5.i586
- libsqlite3_0-3.8.6-3.mga5.i586
- libuuid1-2.25.2-1.mga5.i586
- libverto1-0.2.6-3.mga5.i586
- libxml2_2-2.9.1-10.mga5.i586
Comment 16 David Walser 2014-10-30 01:54:00 CET
Ahh, you should uninstall those.  I see you're on 64-bit, so libocsync0 is called lib64ocsync0.
Comment 17 Morgan Leijström 2014-10-30 02:03:55 CET
Doh. My grey mass was not in engaged mode.
Yes i had lib64ocsync0, in the old version, now updated.
(and removed all installed in #15)
Now i must put both myself and workstation to sleep, both need reboot...
Comment 18 Morgan Leijström 2014-10-30 09:20:28 CET
It did not get better after updating also the third owncloud part.
I get the same 
   syncjournaldb.cpp:101 Database Drivers could not be loaded.
now in three installs (one of them 32 bit)

I found that message at line 101 in source at http://code.woboq.org/owncloud/mirall/src/mirall/syncjournaldb.cpp.html

But I am not sharp enough to get deeper

Any further debug hint?
Does it work for you?

Do we miss some dependency, file or setting to include?


Another strange thing is that on the 32 bit the popup menu on the owncloud icon in taskbar works.  While on the 64 bit systems it vanishes when i move the mouse over it on one, and on the other system the icon is not even visible. (while owncloud runs but can not sync)
Comment 19 David Walser 2014-10-30 10:04:10 CET
I don't actually use OwnCloud, CC'ing the maintainer.

CC: (none) => mageia

Comment 20 Morgan Leijström 2014-10-30 10:52:50 CET
OK thanks.

About the popup menu:
If i have the panel not to autohide, it works OK, but if it autohides, it hides even when i am pointing in the popup of the owncloud systemtray icon, and the popop vanishes.

I also noticed the popup menu is rendered differently; sharp corners and bright white background, while the other icons (Dropbox, Kmail, Network) are rounded and grey.

Also, on one system there since yesterday have appeared a new not working black square systemtray icon.
Morgan Leijström 2014-10-31 08:55:34 CET

Summary: owncloud-client segfaults at connect - besides, it ought to be updated => owncloud-client 1.6.4 : "Database Drivers could not be loaded"
Source RPM: owncloud-client-1.5.2-2.mga5.src.rpm => owncloud-client-1.6.4-1.mga5.src.rpm

Manuel Hiebel 2014-11-01 19:02:30 CET

Assignee: bugsquad => mageia
Keywords: (none) => Triaged

Comment 21 Sander Lepik 2014-11-08 16:12:43 CET
Can you test again with updated owncloud-client, it now requires qtbase5-database-plugin-sqlite - installing this package made it work for me.

CC: (none) => mageia

Comment 22 Morgan Leijström 2014-11-08 22:26:58 CET
Great Sander, that update made it connect and work :)

Now the only problem i know with it is the popup menu on system tray icon not workning when using panel auto hide (in KDE).  Maybe that is an upstream problem?
Comment 23 Sander Lepik 2014-11-08 23:04:07 CET
I'd say it's an upstream bug.
Comment 24 Morgan Leijström 2014-11-09 07:50:32 CET
OK, started in their forum: https://forum.owncloud.org/viewtopic.php?f=14&t=24655
Comment 25 David Walser 2015-01-26 15:51:42 CET
This bug was fixed by Sander.

Resolution: (none) => FIXED
Status: NEW => RESOLVED

Comment 26 Morgan Leijström 2015-01-26 22:37:16 CET
Yep, and the popup menu works OK in version 1.7.1 i currently test (PCLOS rpm)
Comment 27 David Walser 2015-01-26 22:39:20 CET
(In reply to Morgan Leijström from comment #26)
> Yep, and the popup menu works OK in version 1.7.1 i currently test (PCLOS
> rpm)

Good to hear.  Please test the 1.7.1 in Cauldron core/updates_testing when you get a chance.

Note You need to log in before you can comment on or make changes to this bug.