Bug 387638 - kbibtex for kde5 crashes at start in fc27
Summary: kbibtex for kde5 crashes at start in fc27
Status: RESOLVED FIXED
Alias: None
Product: KBibTeX
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Thomas Fischer
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2017-12-06 09:11 UTC by Amaro
Modified: 2018-02-11 20:29 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 0.8
Sentry Crash Report:


Attachments
First check of qtoauth-qt5, only then for qtoauth (1.49 KB, patch)
2018-01-14 20:31 UTC, Thomas Fischer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Amaro 2017-12-06 09:11:03 UTC
Application: kbibtex (Git revision dabfd205 (master))

Qt Version: 5.9.2
Frameworks Version: 5.40.0
Operating System: Linux 4.13.16-302.fc27.x86_64 x86_64
Distribution: "Fedora release 27 (Twenty Seven)"

-- Information about the crash:
- What I was doing when the application crashed:
compiled from kbibtex-master and installed
launch from shell crashes with message
kbibtex
KCrash: Application 'kbibtex' crashing...
KCrash: Attempting to start /usr/libexec/drkonqi from kdeinit
sock_file=/run/user/1002/kdeinit5__0

[1]+  Stopped                 kbibtex

The crash can be reproduced every time.

-- Backtrace:
Application: KBibTeX (kbibtex), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f628d6a5900 (LWP 2779))]

Thread 11 (Thread 0x7f623edf3700 (LWP 2789)):
#0  0x00007f6276d4a434 in g_mutex_unlock () at /lib64/libglib-2.0.so.0
#1  0x00007f6276d0442c in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#2  0x00007f6276d04e0b in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#3  0x00007f6276d04fec in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#4  0x00007f627dc7a35b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f627dc280ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f627da798ba in QThread::exec() () at /lib64/libQt5Core.so.5
#7  0x00007f6286bb2479 in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#8  0x00007f627da7db92 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#9  0x00007f627c148609 in start_thread () at /lib64/libpthread.so.0
#10 0x00007f627ce1be6f in clone () at /lib64/libc.so.6

Thread 10 (Thread 0x7f623f7fe700 (LWP 2788)):
#0  0x00007f627c14ec3b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f625b4b397b in thread_function () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f625b4b37f7 in impl_thrd_routine () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f627c148609 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f627ce1be6f in clone () at /lib64/libc.so.6

Thread 9 (Thread 0x7f623ffff700 (LWP 2787)):
#0  0x00007f627c14ec3b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f625b4b397b in thread_function () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f625b4b37f7 in impl_thrd_routine () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f627c148609 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f627ce1be6f in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7f6254bb7700 (LWP 2786)):
#0  0x00007f627c14ec3b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f625b4b397b in thread_function () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f625b4b37f7 in impl_thrd_routine () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f627c148609 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f627ce1be6f in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f62553b8700 (LWP 2785)):
#0  0x00007f627c14ec3b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f625b4b397b in thread_function () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f625b4b37f7 in impl_thrd_routine () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f627c148609 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f627ce1be6f in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f6255bb9700 (LWP 2784)):
#0  0x00007f627c14ec3b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f625b4b397b in thread_function () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f625b4b37f7 in impl_thrd_routine () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f627c148609 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f627ce1be6f in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f62563ba700 (LWP 2783)):
#0  0x00007f627c14ec3b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f625b4b397b in thread_function () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f625b4b37f7 in impl_thrd_routine () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f627c148609 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f627ce1be6f in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f6256bbb700 (LWP 2782)):
#0  0x00007f627c14ec3b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f625b4b397b in thread_function () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f625b4b37f7 in impl_thrd_routine () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f627c148609 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f627ce1be6f in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f62573bc700 (LWP 2781)):
#0  0x00007f627c14ec3b in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f625b4b397b in thread_function () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f625b4b37f7 in impl_thrd_routine () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f627c148609 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f627ce1be6f in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f6264861700 (LWP 2780)):
#0  0x00007f627ce0f8bb in poll () at /lib64/libc.so.6
#1  0x00007f6275437fe7 in _xcb_conn_wait () at /lib64/libxcb.so.1
#2  0x00007f6275439dda in xcb_wait_for_event () at /lib64/libxcb.so.1
#3  0x00007f6266b75a49 in QXcbEventReader::run() () at /lib64/libQt5XcbQpa.so.5
#4  0x00007f627da7db92 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007f627c148609 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f627ce1be6f in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f628d6a5900 (LWP 2779)):
[KCrash Handler]
#6  0x00007f627cdb87a5 in __memmove_sse2_unaligned_erms () at /lib64/libc.so.6
#7  0x00007f627afad5aa in QByteArray::realloc(int) () at /lib64/libQtCore.so.4
#8  0x00007f628b96b902 in QDebug::~QDebug() () at /lib64/libqoauth.so.1
#9  0x00000000004227ec in main(int, char**) (argc=1, argv=0x7ffccef9da58) at /home/amaro/Downloads/kbibtex/src/program/program.cpp:61

Reported using DrKonqi
Comment 1 Thomas Fischer 2017-12-12 10:46:02 UTC
I cannot confirm this bug yet, but I may install Fedora in a virtual machine for further testing.
Comment 2 Thomas Fischer 2018-01-08 19:34:59 UTC
(In reply to Amaro from comment #0)
> Application: kbibtex (Git revision dabfd205 (master))
> 
> Qt Version: 5.9.2
> Frameworks Version: 5.40.0
> Operating System: Linux 4.13.16-302.fc27.x86_64 x86_64
> Distribution: "Fedora release 27 (Twenty Seven)"

I set up a virtual machine with a fresh installation of Fedora 27, installing a Plasma desktop, and finally installing the necessary packages to compile and run KBibTeX.
KBibTeX complied without errors, launching was successful as well.

Qt Version: 5.9.2
Frameworks Version: 5.41.0
Linux kernel: 4.14.11-300.fc27.x86_64

Suggestions to continue from here:
- Create a new user account on the same machine where you failed to run KBibTeX, try to compile and run KBibTeX there.
- Setup a new Fedora 27 machine, either physically or virtual, try to compile and run KBibTeX there.

If you succeed with either of above alternatives, try to narrow down the difference to the setup where running KBibTeX failed. The Fedora folks may be able to help you there.
Comment 3 Amaro 2018-01-10 16:12:36 UTC
(In reply to Thomas Fischer from comment #2)
> (In reply to Amaro from comment #0)
> > Application: kbibtex (Git revision dabfd205 (master))
> > 
> > Qt Version: 5.9.2
> > Frameworks Version: 5.40.0
> > Operating System: Linux 4.13.16-302.fc27.x86_64 x86_64
> > Distribution: "Fedora release 27 (Twenty Seven)"
> 
> I set up a virtual machine with a fresh installation of Fedora 27,
> installing a Plasma desktop, and finally installing the necessary packages
> to compile and run KBibTeX.
> KBibTeX complied without errors, launching was successful as well.
> 
> Qt Version: 5.9.2
> Frameworks Version: 5.41.0
> Linux kernel: 4.14.11-300.fc27.x86_64
> 
> Suggestions to continue from here:
> - Create a new user account on the same machine where you failed to run
> KBibTeX, try to compile and run KBibTeX there.
> - Setup a new Fedora 27 machine, either physically or virtual, try to
> compile and run KBibTeX there.
> 
> If you succeed with either of above alternatives, try to narrow down the
> difference to the setup where running KBibTeX failed. The Fedora folks may
> be able to help you there.

Hello

Thanks for the help. I did try and create a new user and compile the master branch of kbibtex from

git clone git://anongit.kde.org/kbibtex -b master

then 

cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=debug ../kbibtex

which outputs:

-- Unity build disabled (default), use option UNITY_BUILD to enable it
-- Found ICU 57.1.0
-- Found Qca-qt5 2.1.3 and QtOAuth
-- Found both QtWebEngine and QtWebKit, preferring to use QtWebEngine
-- The following OPTIONAL packages have been found:

 * Qt5Qml (required version >= 5.9.2)
 * Qt5Quick (required version >= 5.9.2)
 * Qt5WebChannel (required version >= 5.9.2)
 * Qt5Positioning (required version >= 5.9.2)
 * Qt5WebEngineCore (required version >= 5.9.2)
 * Qt5PrintSupport (required version >= 5.9.2)
 * Qt5WebEngineWidgets (required version >= 5.6.0)
 * Qt5WebKitWidgets (required version >= 5.6.0)
 * KF5DocTools
 * PkgConfig
 * Qca-qt5 (required version >= 2.1.0)
 * QtOAuth
 * SharedMimeInfo, A database of common MIME types, <http://freedesktop.org/wiki/Software/shared-mime-info/>

-- The following REQUIRED packages have been found:

 * ECM (required version >= 5.19)
 * Qt5Core
 * Qt5Gui (required version >= 5.9.2)
 * Qt5Widgets
 * Qt5Network
 * Qt5XmlPatterns
 * Qt5 (required version >= 5.6.0)
 * Qt5Test (required version >= 5.6.0)
 * Gettext
 * PythonInterp
 * KF5I18n (required version >= 5.26.0)
 * KF5XmlGui (required version >= 5.26.0)
 * KF5KIO (required version >= 5.26.0)
 * KF5IconThemes (required version >= 5.26.0)
 * KF5ItemViews (required version >= 5.26.0)
 * KF5Completion (required version >= 5.26.0)
 * KF5Parts (required version >= 5.26.0)
 * KF5CoreAddons (required version >= 5.26.0)
 * KF5Service (required version >= 5.26.0)
 * KF5Wallet (required version >= 5.26.0)
 * KF5Crash (required version >= 5.26.0)
 * KF5 (required version >= 5.26.0)
 * Poppler, A PDF rendering library, <http://poppler.freedesktop.org>
 * ICU

-- Configuring done
CMake Warning (dev) in src/program/CMakeLists.txt:
  Policy CMP0071 is not set: Let AUTOMOC and AUTOUIC process GENERATED files.
  Run "cmake --help-policy CMP0071" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  For compatibility, CMake is excluding the GENERATED source file(s):

    "/home/amaro/Downloads/kbibtex-master/kbibtex/src/version.h"

  from processing by AUTOMOC.  If any of the files should be processed, set
  CMP0071 to NEW.  If any of the files should not be processed, explicitly
  exclude them by setting the source file property SKIP_AUTOMOC:

    set_property(SOURCE file.h PROPERTY SKIP_AUTOMOC ON)

This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in src/parts/CMakeLists.txt:
  Policy CMP0071 is not set: Let AUTOMOC and AUTOUIC process GENERATED files.
  Run "cmake --help-policy CMP0071" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  For compatibility, CMake is excluding the GENERATED source file(s):

    "/home/amaro/Downloads/kbibtex-master/kbibtex/src/parts/version.h"

  from processing by AUTOMOC.  If any of the files should be processed, set
  CMP0071 to NEW.  If any of the files should not be processed, explicitly
  exclude them by setting the source file property SKIP_AUTOMOC:

    set_property(SOURCE file.h PROPERTY SKIP_AUTOMOC ON)

This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in src/test/CMakeLists.txt:
  Policy CMP0071 is not set: Let AUTOMOC and AUTOUIC process GENERATED files.
  Run "cmake --help-policy CMP0071" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  For compatibility, CMake is excluding the GENERATED source file(s):

    "/home/amaro/Downloads/kbibtex-master/kbibtex/src/test/version.h"

  from processing by AUTOMOC.  If any of the files should be processed, set
  CMP0071 to NEW.  If any of the files should not be processed, explicitly
  exclude them by setting the source file property SKIP_AUTOMOC:

    set_property(SOURCE file.h PROPERTY SKIP_AUTOMOC ON)

This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in src/test/CMakeLists.txt:
  Policy CMP0071 is not set: Let AUTOMOC and AUTOUIC process GENERATED files.
  Run "cmake --help-policy CMP0071" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  For compatibility, CMake is excluding the GENERATED source file(s):

    "/home/amaro/Downloads/kbibtex-master/kbibtex/src/test/version.h"

  from processing by AUTOMOC.  If any of the files should be processed, set
  CMP0071 to NEW.  If any of the files should not be processed, explicitly
  exclude them by setting the source file property SKIP_AUTOMOC:

    set_property(SOURCE file.h PROPERTY SKIP_AUTOMOC ON)

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /home/amaro/Downloads/kbibtex-master/kbibtex




then

sudo make install

The same error occurs as before, and kbibtex crashes at the start.

Best regards

Amaro
Comment 4 Amaro 2018-01-11 12:35:41 UTC
Hello

Figured it out. Had to remove the optional packages qoauth and qoauth-devel  2.0.0-4.fc27, recompiled kbibtex for kf5 and it works. Minor aspect is that installation creates a non-standard /usr/lib64/plugins directory solely for kbibtexpart.so even though all other plugins for qt5 are in /usr/lib64/qt5/plugins, had to create a symbolic link there.

Thanks.

Amaro
Comment 5 Thomas Fischer 2018-01-14 20:31:04 UTC
Created attachment 109863 [details]
First check of qtoauth-qt5, only then for qtoauth

It may be an issue that during configuration (cmake phase), KBibTeX is configured to look for the 'qtoauth' library instead of 'qtoauth-qt5'.
For some Linux distributions like Gentoo, 'qtoauth' is the Qt5 variant and there is no Qt4 variant. For other distributions like Fedora, there exists both a 'qtoauth' variant (Qt4) and a 'qtoauth-qt5' variant (Qt5). Just checking for 'qtoauth' as done without this patch may work in Gentoo but fail on Fedora as it will try to make use of a Qt4-based library in a Qt5-based program (at least, this is the working thesis).
Comment 6 Thomas Fischer 2018-01-14 20:42:00 UTC
(In reply to Amaro from comment #4)
> Figured it out. Had to remove the optional packages qoauth and qoauth-devel 
> 2.0.0-4.fc27, recompiled kbibtex for kf5 and it works.
You comment pointed me to a potential issue due to the different names of the Qt5-based QtOAuth library on Gentoo Linux and Fedora. Please see attachment 109863 [details] for details. Before testing this patch, please install qoauth-qt5-devel and dependencies.

> Minor aspect is that
> installation creates a non-standard /usr/lib64/plugins directory solely for
> kbibtexpart.so even though all other plugins for qt5 are in
> /usr/lib64/qt5/plugins, had to create a symbolic link there.
The install path for the parts plugin comes from the variable KDE_INSTALL_PLUGINDIR which is use even in core KDE apps like Dolphin's part.
I assume that official Fedora packages for KDE redefine KDE_INSTALL_PLUGINDIR to point to /usr/lib64/qt5/plugins, whereas the default is /usr/lib64/plugins.
Simply try to set the environment variable KDE_INSTALL_PLUGINDIR=/usr/lib64/qt5/plugins before running cmake and make.
Comment 7 Amaro 2018-01-15 20:46:09 UTC
Hello Thomas

Thanks for the patch, it worked and compiled well with qoauth-qt5-devel and 

cmake -DKDE_INSTALL_QTPLUGINDIR:PATH=`qtpaths --plugin-dir` -DCMAKE_INSTALL_PREFIX:PATH=`kf5-config --prefix` -DCMAKE_BUILD_TYPE=debug ../kbibtex


Best regards

Amaro
Comment 8 Thomas Fischer 2018-02-11 20:29:57 UTC
Message for commit 1a360a63883b4b2cdac2f61912845c65c3a9c3bd that fixed this bug was not automatically processed thus not closing this bug; doing it manually now.