owncloud / client

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

[1.8.4] segfault at application startup #3672

Closed Wenzel closed 9 years ago

Wenzel commented 9 years ago

Hi !

I have a segfault at application startup :

Starting program: /usr/bin/owncloud 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Detaching after fork from child process 20390.
[New Thread 0x7fffcd25e700 (LWP 20389)]
[New Thread 0x7fffda7f1700 (LWP 20388)]

Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fffda7f1700 (LWP 20388)):
#0  0x00007ffff0ddf2fd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fffe86c8182 in _xcb_conn_wait (__timeout=-1, __nfds=1, __fds=0x7fffda7f0c40) at /usr/include/bits/poll2.h:46
#2  0x00007fffe86c8182 in _xcb_conn_wait (c=c@entry=0x7d07a0, cond=cond@entry=0x7d07e0, vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:459
#3  0x00007fffe86c9c77 in xcb_wait_for_event (c=0x7d07a0) at xcb_in.c:648
#4  0x00007fffddc25999 in QXcbEventReader::run() (this=0x7dae70) at qxcbconnection.cpp:1198
#5  0x00007ffff2f9c54e in QThreadPrivate::start(void*) (arg=0x7dae70) at thread/qthread_unix.cpp:331
#6  0x00007ffff0ad3555 in start_thread (arg=0x7fffda7f1700) at pthread_create.c:333
#7  0x00007ffff0deab9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffcd25e700 (LWP 20389)):
#0  0x00007ffff0ddf2fd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff0589dbc in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fffc8003070, timeout=<optimized out>, context=0x7fffc8000990) at gmain.c:4103
#2  0x00007ffff0589dbc in g_main_context_iterate (context=context@entry=0x7fffc8000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at gmain.c:3803
#3  0x00007ffff0589ecc in g_main_context_iteration (context=0x7fffc8000990, may_block=may_block@entry=1) at gmain.c:3869
#4  0x00007ffff31d3d8f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffc80008c0, flags=...)
    at kernel/qeventdispatcher_glib.cpp:418
#5  0x00007ffff317adaa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffcd25dd40, flags=..., flags@entry=...)
    at kernel/qeventloop.cpp:204
#6  0x00007ffff2f975a4 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007ffff2f9c54e in QThreadPrivate::start(void*) (arg=0xb083d0) at thread/qthread_unix.cpp:331
#8  0x00007ffff0ad3555 in start_thread (arg=0x7fffcd25e700) at pthread_create.c:333
#9  0x00007ffff0deab9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffff7fa1880 (LWP 20384)):
#0  0x0000000000000000 in  ()
#1  0x00007ffff782bfc6 in QMenu::actionEvent(QActionEvent*) (this=0xd38120, e=0x7fffffffd4d0) at widgets/qmenu.cpp:3186
#2  0x00007ffff76ef5d8 in QWidget::event(QEvent*) (this=this@entry=0xd38120, event=event@entry=0x7fffffffd4d0) at kernel/qwidget.cpp:9034
#3  0x00007ffff7832023 in QMenu::event(QEvent*) (this=0xd38120, e=0x7fffffffd4d0) at widgets/qmenu.cpp:2650
#4  0x00007ffff76ac4ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=0x7bf700, receiver=0xd38120, e=0x7fffffffd4d0) at kernel/qapplication.cpp:3717
#5  0x00007ffff76b1976 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffd910, receiver=0xd38120, e=0x7fffffffd4d0) at kernel/qapplication.cpp:3500
#6  0x00007ffff317d61b in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fffffffd910, receiver=receiver@entry=0xd38120, event=event@entry=0x7fffffffd4d0)
    at kernel/qcoreapplication.cpp:965
#7  0x00007ffff76e6855 in QWidget::insertAction(QAction*, QAction*) (event=0x7fffffffd4d0, receiver=0xd38120) at ../../src/corelib/kernel/qcoreapplication.h:224
#8  0x00007ffff76e6855 in QWidget::insertAction(QAction*, QAction*) (this=0xd38120, before=before@entry=0x0, action=0xd42440) at kernel/qwidget.cpp:3277
#9  0x00007ffff76e69aa in QWidget::addAction(QAction*) (this=<optimized out>, action=<optimized out>) at kernel/qwidget.cpp:3228
#10 0x00000000004986f3 in OCC::ownCloudGui::setupContextMenu() (this=this@entry=0xb7fd70) at /usr/src/debug/owncloudclient-1.8.4/src/gui/owncloudgui.cpp:305
#11 0x0000000000499897 in OCC::ownCloudGui::ownCloudGui(OCC::Application*) (this=0xb7fd70, parent=<optimized out>)
    at /usr/src/debug/owncloudclient-1.8.4/src/gui/owncloudgui.cpp:70
#12 0x00000000004604d7 in OCC::Application::Application(int&, char**) (this=0x7fffffffd910, argc=<optimized out>, argv=<optimized out>)
    at /usr/src/debug/owncloudclient-1.8.4/src/gui/application.cpp:157
#13 0x00000000004501b8 in main(int, char**) (argc=1, argv=0x7fffffffdae8) at /usr/src/debug/owncloudclient-1.8.4/src/gui/main.cpp:53

Owncloud version : 1.8.4 Qt version : 5.5.0 OS : Fedora 22

The segfault appears after this call

#1  0x00007ffff782bfc6 in QMenu::actionEvent(QActionEvent*) (this=0xd38120, e=0x7fffffffd4d0) at widgets/qmenu.cpp:3186

Can you tell me if this bug is related to a bad pointer sent from Owncloud code, or a if it's an implementation bug related to Qt code ?

Thanks !

ckamm commented 9 years ago

This is very likely #3656 - a bug in Qt 5.5.0. Could you try with the current 2.0.0 rc nightly from https://build.opensuse.org/package/show/isv:ownCloud:community:nightly/owncloud-client - it has a workaround that should help.

ddeimeke commented 9 years ago

I have the same issues on Fedora 22, even when using the release candidate.

fduraibi commented 9 years ago

Same problem here, and it only happened after a recent update that included updates for Qt.

Is there a redhat bugzilla report created for this problem?

dragotin commented 9 years ago

It's important: Which release candidate did you test? There is a rc2 out there, and that is the one you should verify please.

ddeimeke commented 9 years ago

I took the recent one at time of writing.

Aug 24 17:17:28 DEBUG_2 Command: dnf install owncloud-client-2.0.0-0.3.1.rc2.x86_64.rpm libowncloudsync0-2.0.0-0.3.1.rc2.x86_64.rpm owncloud-client-l10n-2.0.0-0.3.1.rc2.x86_64.rpm
pciavald commented 9 years ago

Had the same issue with 1.8.4 for about a week, installed 2.0.0 rc2 and I still have the same issue, segfault on start. Owncloud-client 2.0.0 rc2 Owncloud-server 8.1.1 Qt 5.4.1 Ubuntu 15.04 Linux 3.18.20 x64

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff47fad38 in ?? () from /usr/lib/x86_64-linux-gnu/libQtNetwork.so.4
(gdb) backtrace 
#0  0x00007ffff47fad38 in ?? () from /usr/lib/x86_64-linux-gnu/libQtNetwork.so.4
#1  0x00007ffff47fe846 in ?? () from /usr/lib/x86_64-linux-gnu/libQtNetwork.so.4
#2  0x00007ffff4876c05 in ?? () from /usr/lib/x86_64-linux-gnu/libQtNetwork.so.4
#3  0x00007ffff442d8e1 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007ffff4f149bc in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#5  0x00007ffff4f1b4d8 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#6  0x00007ffff44141cd in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007ffff4417a71 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007ffff44436ee in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007ffff072ac3d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff072af20 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff072afcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007ffff444385e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#13 0x00007ffff4fbcc66 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#14 0x00007ffff4412d21 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#15 0x00007ffff4413085 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#16 0x00007ffff4418b09 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#17 0x00000000004506c2 in main ()
rasusmilch commented 9 years ago

Building from git commit 22d87218b7f653f30120d295c17351d67ee773d0 leads to a segfault as well.

Fedora 22, QT 5.5 Linux t550.susmilch.com 4.1.5-200.fc22.x86_64 #1 SMP Mon Aug 10 23:38:23 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

(gdb) backtrace
#0  0x0000000000000000 in  ()
#1  0x00007ffff6b7afc6 in QMenu::actionEvent(QActionEvent*) (this=0xfc2330, e=0x7fffffffd5a0) at widgets/qmenu.cpp:3186
#2  0x00007ffff6a3e5d8 in QWidget::event(QEvent*) (this=this@entry=0xfc2330, event=event@entry=0x7fffffffd5a0) at kernel/qwidget.cpp:9034
#3  0x00007ffff6b81023 in QMenu::event(QEvent*) (this=0xfc2330, e=0x7fffffffd5a0)
    at widgets/qmenu.cpp:2650
#4  0x00007ffff69fb4ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=0x85b510, receiver=0xfc2330, e=0x7fffffffd5a0)
    at kernel/qapplication.cpp:3717
#5  0x00007ffff6a00976 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffdc90, receiver=0xfc2330, e=0x7fffffffd5a0) at kernel/qapplication.cpp:3500
#6  0x00007ffff313961b in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fffffffdc90, receiver=receiver@entry=0xfc2330, event=event@entry=0x7fffffffd5a0) at kernel/qcoreapplication.cpp:965
#7  0x00007ffff6a35855 in QWidget::insertAction(QAction*, QAction*) (event=0x7fffffffd5a0, receiver=0xfc2330) at ../../src/corelib/kernel/qcoreapplication.h:224
#8  0x00007ffff6a35855 in QWidget::insertAction(QAction*, QAction*) (this=this@entry=0xfc2330, before=before@entry=0x0, action=action@entry=0xfd1260)
    at kernel/qwidget.cpp:3277
#9  0x00007ffff6a359aa in QWidget::addAction(QAction*) (this=this@entry=0xfc2330, action=action@entry=0xfd1260) at kernel/qwidget.cpp:3228
#10 0x00007ffff6b76af0 in QMenu::addAction(QString const&) (this=0xfc2330, text=...) at widgets/qmenu.cpp:1527
#11 0x00000000004fdea6 in OCC::ownCloudGui::addAccountContextMenu(QSharedPointer<OCC::AccountState>, QMenu*, bool) (this=0x988a30, accountState=..., menu=0xfc2330, separateMenu=false) at /home/rasusmilch/client/src/gui/owncloudgui.cpp:294
#12 0x00000000004fee01 in OCC::ownCloudGui::setupContextMenu() (this=0x988a30)
    at /home/rasusmilch/client/src/gui/owncloudgui.cpp:383
#13 0x00000000004fc4c2 in OCC::ownCloudGui::ownCloudGui(OCC::Application*) (this=0x988a30, parent=0x7fffffffdc90)
    at /home/rasusmilch/client/src/gui/owncloudgui.cpp:73
#14 0x00000000004b753a in OCC::Application::Application(int&, char**) (this=0x7fffffffdc90, argc=@0x7fffffffdc4c: 1, argv=0x7fffffffdf78)
    at /home/rasusmilch/client/src/gui/application.cpp:147
#15 0x00000000004a64b8 in main(int, char**) (argc=1, argv=0x7fffffffdf78)
    at /home/rasusmilch/client/src/gui/main.cpp:53
ckamm commented 9 years ago

@rasusmilch I've made a change that might help, could you build the 2.0 branch (should include commit ed28a21cb0c3c0cf6f76c6a18efd33d14bab4098) and try again?

guruz commented 9 years ago

@rasusmilch Did you have any chance to test?

rasusmilch commented 9 years ago

@ckamm @guruz I was asleep, it was night time here. I'm also going back to school for Computer Science while working with a family, so please be patient.

I am git illiterate. I believe I have changed my code to the 2.0 branch.

I did a git branch -f 2.0 and then git pull origin 2.0 which gave me many file changes 119 files changed, 11686 insertions(+), 9537 deletions(-).

Issuing git log results in seeing @ckamm commit

commit 2d421a827544b118a9285cf3ff75cd317016bddc
Author: Klaas Freitag <freitag@owncloud.com>
Date:   Tue Aug 25 10:24:52 2015 +0200

    Push version on to 2.0.1 git

commit ed28a21cb0c3c0cf6f76c6a18efd33d14bab4098
Author: Christian Kamm <mail@ckamm.de>
Date:   Tue Aug 25 09:46:03 2015 +0200

    Tray: Hide while modifying menus #3656 #3672

    This may help workaround the dbus tray issue in Qt 5.5.0.

commit 3db0db451e5c097b9b45dcc32f157760a8c16665
Author: Jenkins for ownCloud <owncloud-bot@tmit.eu>
Date:   Tue Aug 25 02:19:17 2015 -0400

    [tx-robot] updated from transifex

commit 035e57cf37e4218ee1196e6f6c00a0803b8d8d88
Author: Christian Kamm <mail@ckamm.de>
Date:   Fri Aug 21 11:46:38 2015 +0200

    AddFolder: Improve remote path selection error handling #3573

Running a make clean in the client-build directory, along with a cmake and then make results in this backtrace with a segfault still.

(gdb) backtrace
#0  0x0000000000000000 in  ()
#1  0x00007ffff6b79fc6 in QMenu::actionEvent(QActionEvent*) (this=0xfa4d60, e=0x7fffffffd5a0) at widgets/qmenu.cpp:3186
#2  0x00007ffff6a3d5d8 in QWidget::event(QEvent*) (this=this@entry=0xfa4d60, event=event@entry=0x7fffffffd5a0) at kernel/qwidget.cpp:9034
#3  0x00007ffff6b80023 in QMenu::event(QEvent*) (this=0xfa4d60, e=0x7fffffffd5a0)
    at widgets/qmenu.cpp:2650
#4  0x00007ffff69fa4ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=0x861510, receiver=0xfa4d60, e=0x7fffffffd5a0)
    at kernel/qapplication.cpp:3717
#5  0x00007ffff69ff976 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffdc90, receiver=0xfa4d60, e=0x7fffffffd5a0) at kernel/qapplication.cpp:3500
#6  0x00007ffff313861b in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fffffffdc90, receiver=receiver@entry=0xfa4d60, event=event@entry=0x7fffffffd5a0) at kernel/qcoreapplication.cpp:965
#7  0x00007ffff6a34855 in QWidget::insertAction(QAction*, QAction*) (event=0x7fffffffd5a0, receiver=0xfa4d60) at ../../src/corelib/kernel/qcoreapplication.h:224
#8  0x00007ffff6a34855 in QWidget::insertAction(QAction*, QAction*) (this=this@entry=0xfa4d60, before=before@entry=0x0, action=action@entry=0xf8e280)
    at kernel/qwidget.cpp:3277
#9  0x00007ffff6a349aa in QWidget::addAction(QAction*) (this=this@entry=0xfa4d60, action=action@entry=0xf8e280) at kernel/qwidget.cpp:3228
#10 0x00007ffff6b75af0 in QMenu::addAction(QString const&) (this=0xfa4d60, text=...) at widgets/qmenu.cpp:1527
#11 0x0000000000500b92 in OCC::ownCloudGui::addAccountContextMenu(QSharedPointer<OCC::AccountState>, QMenu*, bool) (this=0xac1380, accountState=..., menu=0xfa4d60, separateMenu=false) at /home/rasusmilch/client/src/gui/owncloudgui.cpp:308
#12 0x0000000000501b08 in OCC::ownCloudGui::setupContextMenu() (this=0xac1380)
    at /home/rasusmilch/client/src/gui/owncloudgui.cpp:403
#13 0x00000000004ff1ae in OCC::ownCloudGui::ownCloudGui(OCC::Application*) (this=0xac1380, parent=0x7fffffffdc90)
    at /home/rasusmilch/client/src/gui/owncloudgui.cpp:73
#14 0x00000000004b8c84 in OCC::Application::Application(int&, char**) (this=0x7fffffffdc90, argc=@0x7fffffffdc4c: 1, argv=0x7fffffffdf78)
    at /home/rasusmilch/client/src/gui/application.cpp:147
#15 0x00000000004a7a98 in main(int, char**) (argc=1, argv=0x7fffffffdf78)
    at /home/rasusmilch/client/src/gui/main.cpp:53

If I have done something wrong, please advise. I have not learned git, and there always seems to be insufficient tutorials on this tool when I attempt to use it.

rasusmilch commented 9 years ago

If I downgrade qt5-qtbase from 5.5 to 5.4.1 ownCloud client starts chugging along working fine, so it is clearly related to one of the packages

Transaction ID : 73
Begin time     : Sat Aug 29 10:46:59 2015
Begin rpmdb    : 3382:6e3113e151ec9e734a6cb4e92d4bda79586b7f6f
End time       :            10:47:15 2015 (16 seconds)
End rpmdb      : 3382:a16b402c0594b27825347b82e74092456a327e02 **
User           : Robert Susmilch <rasusmilch>
Return-Code    : Success
Command Line   : downgrade --allowerasing qt5-qtbase
Transaction performed with:
    Installed     dnf-1.1.0-2.fc22.noarch     @updates
    Installed     rpm-4.12.0.1-12.fc22.x86_64 @updates
Packages Altered:
    Erase      qt5-designer-5.5.0-4.fc22.x86_64                        (unknown)
    Erase      qt5-linguist-5.5.0-4.fc22.x86_64                        (unknown)
    Erase      qt5-qhelpgenerator-5.5.0-4.fc22.x86_64                  (unknown)
    Downgrade  qt5-qtbase-5.4.1-15.fc22.x86_64                         @fedora
    Downgraded            5.5.0-15.fc22.x86_64                         @updates
    Downgrade  qt5-qtbase-common-5.4.1-15.fc22.noarch                  @fedora
    Downgraded                   5.5.0-15.fc22.noarch                  @updates
    Downgrade  qt5-qtbase-devel-5.4.1-15.fc22.x86_64                   @fedora
    Downgraded                  5.5.0-15.fc22.x86_64                   (unknown)
    Downgrade  qt5-qtbase-gui-5.4.1-15.fc22.x86_64                     @fedora
    Downgraded                5.5.0-15.fc22.x86_64                     @updates
    Downgrade  qt5-qtdeclarative-5.4.1-4.fc22.x86_64                   @fedora
    Downgraded                   5.5.0-3.fc22.x86_64                   @updates
    Downgrade  qt5-qtdeclarative-devel-5.4.1-4.fc22.x86_64             @fedora
    Downgraded                         5.5.0-3.fc22.x86_64             (unknown)
    Downgrade  qt5-qtgraphicaleffects-5.4.1-2.fc22.x86_64              @fedora
    Downgraded                        5.5.0-2.fc22.x86_64              @updates
    Downgrade  qt5-qtlocation-5.4.1-2.fc22.x86_64                      @fedora
    Downgraded                5.5.0-3.fc22.x86_64                      @updates
    Downgrade  qt5-qtmultimedia-5.4.1-2.fc22.x86_64                    @fedora
    Downgraded                  5.5.0-3.fc22.x86_64                    @updates
    Downgrade  qt5-qtquickcontrols-5.4.1-2.fc22.x86_64                 @fedora
    Downgraded                     5.5.0-3.fc22.x86_64                 @updates
    Downgrade  qt5-qtscript-5.4.1-2.fc22.x86_64                        @fedora
    Downgraded              5.5.0-3.fc22.x86_64                        @updates
    Downgrade  qt5-qtsensors-5.4.1-2.fc22.x86_64                       @fedora
    Downgraded               5.5.0-3.fc22.x86_64                       @updates
    Downgrade  qt5-qtsvg-5.4.1-2.fc22.x86_64                           @fedora
    Downgraded           5.5.0-3.fc22.x86_64                           @updates
    Downgrade  qt5-qttools-5.4.1-2.fc22.x86_64                         @fedora
    Downgraded             5.5.0-4.fc22.x86_64                         @updates
    Downgrade  qt5-qttools-common-5.4.1-2.fc22.noarch                  @fedora
    Downgraded                    5.5.0-4.fc22.noarch                  @updates
    Downgrade  qt5-qttools-devel-5.4.1-2.fc22.x86_64                   @fedora
    Downgraded                   5.5.0-4.fc22.x86_64                   (unknown)
    Downgrade  qt5-qttools-libs-clucene-5.4.1-2.fc22.x86_64            @fedora
    Downgraded                          5.5.0-4.fc22.x86_64            (unknown)
    Downgrade  qt5-qttools-libs-designer-5.4.1-2.fc22.x86_64           @fedora
    Downgraded                           5.5.0-4.fc22.x86_64           @updates
    Downgrade  qt5-qttools-libs-designercomponents-5.4.1-2.fc22.x86_64 @fedora
    Downgraded                                     5.5.0-4.fc22.x86_64 (unknown)
    Downgrade  qt5-qttools-libs-help-5.4.1-2.fc22.x86_64               @fedora
    Downgraded                       5.5.0-4.fc22.x86_64               (unknown)
    Downgrade  qt5-qtwebkit-5.4.1-5.fc22.x86_64                        @fedora
    Downgraded              5.5.0-4.fc22.x86_64                        @updates
    Downgrade  qt5-qtwebkit-devel-5.4.1-5.fc22.x86_64                  @fedora
    Downgraded                    5.5.0-4.fc22.x86_64                  (unknown)
    Downgrade  qt5-qtx11extras-5.4.1-2.fc22.x86_64                     @fedora
    Downgraded                 5.5.0-2.fc22.x86_64                     @updates
    Downgrade  qt5-qtxmlpatterns-5.4.1-2.fc22.x86_64                   @fedora
    Downgraded                   5.5.0-3.fc22.x86_64                   @updates
    Downgrade  qt5-qtxmlpatterns-devel-5.4.1-2.fc22.x86_64             @fedora
    Downgraded                         5.5.0-3.fc22.x86_64             (unknown)

Referencing the above bug #3679 can I assume this is not going to be fixed by ownCloud and it dependent on Fedora fixing qt5?

guruz commented 9 years ago

Suggestion: Make some noise on https://bugzilla.redhat.com/show_bug.cgi?id=1257679 :-)

pciavald commented 9 years ago
~ » qmake -v
QMake version 3.0
Using Qt version 5.4.1 in /usr/lib/x86_64-linux-gnu
~ » owncloud --version
ownCloud version 2.0.0 rc2
~ » owncloud      
[1]    4953 segmentation fault (core dumped)  owncloud
~ » qmake -v
QMake version 3.0
Using Qt version 5.4.1 in /usr/lib/x86_64-linux-gnu
~ » owncloud --version
ownCloud version 2.0.0
~ » owncloud      
[1]    3892 segmentation fault (core dumped)  owncloud
~ » qmake -v
QMake version 3.0
Using Qt version 5.4.1 in /usr/lib/x86_64-linux-gnu
~ » owncloud --version
ownCloud version 1.8.4
~ » owncloud      
[1]    5627 segmentation fault (core dumped)  owncloud
~ » qmake -v
QMake version 3.0
Using Qt version 5.4.1 in /usr/lib/x86_64-linux-gnu
~ » owncloud --version
ownCloud version 1.6.4
~ » owncloud
OK

The last one is working. Ubuntu 15.04 mate 3.18.20 x86_64 apt-get install qt5-default [ubuntu repositories : 5.4.1] apt-get install owncloud-client [ubuntu repositories : 1.7.0~beta1+really1.6.4+dfsg-1]

Installing 1.8.4 or 2.0.0-1 from the openSUSE repositories, or 2.0.0 rc2 from source, is not working.

ckamm commented 9 years ago

Okay, this seems to be mostly about Qt 5.5.0 on Fedora 22.

@pciavald, your problem doesn't fit the pattern because it also applies to older Qt versions on Ubuntu. Your backtrace looks similar though, so I'm not sure what's going on.

@rasusmilch I don't have a fedora vm yet, so it'd be awesome if you could run another test for me:

  1. Verify that you're building against Qt 5.5.0 qmake -v
  2. Verify that you're running against Qt 5.5.0 bin/owncloud --logfile - | grep 'Using Qt'
  3. Try using Qt 5.5.0 from the Qt SDK.
    1. Download installer from http://www.qt.io/download-open-source/
    2. Install Qt 5.5.0 (you can deselect as much of the other stuff as you want)
    3. Run the client with LD_LIBRARY_PATH=~/Qt/5.5/gcc_64/lib bin/owncloud --logfile - | grep 'Using Qt'

That's what I am using for testing and it works fine. If it stops crashing for you, it must be something in the Fedora Qt 5.5.0 version - if it continues crashing (which seems more likely) something else is interacting with it.

ckamm commented 9 years ago

@rasusmilch I got myself a Fedora 22 VM and use my own owncloud binary with the Qt 5.5.0 there and don't observe problems. What tray implementation do you use? For me the tray icon appears in the lower left corner of the screen. (Please test with stock Qt 5.5.0 anyway)

AndyTapster commented 9 years ago

Using ckamm's instructions about using Qt SDK, I tried this and can confirm that there is no crash.

For reference, with the F22 Qt 5.5, and using Plasma as my desktop env, the crash is reproducable on multiple different systems. Reverting to F22 / Qt 5.4.1 stops the crashing.

ckamm commented 9 years ago

@AndyTapster You are saying it crashes with F22 Qt 5.5.0 but does not crash with the Qt 5.5.0 from the Qt SDK?

AndyTapster commented 9 years ago

@ckamm Exactly that, yes. I've also reported this to the Fedora ticket https://bugzilla.redhat.com/show_bug.cgi?id=1257679

rasusmilch commented 9 years ago

@ckamm. Tray implementation? I have the task bar at the top of the screen due to constantly hitting things down below while working. The system tray is in the upper left. KDE 5 with plasma.

I do export PATH=~/Qt/5.5/gcc_64/bin/:$PATH and get qmake to show in my path, otherwise my options are qmake-qt4 and qmake-qt5

I cannot get ownCloud to compile against Qt5.5, keeps reverting to 5.4.1. I have tried multiple invocations of the following, CMAKE_PREFIX_PATH=~/Qt/5.5/gcc_64/lib/cmake/ LD_LIBRARY_PATH=~/Qt/5.5/gcc_64/lib cmake -cCMAKE_PREFIX_PATH=~/Qt/5.5/gcc_64/lib/cmake/ -cDCMAKE_BUILD_TYPE="debug" ../../client while moving around the different options to attempt to force the stupid thing to use Qt5.5.

I did try your command the first time, but as I said it did not use 5.5.

ckamm commented 9 years ago

@AndyTapster @rasusmilch Thanks for the extra tests! I have a potential fix at https://bugreports.qt.io/browse/QTBUG-47863 - if you have a Qt build set up already, you could test that. I'll also get KDE5 in my Fedora VM and will try to reproduce it tomorrow.

rasusmilch commented 9 years ago

@ckamm what command do I use during the cmake to force the use of ~/Qt/5.5/... Cmake continues to state it's using the system version of 5.4.1

ckamm commented 9 years ago

@rasusmilch What I did was cmake -DCMAKE_PREFIX_PATH=/home/myuser/QtSDK/5.5/gcc_64. You should also be able to run something that was compiled with Qt 5.4.1 against 5.5.0 with LD_LIBRARY_PATH (unless your binary has an RPATH and no RUNPATH?).

Right now I think the best bet is to try to come up with a workaround until the problem is fixed inside Qt. Maybe we should just use a minimal and unchanging tray menu when Qt 5.5.0 is detected.

rasusmilch commented 9 years ago

@ckamm Here is the install path $ pwd /home/rasusmilch/Qt/5.5/gcc_64

I then run this along with corresponding output, where am I going wrong with the build version for overriding?

cmake -DCMAKE_PREFIX_PATH=/home/rasusmilch/Qt/5.5/gcc_64 /home/rasusmilch/client/
-- Build of crashreporter disabled.
-- Found Qt5 core, checking for further dependencies...
-- Using Qt 5!
-- GIT_SHA1 61f8e19c731975b452c3d0150f40a23a2fc451a9
-- Using Qt 5.4.x
-- We would not require Neon in this setup, compile without!
-- Could NOT find INOTIFY (missing:  INOTIFY_LIBRARY_DIR) 
-- Found SQLite3: /usr/lib64/libsqlite3.so (Required is at least version "3.8.0") 
CMake Warning (dev) at cmake/modules/CheckPrototypeDefinition.cmake:43 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "HAVE_ICONV_CONST" will no longer be dereferenced
  when the policy is set to NEW.  Since the policy is not set the OLD
  behavior will be used.
Call Stack (most recent call first):
  cmake/modules/FindIconv.cmake:55 (check_prototype_definition)
  csync/CMakeLists.txt:22 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found SQLite3: /usr/lib64/libsqlite3.so;/usr/lib64/libsqlite3.so (Required is at least version "3.8.0") 
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE) 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/rasusmilch/client/client-build

To me this output says it will use Qt5.4.x... NOT Qt5.5.

I think it would be beneficial to verify on a working (ie, updates, software installed, user interaction) system versus a fresh install in a VM, but maybe I'm wrong?

Also I am wondering if @AndyTapster did what I initially did and rebuilt it for the old Qt5.4 version before I caught the previous output.

rasusmilch commented 9 years ago

@ckamm Since you stated that you can use Qt5.5 regardless of what it was built with, I launched owncloud with LD_LIBRARY_PATH=/home/rasusmilch/Qt/5.5/gcc_64/lib owncloud --logfile log.txt

The tray context menu shows, but nothing interacts when clicked. Clicking help, settings, etc, does nothing. Clicking quit ends with a segmentation fault. Left clicking the icon does bring up the owncloud application though.

Grepping the log for Qt turns up only those things that have "qt" in the hash (I'm assuming).

Grepping your phrase, $ grep -i "using qt" log.txt returns nothing. Unless you are confusing "Using Qt" from the CMAKE step, that line does occur.

ckamm commented 9 years ago

@rasusmilch It works for me with -DCMAKE_PREFIX_PATH=/home/myuser/Q/5.5/gcc_64. Are you using a fresh build directory (cmake is often picky), and a full, absolute path?

The client writes a line like this to log.txt: 07-17 13:13:56:293 0x148e8b0 syncengine.cpp:604 =====Using Qt 5.5.0 - that's what I was hoping to grep for. Maybe you have no account/folder configured? It only emits that when a sync run starts. You can check what libraries are loaded more easily with LD_LIBRARY_PATH=/home/rasusmilch/Qt/5.5/gcc_64/lib ldd owncloud.

AndyTapster commented 9 years ago

@rasusmilch I didn't do any rebuilding at all.

I had the standard F22 Qt, with the released owncloud-client from the F22 repo, and it crashed.

I installed pre-built Qt 5.5.0 from the Qt download page, executed the LD_LIBRARY_PATH=... as documented above, and it worked.

ckamm commented 9 years ago

@rasusmilch @AndyTapster For me running with XDG_CURRENT_DESKTOP=xfce is a workaround. Can you confirm?

It seems to be related to /usr/lib64/qt5/plugins/platformthemes/KDEPlatwormTheme.so.

AndyTapster commented 9 years ago

@ckamm confirmed here too.

ckamm commented 9 years ago

Summary:

gjanssens commented 9 years ago

This morning I happened to find a bugreport in the Redhat bugtracker about this frameworkintegration and was about to test the proposed workaround mentioned in it. The bug is https://bugzilla.redhat.com/show_bug.cgi?id=1255902 It appears to affect other programs than the owncloud-client as well.

ckamm commented 9 years ago

@gjanssens Thank you, it's great to see a patch is already on its way. @AndyTapster @rasusmilch I'd close this issue once you've verified it works with the new kf5-frameworkintegration package.

AndyTapster commented 9 years ago

The update is still not available in updates-testing, but once it is then I'll check it.

AndyTapster commented 9 years ago

I can confirm the crash has gone with the kf5-frameworkintegration upgrade

ckamm commented 9 years ago

@AndyTapster Thanks for checking!

pciavald commented 9 years ago

@ckamm Sorry for noobism, but my issue is still unsolved ; should I open a new issue about it ?

guruz commented 9 years ago

@pciavald Can you open a new issue, make sure to thread apply all bt and assign to @ckamm .. thanks

pciavald commented 9 years ago

@guruz @ckamm I can't seem to assign someone to issue #3847