Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix coredump when starting up lumina-fm #644

Conversation

maxsteciuk
Copy link
Contributor

@maxsteciuk maxsteciuk commented Jan 1, 2019

It seems the issue was caused by some corrupted QImage pointer during its dereferencing in order to pass to futureFinished() slot

Changing slot signature from call-by-value to call-by-reference / pointer and adding explicit check for std::nullptr fixed the crash problem. The lumina-fm started up successfully.

Here is one GDB backtrace

Core was generated by `lumina-fm'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000000800d18006 in QImage::QImage(QImage const&) () from /usr/local/lib/qt5/libQt5Gui.so.5
[Current thread is 1 (LWP 102634)]
(gdb) bt
#0 0x0000000800d18006 in QImage::QImage(QImage const&) () at /usr/local/lib/qt5/libQt5Gui.so.5
#1 0x00000000003266f7 in ()
#2 0x0000000801651641 in QObject::event(QEvent*) () at /usr/local/lib/qt5/libQt5Core.so.5
#3 0x000000080067af61 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/local/lib/qt5/libQt5Widgets.so.5
#4 0x000000080067c359 in QApplication::notify(QObject*, QEvent*) () at /usr/local/lib/qt5/libQt5Widgets.so.5
#5 0x0000000801626ee1 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/local/lib/qt5/libQt5Core.so.5
#6 0x0000000801627da9 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/local/lib/qt5/libQt5Core.so.5
#7 0x0000000801678fd8 in QEventDispatcherUNIX::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () at /usr/local/lib/qt5/libQt5Core.so.5
#8 0x0000000801622a2e in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () at /usr/local/lib/qt5/libQt5Core.so.5
#9 0x000000080145fdec in QThread::exec() () at /usr/local/lib/qt5/libQt5Core.so.5
#10 0x0000000801460c83 in () at /usr/local/lib/qt5/libQt5Core.so.5
#11 0x00000008018d5756 in thread_start (curthread=0x8061a5100) at /usr/src_tmp/lib/libthr/thread/thr_create.c:291
#12 0x0000000000000000 in ()

@maxsteciuk maxsteciuk force-pushed the bugfix/lumina-fm-crash-on-startup branch from 6b25b98 to ccb055b Compare January 1, 2019 03:41
@maxsteciuk maxsteciuk force-pushed the bugfix/lumina-fm-crash-on-startup branch from ccb055b to a25da9c Compare January 1, 2019 03:47
Copy link
Collaborator

@beanpole135 beanpole135 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@beanpole135 beanpole135 merged commit a4b1c13 into lumina-desktop:master Jan 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants