owncloud / client

🖥️ Desktop Syncing Client for ownCloud
GNU General Public License v2.0
1.4k stars 663 forks source link

1.6.0 segfault on rh6 #1882

Closed moscicki closed 10 years ago

moscicki commented 10 years ago

Here is the backtrace:

Program terminated with signal 11, Segmentation fault.
#0  0x00007f75dc292064 in QSqlQuery::bindValue(QString const&, QVariant const&, QFlags) () from /opt/qt-4.8//lib64/libQtSql.so.4
Missing separate debuginfos, use: debuginfo-install owncloud-client-1.6.0-9.1.x86_64
(gdb) bt
#0  0x00007f75dc292064 in QSqlQuery::bindValue(QString const&, QVariant const&, QFlags) () from /opt/qt-4.8//lib64/libQtSql.so.4
#1  0x00007f75db803fd8 in Mirall::SyncJournalDb::blacklistEntry(QString const&) () from /opt/qt-4.8//lib64/libowncloudsync.so.0
#2  0x00007f75db7e59de in Mirall::SyncEngine::checkBlacklisting(Mirall::SyncFileItem*) () from /opt/qt-4.8//lib64/libowncloudsync.so.0
#3  0x00007f75db7e6469 in Mirall::SyncEngine::treewalkFile(csync_tree_walk_file_s*, bool) () from /opt/qt-4.8//lib64/libowncloudsync.so.0
#4  0x00007f75db5777d7 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#5  0x00007f75db5823ee in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#6  0x00007f75db582401 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#7  0x00007f75db582401 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#8  0x00007f75db5823d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#9  0x00007f75db5823d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#10 0x00007f75db582401 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#11 0x00007f75db582401 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#12 0x00007f75db582401 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#13 0x00007f75db582401 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#14 0x00007f75db5823d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#15 0x00007f75db5823d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#16 0x00007f75db582401 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#17 0x00007f75db5823d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#18 0x00007f75db5823d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#19 0x00007f75db5823d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#20 0x00007f75db5823d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#21 0x00007f75db582a8b in c_rbtree_walk () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#22 0x00007f75db5775c3 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#23 0x00007f75db7e436a in Mirall::SyncEngine::slotUpdateFinished(int) () from /opt/qt-4.8//lib64/libowncloudsync.so.0
#24 0x00007f75dbbf7dbe in QObject::event(QEvent*) () from /opt/qt-4.8//lib64/libQtCore.so.4
#25 0x00007f75dcb404cc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/qt-4.8//lib64/libQtGui.so.4
#26 0x00007f75dcb464bd in QApplication::notify(QObject*, QEvent*) () from /opt/qt-4.8//lib64/libQtGui.so.4
#27 0x00007f75dbbe632c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /opt/qt-4.8//lib64/libQtCore.so.4
#28 0x00007f75dbbea603 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /opt/qt-4.8//lib64/libQtCore.so.4
#29 0x00007f75dbc13b03 in ?? () from /opt/qt-4.8//lib64/libQtCore.so.4
#30 0x000000360303feb2 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#31 0x0000003603043d68 in ?? () from /lib64/libglib-2.0.so.0
#32 0x0000003603043f1c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#33 0x00007f75dbc13433 in QEventDispatcherGlib::processEvents(QFlags) () from /opt/qt-4.8//lib64/libQtCore.so.4
#34 0x00007f75dcbe351e in ?? () from /opt/qt-4.8//lib64/libQtGui.so.4
#35 0x00007f75dbbe5012 in QEventLoop::processEvents(QFlags) () from /opt/qt-4.8//lib64/libQtCore.so.4
#36 0x00007f75dbbe5374 in QEventLoop::exec(QFlags) () from /opt/qt-4.8//lib64/libQtCore.so.4
#37 0x00007f75dbbea9c9 in QCoreApplication::exec() () from /opt/qt-4.8//lib64/libQtCore.so.4
#38 0x0000000000432e25 in main ()

Here is the tail of the log (note that the last line in incomplete):

06-17 11:43:39:306 _csync_detect_update: file: linux-master/Documentation/networking/tlan.txt, instruction: INSTRUCTION_NONE <<=
06-17 11:43:39:306 csync_ftw: Uniq ID from Database: linux-master/Documentation/networking/dccp.txt -> 1589911262068736:8a92ea18
06-17 11:43:39:306 csync_walker: file: /home/moscicki/shared.devbox.cboxtu-inside-cernbox/linux-master/Documentation/networking/dccp.txt [file_id=]
06-17 11:43:39:306 _csync_detect_update: Database entry found, compare: 1402452996 <-> 1402452996, etag: 1589911262068736:8a92ea18 <-> 1589911262068736:8a92ea18, inode: 8005654 <-> 8005654
06-17 11:43:39:306 _csync_detect_update: file: linux-master/Documentation/networking/dccp.txt, instruction: INSTRUCTION_NONE <<=
06-17 11:43:39:306 csync_ftw: Uniq ID from Database: linux-master/Documentation/networking/xfrm_sync.txt -> 1589936763437056:9742c61e
06-17 11:43:39:306 csync_walker: file: /home/moscicki/shared.devbox.cboxtu-inside-cernbox/linux-master/Documentation/networking/xfrm_sync.txt [file_id=]
06-17 11:43:39:306 _csync_detect_update: Database entry found, compare: 1402452996 <-> 1402452996, etag: 1589936763437056:9742c61e <-> 1589936763437056:9742c61e, inode: 8005748 <-> 8005748
06-17 11:43:39:306 _csync_detect_update: file: l
dragotin commented 10 years ago

hm, the file name is "1". My first suspicion was that conversion from QString("1") to QVariant was somehow failing. But that was obviously not the case.

dragotin commented 10 years ago

is that reproduceable?

moscicki commented 10 years ago

I think the filename is rather starting with lowecase "L" -- it's "linux-master/..."

I am not sure I can reproduce it at will but I have seen the client crashing already few times. When I have more backtraces I will append to this ticket.

moscicki commented 10 years ago

I think it is pretty much reproducible -- same problem. It crashed overnight without much activity from me.

Program terminated with signal 11, Segmentation fault.
#0  0x00007f20532ce064 in QSqlQuery::bindValue(QString const&, QVariant const&, QFlags) () from /opt/qt-4.8//lib64/libQtSql.so.4
Missing separate debuginfos, use: debuginfo-install owncloud-client-1.6.0-9.1.x86_64
(gdb) backtrace
#0  0x00007f20532ce064 in QSqlQuery::bindValue(QString const&, QVariant const&, QFlags) () from /opt/qt-4.8//lib64/libQtSql.so.4
#1  0x00007f205283ffd8 in Mirall::SyncJournalDb::blacklistEntry(QString const&) () from /opt/qt-4.8//lib64/libowncloudsync.so.0
#2  0x00007f20528219de in Mirall::SyncEngine::checkBlacklisting(Mirall::SyncFileItem*) () from /opt/qt-4.8//lib64/libowncloudsync.so.0
#3  0x00007f2052822469 in Mirall::SyncEngine::treewalkFile(csync_tree_walk_file_s*, bool) () from /opt/qt-4.8//lib64/libowncloudsync.so.0
#4  0x00007f20525b37d7 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#5  0x00007f20525be3ee in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#6  0x00007f20525be401 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#7  0x00007f20525be401 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#8  0x00007f20525be3d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#9  0x00007f20525be401 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#10 0x00007f20525be3d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#11 0x00007f20525be3d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#12 0x00007f20525be3d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#13 0x00007f20525be3d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#14 0x00007f20525be3d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#15 0x00007f20525be3d9 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#16 0x00007f20525bea8b in c_rbtree_walk () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#17 0x00007f20525b35c3 in ?? () from /opt/qt-4.8/lib64/owncloud/libocsync.so.0
#18 0x00007f2052820384 in Mirall::SyncEngine::slotUpdateFinished(int) () from /opt/qt-4.8//lib64/libowncloudsync.so.0
#19 0x00007f2052c33dbe in QObject::event(QEvent*) () from /opt/qt-4.8//lib64/libQtCore.so.4
#20 0x00007f2053b7c4cc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/qt-4.8//lib64/libQtGui.so.4
#21 0x00007f2053b824bd in QApplication::notify(QObject*, QEvent*) () from /opt/qt-4.8//lib64/libQtGui.so.4
#22 0x00007f2052c2232c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /opt/qt-4.8//lib64/libQtCore.so.4
#23 0x00007f2052c26603 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /opt/qt-4.8//lib64/libQtCore.so.4
#24 0x00007f2052c4fb03 in ?? () from /opt/qt-4.8//lib64/libQtCore.so.4
#25 0x000000360303feb2 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#26 0x0000003603043d68 in ?? () from /lib64/libglib-2.0.so.0
#27 0x0000003603043f1c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#28 0x00007f2052c4f433 in QEventDispatcherGlib::processEvents(QFlags) () from /opt/qt-4.8//lib64/libQtCore.so.4
#29 0x00007f2053c1f51e in ?? () from /opt/qt-4.8//lib64/libQtGui.so.4
#30 0x00007f2052c21012 in QEventLoop::processEvents(QFlags) () from /opt/qt-4.8//lib64/libQtCore.so.4
#31 0x00007f2052c21374 in QEventLoop::exec(QFlags) () from /opt/qt-4.8//lib64/libQtCore.so.4
#32 0x00007f2052c269c9 in QCoreApplication::exec() () from /opt/qt-4.8//lib64/libQtCore.so.4
#33 0x0000000000432e25 in main ()

but this time on a different file:

06-19 01:11:35:298 _csync_detect_update: Database entry found, compare: 1402647923 <-> 1402647923, etag: 1624031824445440:c63c73e7 <-> 1624031824445440:c63c73e7, inode: 7482393 <-> 7482393
06-19 01:11:35:298 _csync_detect_update: file: alternatives/javadocdir/java/security/KeyStore.html, instruction: INSTRUCTION_NONE <<=
06-19 01:11:35:298 csync_ftw: Uniq ID from Database: alternatives/javadocdir/java/security/package-summary.html -> 1624042293428224:fe3fbb9c
06-19 01:11:35:298 csync_walker: file: /home/moscicki/share-test/alternatives/javadocdir/java/security/package-summary.html [file_id=]
06-19 01:11:35:298 _csync_detect_update: Database entry found, compare: 1402647929 <-> 1402647929, etag: 1624042293428224:fe3fbb9c <-> 1624042293428224:fe3fbb9c, inode: 7482670 <-> 7482670
06-19 01:11:35:298 _csync_detect_update: file: alternatives/javadocdir/java/security/package-summary.html, instruction: INSTRUCTION_NONE <<=
06-19 01:11:35:298 csync_ftw: Uniq ID from Database: alternatives/javadocdir/java/security/acl -> 1260541:1402649764
06-19 01:11:35:298 csync_walker: directory: /home/moscicki/share-test/alternatives/javadocdir/java/security/acl [file_id=]
06-19 01:11:35:298 _csync_detect_update: Database entry found, compare: 1402648210 <-> 1402649764, etag: 1260541:1402649764 <-> 1260541:1402649764, inode: 7561407 <-> 7561407
06-19 01:11:35:298 _csy
dragotin commented 10 years ago

Could you please post the output of rpm -qa | grep sqlite here? Maybe this is caused by an bug in the sqlite3 driver?

moscicki commented 10 years ago

Here it is:

>rpm -qf /usr/bin/owncloud
owncloud-client-1.6.0-9.1.x86_64
>rpm --requires -q owncloud-client | grep sql
libsqlite3.so.0()(64bit)  
opt-libqt4-sql  
opt-libqt4-sql-sqlite  
>ldd /opt/qt-4.8/bin/owncloud | grep sqlite
    libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 (0x0000003616800000)
>rpm -qf /usr/lib64/libsqlite3.so.0
sqlite-3.6.20-1.el6.x86_64
>rpm -qa | grep sqlite
sqlite-devel-3.6.20-1.el6.x86_64
python-sqlite2-2.3.5-2.el6.x86_64
opt-libqt4-sql-sqlite-4.8.4-1.1.x86_64
qt-sqlite-4.6.2-26.el6_4.x86_64
sqlite-3.6.20-1.el6.x86_64

And full deps of the client:

>rpm --requires -q owncloud-client
/bin/sh  
config(owncloud-client) = 1.6.0-9.1
libQtCore.so.4()(64bit)  
libQtDBus.so.4()(64bit)  
libQtGui.so.4()(64bit)  
libQtNetwork.so.4()(64bit)  
libQtSql.so.4()(64bit)  
libQtWebKit.so.4()(64bit)  
libQtXml.so.4()(64bit)  
libQtXmlPatterns.so.4()(64bit)  
libc.so.6()(64bit)  
libc.so.6(GLIBC_2.2.5)(64bit)  
libc.so.6(GLIBC_2.3.4)(64bit)  
libdl.so.2()(64bit)  
libgcc_s.so.1()(64bit)  
libgcc_s.so.1(GCC_3.0)(64bit)  
libm.so.6()(64bit)  
libneon.so.27()(64bit)  
libocsync.so.0()(64bit)  
libowncloudsync.so.0()(64bit)  
libowncloudsync0 = 1.6.0
libpthread.so.0()(64bit)  
libpthread.so.0(GLIBC_2.2.5)(64bit)  
libqtkeychain.so.0()(64bit)  
librt.so.1()(64bit)  
libsqlite3.so.0()(64bit)  
libstdc++.so.6()(64bit)  
libstdc++.so.6(CXXABI_1.3)(64bit)  
libstdc++.so.6(GLIBCXX_3.4)(64bit)  
libstdc++.so.6(GLIBCXX_3.4.11)(64bit)  
libstdc++.so.6(GLIBCXX_3.4.9)(64bit)  
oc-neon  
opt-libQtWebKit4  
opt-libqt4-sql  
opt-libqt4-sql-sqlite  
opt-libqt4-x11  
owncloud-client-l10n  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)  
rpmlib(PayloadIsXz) <= 5.2-1
moscicki commented 10 years ago

I also have an impression that on redhat 6 some dependencies must be wrong or maybe some internal csync code out-of-date. I see update detection problems which I never see repeating same tests on ubuntu.

Could you please check if all internal and external dependencies for 1.6 client on rh6 are correct?

cdamken commented 10 years ago

@lmaestro @rperezb @jnweiger Could you help me here?

luciamaestro commented 10 years ago

@moscicki Is still happening in 1.6.2 version? @cdamken how can I help?

moscicki commented 10 years ago

Hi,

I did not see this problem lately. My owncloud-client rpm version is 1.6.2-6.1

The sqlite dependencies on my OS seem to be the same as I previously reported for 1.6.0.

So I guess the crash was caused not by sqllite drivers but some bug in the owncloud client.

I think you may close this for now. I will reopen if this reappears.

dragotin commented 10 years ago

Thanks @moscicki for letting us know.

cdamken commented 10 years ago

@lmaestro Thanks, now look fine :+1: