owncloud / client

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

[Linux][Qt 5.5.0][Slackware, KDE Plasma 5.4.0] Segfault at application startup. #3769

Closed mocolini closed 9 years ago

mocolini commented 9 years ago

Expected behaviour: Normal startup

Actual behaviour: Segfault

Steps to reproduce: Start the client

Client version: 1.8.4 2.0.1 git (git/refs/heads/master: 39bff056a617b51b8e3c4fb175f3e6963d3946fe)

Operating system: Slackware, running KDE Plasma 5.4.0 and QT 5.5.0

Additional information $gdb owncloud GNU gdb (GDB) 7.9.1 Copyright (C) 2015 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-slackware-linux". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from owncloud...(no debugging symbols found)...done. (gdb) run Starting program: /usr/bin/owncloud [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7fffcebff700 (LWP 7259)] [New Thread 0x7fffd7cf9700 (LWP 7247)] [New Thread 0x7fffe3da0700 (LWP 7245)]

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffcebff700 (LWP 7259)] 0x00007fffcddc2dda in ?? () from /usr/lib64/libkdecore.so.5 (gdb) bt

0 0x00007fffcddc2dda in () at /usr/lib64/libkdecore.so.5

1 0x00007fffcdf54866 in () at /usr/lib64/libkdecore.so.5

2 0x0000006e0000005b in ()

3 0x0000000000000002 in ()

4 0x0000000000000001 in ()

5 0x00007fffcddb7f3f in _init () at /usr/lib64/libkdecore.so.5

6 0x00007fffce1fa9b0 in () at /usr/lib64/libproxy/0.4.11/modules/config_kde4.so

7 0x00007ffff7de8f5d in call_init.part () at /lib64/ld-linux-x86-64.so.2

8 0x00007ffff7de90ab in _dl_init () at /lib64/ld-linux-x86-64.so.2

9 0x00007ffff7dedf8d in dl_open_worker () at /lib64/ld-linux-x86-64.so.2

10 0x00007ffff7de8e44 in _dl_catch_error () at /lib64/ld-linux-x86-64.so.2

11 0x00007ffff7ded3b3 in _dl_open () at /lib64/ld-linux-x86-64.so.2

12 0x00007ffff293bfb9 in dlopen_doit () at /lib64/libdl.so.2

13 0x00007ffff7de8e44 in _dl_catch_error () at /lib64/ld-linux-x86-64.so.2

14 0x00007ffff293c61d in _dlerror_run () at /lib64/libdl.so.2

15 0x00007ffff293c051 in dlopen@@GLIBC_2.2.5 () at /lib64/libdl.so.2

16 0x00007fffea4fb8d5 in libmodman::module_manager::load_file(std::string, bool) () at /usr/lib64/libproxy.so.1

17 0x00007fffea4fbc63 in libmodman::module_manager::load_dir(std::string, bool) () at /usr/lib64/libproxy.so.1

18 0x00007fffea4ed35e in () at /usr/lib64/libproxy.so.1

19 0x00007fffea4ee04b in px_proxy_factory_new () at /usr/lib64/libproxy.so.1

20 0x00007ffff4076efd in QNetworkProxyFactory::systemProxyForQuery(QNetworkProxyQuery const&) ()

at /usr/lib64/libQt5Network.so.5

21 0x00007ffff741b7ca in OCC::SystemProxyRunnable::run() () at /usr/lib64/libowncloudsync.so.0

22 0x00007ffff2ffa47e in () at /usr/lib64/libQt5Core.so.5

23 0x00007ffff2ffd43f in () at /usr/lib64/libQt5Core.so.5

24 0x00007ffff0ddd704 in start_thread () at /lib64/libpthread.so.0

25 0x00007ffff10fbaed in clone () at /lib64/libc.so.6

guruz commented 9 years ago

Could you please run thread apply all bt instead of bt

mocolini commented 9 years ago

Sure, that's it:

$ gdb owncloud GNU gdb (GDB) 7.9.1 Copyright (C) 2015 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-slackware-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from owncloud...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/owncloud
[Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7fffcebff700 (LWP 2658)] [New Thread 0x7fffd7cf9700 (LWP 2624)] [New Thread 0x7fffe3da0700 (LWP 2617)]

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffcebff700 (LWP 2658)] 0x00007fffcddc2dda in ?? () from /usr/lib64/libkdecore.so.5 (gdb) thread apply all bt

Thread 4 (Thread 0x7fffe3da0700 (LWP 2617)):

0 0x00007ffff10f040d in poll () at /lib64/libc.so.6

1 0x00007fffe9e6b012 in () at /usr/lib64/libxcb.so.1

2 0x00007fffe9e6caaf in xcb_wait_for_event () at /usr/lib64/libxcb.so.1

3 0x00007fffe65c2239 in () at /usr/lib64/libQt5XcbQpa.so.5

4 0x00007ffff2ffd43f in () at /usr/lib64/libQt5Core.so.5

5 0x00007ffff0ddd704 in start_thread () at /lib64/libpthread.so.0

6 0x00007ffff10fbaed in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7fffd7cf9700 (LWP 2624)):

0 0x00007ffff10f040d in poll () at /lib64/libc.so.6

1 0x00007fffeebf18a4 in () at /usr/lib64/libglib-2.0.so.0

2 0x00007fffeebf19ac in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0

3 0x00007ffff323185c in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) ()

at /usr/lib64/libQt5Core.so.5

4 0x00007ffff31d9142 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () at /usr/lib64/libQt5Core.so.5

5 0x00007ffff2ff859c in QThread::exec() () at /usr/lib64/libQt5Core.so.5

6 0x00007ffff2ffd43f in () at /usr/lib64/libQt5Core.so.5

7 0x00007ffff0ddd704 in start_thread () at /lib64/libpthread.so.0

8 0x00007ffff10fbaed in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7fffcebff700 (LWP 2658)):

0 0x00007fffcddc2dda in () at /usr/lib64/libkdecore.so.5

1 0x00007fffcdf54866 in () at /usr/lib64/libkdecore.so.5

2 0x0000006e0000005b in ()

3 0x0000000000000002 in ()

4 0x0000000000000001 in ()

5 0x00007fffcddb7f3f in _init () at /usr/lib64/libkdecore.so.5

6 0x00007fffce1fa9b0 in () at /usr/lib64/libproxy/0.4.11/modules/config_kde4.so

7 0x00007ffff7de8f5d in call_init.part () at /lib64/ld-linux-x86-64.so.2

8 0x00007ffff7de90ab in _dl_init () at /lib64/ld-linux-x86-64.so.2

9 0x00007ffff7dedf8d in dl_open_worker () at /lib64/ld-linux-x86-64.so.2

10 0x00007ffff7de8e44 in _dl_catch_error () at /lib64/ld-linux-x86-64.so.2

11 0x00007ffff7ded3b3 in _dl_open () at /lib64/ld-linux-x86-64.so.2

---Type to continue, or q to quit---

12 0x00007ffff293bfb9 in dlopen_doit () at /lib64/libdl.so.2

13 0x00007ffff7de8e44 in _dl_catch_error () at /lib64/ld-linux-x86-64.so.2

14 0x00007ffff293c61d in _dlerror_run () at /lib64/libdl.so.2

15 0x00007ffff293c051 in dlopen@@GLIBC_2.2.5 () at /lib64/libdl.so.2

16 0x00007fffea4fb8d5 in libmodman::module_manager::load_file(std::string, bool) () at /usr/lib64/libproxy.so.1

17 0x00007fffea4fbc63 in libmodman::module_manager::load_dir(std::string, bool) () at /usr/lib64/libproxy.so.1

18 0x00007fffea4ed35e in () at /usr/lib64/libproxy.so.1

19 0x00007fffea4ee04b in px_proxy_factory_new () at /usr/lib64/libproxy.so.1

20 0x00007ffff4076efd in QNetworkProxyFactory::systemProxyForQuery(QNetworkProxyQuery const&) ()

at /usr/lib64/libQt5Network.so.5

21 0x00007ffff741b7ca in OCC::SystemProxyRunnable::run() () at /usr/lib64/libowncloudsync.so.0

22 0x00007ffff2ffa47e in () at /usr/lib64/libQt5Core.so.5

23 0x00007ffff2ffd43f in () at /usr/lib64/libQt5Core.so.5

24 0x00007ffff0ddd704 in start_thread () at /lib64/libpthread.so.0

25 0x00007ffff10fbaed in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7ffff7f80780 (LWP 2608)):

0 0x00007ffff10f040d in poll () at /lib64/libc.so.6

1 0x00007fffeebf18a4 in () at /usr/lib64/libglib-2.0.so.0

2 0x00007fffeebf19ac in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0

3 0x00007ffff323185c in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) ()

at /usr/lib64/libQt5Core.so.5

4 0x00007ffff31d9142 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () at /usr/lib64/libQt5Core.so.5

5 0x00007ffff31e0c4d in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5

6 0x000000000045d230 in main ()

dragotin commented 9 years ago

@ogoffart @ckamm do you see anything suspicious?

ckamm commented 9 years ago

The stacktrace looks different from the Fedora startup crashes. @Mocolini nevertheless try with XDG_CURRENT_DESKTOP=xfce, I'd expect the same result.

@Mocolini It seems to crash while retrieving proxy info. Do you have an unusual proxy setup?

mocolini commented 9 years ago

XDG_CURRENT_DESKTOP=xfce owncloud give segfault as well, as you stated. No, I've no unusual proxy setup.

FYI I've the same behaviour with the PC at home, same operating system (Slackware-current, running KDE Plasma 5.4.0 and QT 5.5.0).

guruz commented 9 years ago

is Qt compiled with or without libproxy support?

On 08.09.2015, at 04:08, Michelino Chionchio notifications@github.com wrote:

XDG_CURRENT_DESKTOP=xfce owncloud give segfault as well, as you stated. No, I've no unusual proxy setup.

FYI I've the same behaviour with the PC at home, same operating system (Slackware-current, running KDE Plasma 5.4.0 and QT 5.5.0).

— Reply to this email directly or view it on GitHub.

mocolini commented 9 years ago

There is no "-no-libproxy" option enabled, so libproxy should be enabled by default. Am I right?

mocolini commented 9 years ago

I can confirm that QT is compiled with libproxy support, here is a part of the compilation log:

Configuration ………. accessibility accessibility-atspi-bridge alsa audio-backend avx avx2 c++11 clock-gettime clock-monotonic compile_examples concurrent cups dbus egl egl_x11 eglfs enable_new_dtags evdev eventfd fontconfig full-config getaddrinfo getifaddrs glib gstreamer-0.10 gtk2 gtkstyle harfbuzz iconv icu inotify ipv6ifname kms large-config largefile libproxy libudev linuxfb medium-config minimal-config mremap mtdev nis nostrip opengl openssl png posix_fallocate qpa qpa reduce_exports reduce_relocations release rpath shared small-config sse2 sse3 sse4_1 sse4_2 ssse3 system-freetype system-jpeg system-png system-sqlite system-zlib xcb xcb-glx xcb-plugin xcb-render xcb-sm xcb-xlib xinput2 xkbcommon-qt xlib xrender

libproxy………….. yes

Let me know if you need the full log of compiling qt-5.5.0, the packager can provide it for us.

hellow554 commented 9 years ago

I have a archlinux, with kde plasma 5.4 as well. When I start owncloud like this

owncloud --logfile own.log --logflush

and tail -f the logfile, this shows up

09-10 18:15:09:378 7297 unknown: QSystemTrayIcon::setVisible: No Icon set

I figuered it out, that my environment variable QT_QPA_PLATFORMTHEME is the guilty one (which is set to kde). When I unset the variable owncloud starts fine. I hope this is related to this issue, elsewise I will create a new one :)

mocolini commented 9 years ago

@ckamm googling around I've found this bug report: https://bugs.kde.org/show_bug.cgi?id=323407 It seems similar to this one, considering my backtrace. Also here libproxy seems to call a kde4 lib, does it?

mocolini commented 9 years ago

Ok, Ifigured it out! I've recompiled libproxy with "-DWITH_KDE4=OFF" option and it did the trick. It was a slackware-current/kde5 problem. Everything works fine now. Thanks for your kindly attention. Michelino

EDIT: of course you can close the bug ;-)

guruz commented 9 years ago

@mocolini Great!

@punkkeks new bug please and CC @ckamm and @ogoffart in it.