Summary: | yet another segfault in QV4::ExecutionEngine::newStringObject | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Martin Walch <walch.martin> |
Component: | general | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | andrejoh, emrecio, grgoffe, hemlock-solmes, lorenzo.calabrese, post, qwertyuiop231571, sacviper, sudhir |
Priority: | NOR | Keywords: | drkonqi |
Version: | 5.4.0 | Flags: | mgraesslin:
ReviewRequest+
|
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
URL: | https://git.reviewboard.kde.org/r/125737/ | ||
See Also: |
https://bugs.kde.org/show_bug.cgi?id=351839 https://bugs.kde.org/show_bug.cgi?id=349921 https://bugs.kde.org/show_bug.cgi?id=356368 https://bugs.kde.org/show_bug.cgi?id=357742 https://bugs.kde.org/show_bug.cgi?id=358966 |
||
Latest Commit: | http://commits.kde.org/kwin/76cd1fdc3411142991096adf8da9d7e74536f671 | Version Fixed In: | 5.4.3 |
Sentry Crash Report: |
Description
Martin Walch
2015-08-25 18:58:38 UTC
Looks like the problem came with the switch from Qt 5.4.2 to Qt 5.5.0. *** Bug 351767 has been marked as a duplicate of this bug. *** I can confirm the problem. I'm on Qt 5.5 as well. *** Bug 353206 has been marked as a duplicate of this bug. *** Valgrind from latest dupe: -------- [sudhir@fedora ~]$ valgrind systemsettings5 ==20368== Memcheck, a memory error detector ==20368== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. ==20368== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info ==20368== Command: systemsettings5 ==20368== ==20368== Syscall param writev(vector[...]) points to uninitialised byte(s) ==20368== at 0xA7ADABD: ??? (syscall-template.S:81) ==20368== by 0xD81D448: write_vec (xcb_conn.c:257) ==20368== by 0xD81D448: _xcb_conn_wait (xcb_conn.c:502) ==20368== by 0xD81D83C: _xcb_out_send (xcb_out.c:393) ==20368== by 0xD81DF76: _xcb_out_flush_to (xcb_out.c:417) ==20368== by 0xD81EAA2: wait_for_reply (xcb_in.c:508) ==20368== by 0xD81EB20: xcb_wait_for_reply (xcb_in.c:546) ==20368== by 0x1D9D5669: QXcbConnection::sync() (qxcbconnection.cpp:1807) ==20368== by 0x1D9ED99B: QXcbWindow::setWindowState(Qt::WindowState) (qxcbwindow.cpp:1295) ==20368== by 0x82BFD57: QWindow::setWindowState(Qt::WindowState) (qwindow.cpp:1115) ==20368== by 0x71B0529: KWindowConfig::restoreWindowSize(QWindow*, KConfigGroup const&) (in /usr/lib64/libKF5ConfigGui.so.5.13.0) ==20368== by 0x565E680: KMainWindow::applyMainWindowSettings(KConfigGroup const&) (in /usr/lib64/libKF5XmlGui.so.5.13.0) ==20368== by 0x56AA0D1: KXmlGuiWindow::applyMainWindowSettings(KConfigGroup const&) (in /usr/lib64/libKF5XmlGui.so.5.13.0) ==20368== Address 0x16d3edd2 is 4,530 bytes inside a block of size 21,152 alloc'd ==20368== at 0x4C2A9C7: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==20368== by 0xD81CDFB: xcb_connect_to_fd (xcb_conn.c:325) ==20368== by 0xD8209B0: xcb_connect_to_display_with_auth_info (xcb_util.c:523) ==20368== by 0xCEF1FB9: _XConnectXCB (xcb_disp.c:78) ==20368== by 0xCEE2AF1: XOpenDisplay (OpenDis.c:129) ==20368== by 0x1D9D80BB: QXcbConnection::QXcbConnection(QXcbNativeInterface*, bool, unsigned int, char const*) (qxcbconnection.cpp:463) ==20368== by 0x1D9DD9DC: QXcbIntegration::QXcbIntegration(QStringList const&, int&, char**) (qxcbintegration.cpp:177) ==20368== by 0x1D79B46C: QXcbIntegrationPlugin::create(QString const&, QStringList const&, int&, char**) (qxcbmain.cpp:50) ==20368== by 0x82A83F1: loadIntegration (qplatformintegrationfactory.cpp:56) ==20368== by 0x82A83F1: QPlatformIntegrationFactory::create(QString const&, QStringList const&, int&, char**, QString const&) (qplatformintegrationfactory.cpp:73) ==20368== by 0x82B4611: init_platform (qguiapplication.cpp:1020) ==20368== by 0x82B4611: QGuiApplicationPrivate::createPlatformIntegration() (qguiapplication.cpp:1177) ==20368== by 0x82B554C: QGuiApplicationPrivate::createEventDispatcher() (qguiapplication.cpp:1194) ==20368== by 0x99CBA55: QCoreApplication::init() (qcoreapplication.cpp:768) ==20368== Constructing a KPluginInfo object from old style JSON. Please use kcoreaddons_desktop_to_json() for "/usr/lib64/qt5/plugins/kwin/effects/configs/kcm_kwin4_genericscripted.so" instead of kservice_desktop_to_json() in your CMake code. ==20368== Warning: noted but unhandled ioctl 0x6458 with no size/direction hints. ==20368== This could cause spurious value errors to appear. ==20368== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null ==20368== ==20368== Process terminating with default action of signal 11 (SIGSEGV) ==20368== Access not within mapped region at address 0x0 ==20368== at 0xB43A8F5: UnknownInlinedFun (qrefcount.h:54) ==20368== by 0xB43A8F5: toQString (qv4string_p.h:81) ==20368== by 0xB43A8F5: toQString (qv4string_p.h:141) ==20368== by 0xB43A8F5: QV4::Heap::StringObject::StringObject(QV4::ExecutionEngine*, QV4::Value const&) (qv4stringobject.cpp:91) ==20368== by 0xB3E1B42: alloc<QV4::StringObject, QV4::ExecutionEngine*, QV4::Value> (qv4mm_p.h:117) ==20368== by 0xB3E1B42: QV4::ExecutionEngine::newStringObject(QV4::Value const&) (qv4engine.cpp:552) ==20368== by 0xB47AA71: QV4::Runtime::getProperty(QV4::ExecutionEngine*, QV4::Value const&, int) (qv4runtime.cpp:679) ==20368== by 0x2E50F90C: ??? ==20368== by 0xB41D979: QV4::SimpleScriptFunction::call(QV4::Managed*, QV4::CallData*) (qv4functionobject.cpp:564) ==20368== by 0xB50D72E: call (qv4object_p.h:302) ==20368== by 0xB50D72E: QQmlJavaScriptExpression::evaluate(QQmlContextData*, QV4::Value const&, QV4::CallData*, bool*) (qqmljavascriptexpression.cpp:158) ==20368== by 0xB50DC5C: QQmlJavaScriptExpression::evaluate(QQmlContextData*, QV4::Value const&, bool*) (qqmljavascriptexpression.cpp:116) ==20368== by 0xB51479B: QQmlBinding::update(QFlags<QQmlPropertyPrivate::WriteFlag>) (qqmlbinding.cpp:194) ==20368== by 0xB514C5D: update (qqmlbinding_p.h:97) ==20368== by 0xB514C5D: QQmlBinding::expressionChanged(QQmlJavaScriptExpression*) (qqmlbinding.cpp:260) ==20368== by 0xB4F0C56: QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) (qqmlnotifier.cpp:73) ==20368== by 0xB4F0C1D: QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) (qqmlnotifier.cpp:68) ==20368== by 0xB4F0C1D: QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) (qqmlnotifier.cpp:68) ==20368== If you believe this happened as a result of a stack ==20368== overflow in your program's main thread (unlikely but ==20368== possible), you can try to increase the size of the ==20368== main thread stack using the --main-stacksize= flag. ==20368== The main thread stack size used in this run was 8388608. ==20368== ==20368== HEAP SUMMARY: ==20368== in use at exit: 26,678,252 bytes in 137,258 blocks ==20368== total heap usage: 1,900,314 allocs, 1,763,056 frees, 467,231,665 bytes allocated ==20368== ==20368== LEAK SUMMARY: ==20368== definitely lost: 9,552,368 bytes in 49 blocks ==20368== indirectly lost: 67,672 bytes in 53 blocks ==20368== possibly lost: 7,822,960 bytes in 41,312 blocks ==20368== still reachable: 9,095,252 bytes in 95,160 blocks ==20368== suppressed: 0 bytes in 0 blocks ==20368== Rerun with --leak-check=full to see details of leaked memory ==20368== ==20368== For counts of detected and suppressed errors, rerun with: -v ==20368== Use --track-origins=yes to see where uninitialised values come from ==20368== ERROR SUMMARY: 20 errors from 1 contexts (suppressed: 0 from 0) Killed *** Bug 353221 has been marked as a duplicate of this bug. *** Git commit 76cd1fdc3411142991096adf8da9d7e74536f671 by Martin Gräßlin. Committed on 21/10/2015 at 11:28. Pushed by graesslin into branch 'Plasma/5.4'. [kcmeffects] Do not use root context properties Apparently it's not allowed to set root context properties multiple times. If one goes to systemsettings, opens effects kcm, closes it and opens it again it crashes due to setting a context property with same name again. This change eliminates the need for the context property by modifying the property of the QML objects directly. Related: bug 354164 FIXED-IN: 5.4.3 REVIEW: 125737 M +2 -1 kcmkwin/kwincompositing/model.cpp M +0 -2 kcmkwin/kwincompositing/model.h M +0 -1 kcmkwin/kwincompositing/qml/EffectView.qml http://commits.kde.org/kwin/76cd1fdc3411142991096adf8da9d7e74536f671 *** Bug 353843 has been marked as a duplicate of this bug. *** *** Bug 354961 has been marked as a duplicate of this bug. *** I can reproduce it on plasma 5.4.3. If I enter "Desktop Behavior"->"Desktop Effects" in system settings, then go back to "Overview" and to "Desktop Effects" again, the program crashes. This crash happens every time. Here's a backtrace http://pastebin.com/7LARERad Trace lacks actual debug info. -> Please install debug symbols (*-dbg packages of kwin and qtquick at least), cause the crash and file a new bug from drkonqi. In general please *never* use pastebin for bug informations. Backtraces go directly into the comments (-> be searchable), everything else as attachment to the bug (pastebin information is lost after some time) (In reply to Thomas Lübking from comment #11) > Trace lacks actual debug info. > -> Please install debug symbols (*-dbg packages of kwin and qtquick at > least), cause the crash and file a new bug from drkonqi. > > In general please *never* use pastebin for bug informations. > Backtraces go directly into the comments (-> be searchable), everything else > as attachment to the bug (pastebin information is lost after some time) Sorry, I changed the distribution from arch to fedora and this bug disappeared I don't know if I am experiencing the same problem. When I click on desktop effects, then click on the film strip icon to - I guess - preview the effect, it crashes *every time*. Console: Constructing a KPluginInfo object from old style JSON. Please use kcoreaddons_desktop_to_json() for "/usr/lib64/qt5/plugins/kwin/effects/configs/kcm_kwin4_genericscripted.so" instead of kservice_desktop_to_json() in your CMake code. Segmentation fault > I don't know if I am experiencing the same problem.
Please attach a backtrace*, otherwise one will never figure ;-)
* developer information tab in the crash dialog, the console output is irrelevant here.
*** Bug 356368 has been marked as a duplicate of this bug. *** |