Bug 372863 - KDevelop freezes when opening parallel session
Summary: KDevelop freezes when opening parallel session
Status: RESOLVED UPSTREAM
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: git master
Platform: Other Linux
: NOR major
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-24 00:12 UTC by Janek Bevendorff
Modified: 2016-11-26 13:13 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Janek Bevendorff 2016-11-24 00:12:51 UTC
When I open a second (parallel) KDevelop session, the program seems to enter an infinite loop. The window contents aren't updated (no draw refresh), my CPU goes to 100% and I can only kill KDevelop forcefully.

To gather some debug information, I started KDevelop and then ran a second instance in a different session (kdevelop -s othersession) via GDB.

The following is printed to the console:

Starting program: /usr/bin/kdevelop -s kdevelop
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffd75cf700 (LWP 24210)]
[New Thread 0x7fffd5803700 (LWP 24211)]
[New Thread 0x7fffc4a7f700 (LWP 24212)]
[New Thread 0x7fffb8505700 (LWP 24231)]
[New Thread 0x7fffb7d04700 (LWP 24232)]
[Thread 0x7fffb8505700 (LWP 24231) exited]
[Thread 0x7fffb7d04700 (LWP 24232) exited]
[New Thread 0x7fffb7d04700 (LWP 24235)]
QOpenGLFramebufferObject: Unsupported framebuffer format.
QOpenGLFramebufferObject: Unsupported framebuffer format.
QOpenGLFramebufferObject: Unsupported framebuffer format.
QOpenGLFramebufferObject: Unsupported framebuffer format.
QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.

and then KDevelop hangs. After sending it a SIGINT, I get the following backtrace:

#0  0x00007fffc5b8409a in  () at /usr/lib/libnvidia-glcore.so.375.20
#1  0x00007fffc5b15ef1 in  () at /usr/lib/libnvidia-glcore.so.375.20
#2  0x00007fffc5b18121 in  () at /usr/lib/libnvidia-glcore.so.375.20
#3  0x00007fffc5b19071 in  () at /usr/lib/libnvidia-glcore.so.375.20
#4  0x00007fffc5766b54 in  () at /usr/lib/libnvidia-glcore.so.375.20
#5  0x00007fffc5768b06 in  () at /usr/lib/libnvidia-glcore.so.375.20
#6  0x00007fffeab9cf12 in QSGBatchRenderer::Renderer::unmap(QSGBatchRenderer::Buffer*, bool) () at /usr/lib/libQt5Quick.so.5
#7  0x00007fffeab9ec67 in QSGBatchRenderer::Renderer::uploadBatch(QSGBatchRenderer::Batch*) () at /usr/lib/libQt5Quick.so.5
#8  0x00007fffeaba924c in QSGBatchRenderer::Renderer::render() () at /usr/lib/libQt5Quick.so.5
#9  0x00007fffeabb4bff in QSGRenderer::renderScene(QSGBindable const&) () at /usr/lib/libQt5Quick.so.5
#10 0x00007fffeabb52cb in QSGRenderer::renderScene(unsigned int) () at /usr/lib/libQt5Quick.so.5
#11 0x00007fffeabc4ebe in QSGRenderContext::renderNextFrame(QSGRenderer*, unsigned int) () at /usr/lib/libQt5Quick.so.5
#12 0x00007fffeac0e17e in QQuickWindowPrivate::renderSceneGraph(QSize const&) () at /usr/lib/libQt5Quick.so.5
#13 0x00007fffeacf24d8 in QQuickRenderControl::render() () at /usr/lib/libQt5Quick.so.5
#14 0x00007fffeb2732da in  () at /usr/lib/libQt5QuickWidgets.so.5
#15 0x00007fffeb274f44 in QQuickWidget::resizeEvent(QResizeEvent*) () at /usr/lib/libQt5QuickWidgets.so.5
#16 0x00007ffff631334e in QWidget::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#17 0x00007ffff62cbe0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#18 0x00007ffff62d3581 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#19 0x00007ffff55ebde0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#20 0x00007ffff630bc62 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () at /usr/lib/libQt5Widgets.so.5
#21 0x00007ffff630fae3 in QWidgetPrivate::show_helper() () at /usr/lib/libQt5Widgets.so.5
#22 0x00007ffff6312945 in QWidget::setVisible(bool) () at /usr/lib/libQt5Widgets.so.5
#23 0x00007ffff2947890 in  () at /usr/lib/libKDevPlatformSublime.so.10
#24 0x00007fffb5f215ab in  () at /usr/lib/qt/plugins/kdevplatform/26/kdevwelcomepage.so
#25 0x00007fffb5f218a3 in  () at /usr/lib/qt/plugins/kdevplatform/26/kdevwelcomepage.so
#26 0x00007ffff6a1a10b in KPluginFactory::create(char const*, QWidget*, QObject*, QList<QVariant> const&, QString const&) () at /usr/lib/libKF5CoreAddons.so.5
#27 0x00007ffff7ac35a7 in KDevelop::PluginController::loadPluginInternal(QString const&) () at /usr/lib/libKDevPlatformShell.so.10
#28 0x000000000041298a in  ()
#29 0x00007ffff4c5f291 in __libc_start_main () at /usr/lib/libc.so.6
#30 0x000000000040682a in _start ()
Comment 1 Kevin Funk 2016-11-24 09:27:22 UTC
This looks like an issue deep in your NVidia Graphics stack (or an issue with how your Qt version creates frame buffer objects).

Please try to upgrade/downgrade your graphics drivers and/or Qt5. There's nothing we can do about this issue I'm afraid.

As a work-around, you can disable the welcome page plugin by setting the KDEV_DISABLE_WELCOMEPAGE env var to 1.
Comment 2 Janek Bevendorff 2016-11-24 10:38:14 UTC
I was suspecting that. And indeed, I'm having similar issues with my lock screen. 
All graphics drivers drivers are up to date. This continuous flow of breaking bugs is super annoying right now. Only recently there was the problem that unlocking the screen or shutting down was prevented by a Qt bug, then plasma sessions messed up the screen config upon reboot and now this. I'll investigate further.
Comment 3 Janek Bevendorff 2016-11-26 13:13:28 UTC
Apparently, this is an NVIDIA bug in the driver version 375.20 which will be addressed with the next 375.xx release. For the meantime users should downgrade to 375.10

https://devtalk.nvidia.com/default/topic/977518/linux/problems-with-multiple-opengl-applications-running-simultaneously-with-375-20-on-a-gtx970/post/5024978/#5024978