Summary: | radeon driver crashes kwin | ||
---|---|---|---|
Product: | Mesa | Reporter: | karaluh <karaluh> |
Component: | GLX | Assignee: | mesa-dev |
Status: | RESOLVED MOVED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
karaluh
2009-12-23 04:04:37 UTC
This is probably not directly related to the X driver but most likely some client-side library - see e.g. http://cgit.freedesktop.org/xorg/lib/libXrandr/commit/?id=2e07e9d4f300e8153e4e93cd78bc51e0d91dba6f for a fix for the same assertion failure triggered by a libXrandr bug. Reassigning to Mesa for now, but it would be good to get a better backtrace. Maybe also try running kwin in valgrind to see if that shows anything interesting. (In reply to comment #1) > This is probably not directly related to the X driver but most likely some > client-side library - see e.g. > http://cgit.freedesktop.org/xorg/lib/libXrandr/commit/?id=2e07e9d4f300e8153e4e93cd78bc51e0d91dba6f > for a fix for the same assertion failure triggered by a libXrandr bug. > > Reassigning to Mesa for now, but it would be good to get a better backtrace. > Maybe also try running kwin in valgrind to see if that shows anything > interesting. How can I obtain better backtrace? I also never used valgrind, how can I get the info you need? (In reply to comment #2) > How can I obtain better backtrace? E.g. by making sure debugging symbols are available for all binaries involved, in particular /usr/lib/libGL.so.1 . > I also never used valgrind, how can I get the info you need? Something like valgrind kwin --replace should be a start. (In reply to comment #3) > (In reply to comment #2) > > How can I obtain better backtrace? > E.g. by making sure debugging symbols are available for all binaries involved, > in particular /usr/lib/libGL.so.1 . I've got debugging symbols for this library installed. > > I also never used valgrind, how can I get the info you need? > Something like > valgrind kwin --replace > should be a start. I've updated to KDE SC 4.4 beta 2, and kwin doesn't crash anymore. However, KDE system settings does, with exact the same corrupted stack info. The problem is valgrind quits before the crash occurs. Is there any way I can prevent this? Here's valgrind info: ==12990== Memcheck, a memory error detector ==12990== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al. ==12990== Using Valgrind-3.5.0-Debian and LibVEX; rerun with -h for copyright info ==12990== Command: systemsettings ==12990== ==12990== Conditional jump or move depends on uninitialised value(s) ==12990== at 0x47B0EC0: QX11PaintEngine::updateMatrix(QTransform const&) (qpaintengine_x11.cpp:2035) ==12990== by 0x47BD58A: QX11PaintEngine::updateState(QPaintEngineState const&) (qpaintengine_x11.cpp:1077) ==12990== by 0x46FA8C3: QPainterPrivate::updateStateImpl(QPainterState*) (qpainter.cpp:892) ==12990== by 0x46FA98B: QPainterPrivate::updateState(QPainterState*) (qpainter.cpp:920) ==12990== by 0x470590E: QPainter::drawLines(QLineF const*, int) (qpainter.cpp:4530) ==12990== by 0x6CF3690: OxygenStyle::standardIconImplementation(QStyle::StandardPixmap, QStyleOption const*, QWidget const*) const (qpainter.h:534) ==12990== by 0x6CE9B83: OxygenStyle::qt_metacall(QMetaObject::Call, int, void**) (oxygen.moc:80) ==12990== by 0x5319119: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==12990== by 0x531CF54: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:1533) ==12990== by 0x531D55E: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qmetaobject.cpp:1113) ==12990== by 0x48B8E8B: QStyle::standardIcon(QStyle::StandardPixmap, QStyleOption const*, QWidget const*) const (qstyle.cpp:2279) ==12990== by 0x4A39B91: QMenuBarExtension::QMenuBarExtension(QWidget*) (qmenubar.cpp:93) ==12990== systemsettings(13101)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from "/var/tmp/kdecache-karol/ksycoca4" systemsettings(12990): Communication problem with "systemsettings" , it probably crashed. Error message was: "org.freedesktop.DBus.Error.NoReply" : " "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken." " ==12990== ==12990== HEAP SUMMARY: ==12990== in use at exit: 135,834 bytes in 1,839 blocks ==12990== total heap usage: 15,033 allocs, 13,194 frees, 25,056,276 bytes allocated ==12990== ==12990== LEAK SUMMARY: ==12990== definitely lost: 120 bytes in 1 blocks ==12990== indirectly lost: 0 bytes in 0 blocks ==12990== possibly lost: 114,364 bytes in 1,520 blocks ==12990== still reachable: 21,350 bytes in 318 blocks ==12990== suppressed: 0 bytes in 0 blocks ==12990== Rerun with --leak-check=full to see details of leaked memory ==12990== ==12990== For counts of detected and suppressed errors, rerun with: -v ==12990== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 157 from 37) Here's the full valgrind info: ==5274== Memcheck, a memory error detector ==5274== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al. ==5274== Using Valgrind-3.5.0-Debian and LibVEX; rerun with -h for copyright info ==5274== Command: systemsettings --nofork ==5274== ==5274== Conditional jump or move depends on uninitialised value(s) ==5274== at 0x47B0EC0: QX11PaintEngine::updateMatrix(QTransform const&) (qpaintengine_x11.cpp:2035) ==5274== by 0x47BD58A: QX11PaintEngine::updateState(QPaintEngineState const&) (qpaintengine_x11.cpp:1077) ==5274== by 0x46FA8C3: QPainterPrivate::updateStateImpl(QPainterState*) (qpainter.cpp:892) ==5274== by 0x46FA98B: QPainterPrivate::updateState(QPainterState*) (qpainter.cpp:920) ==5274== by 0x470590E: QPainter::drawLines(QLineF const*, int) (qpainter.cpp:4530) ==5274== by 0x6CF3690: OxygenStyle::standardIconImplementation(QStyle::StandardPixmap, QStyleOption const*, QWidget const*) const (qpainter.h:534) ==5274== by 0x6CE9B83: OxygenStyle::qt_metacall(QMetaObject::Call, int, void**) (oxygen.moc:80) ==5274== by 0x5319119: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==5274== by 0x531CF54: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:1533) ==5274== by 0x531D55E: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qmetaobject.cpp:1113) ==5274== by 0x48B8E8B: QStyle::standardIcon(QStyle::StandardPixmap, QStyleOption const*, QWidget const*) const (qstyle.cpp:2279) ==5274== by 0x4A39B91: QMenuBarExtension::QMenuBarExtension(QWidget*) (qmenubar.cpp:93) ==5274== systemsettings(5274)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from "/var/tmp/kdecache-karol/ksycoca4" systemsettings(5274)/kutils (KCModuleProxy) KCModuleProxyPrivate::loadModule: Module not already loaded, loading module "Efekty pulpitu" from library "kcm_kwincompositing" using symbol "kcm_kwincompositing" systemsettings(5274)/kwin KWin::Extensions::init: Extensions: shape: 0x "11" composite: 0x "4" render: 0x "a" fixes: 0x "40" systemsettings(5274)/kutils (KCModuleProxy) KCModuleProxyPrivate::loadModule: Module not already loaded, loading module "Wiele pulpitów" from library "kcm_kwindesktop" using symbol "kcm_kwindesktop" systemsettings(5274)/kutils (KCModuleProxy) KCModuleProxyPrivate::loadModule: Module not already loaded, loading module "Rogi ekranu" from library "kcm_kwinscreenedges" using symbol "kcm_kwinscreenedges" systemsettings(5274)/kutils (KCModuleProxy) KCModuleProxyPrivate::loadModule: Module not already loaded, loading module "Wygaszacz ekranu" from library "kcm_screensaver" using symbol "kcm_screensaver" systemsettings(5274)/kutils (KCModuleProxy) KCModuleProxyPrivate::loadModule: Module not already loaded, loading module "Uruchamianie programów" from library "kcm_launch" using symbol "kcm_launch" systemsettings(5274)/kutils (KCModuleProxy) KCModuleProxyPrivate::loadModule: Module not already loaded, loading module "Workspace" from library "kcm_workspaceoptions" using symbol "kcm_workspaceoptions" [akonadiserver] X Error: BadRequest (invalid request code or no such operation) 1 Extension: 135 (Uknown extension) Minor opcode: 19 (Unknown request) Resource id: 0x5e00019 systemsettings: ../../src/xcb_io.c:542: _XRead: Assertion `dpy->xcb->reply_data != ((void *)0)' failed. KCrash: Application 'systemsettings' crashing... sock_file=/home/karol/.kde/socket-ubuntu/kdeinit4__0 [1]+ Stopped valgrind systemsettings --nofork (In reply to comment #4) > > > How can I obtain better backtrace? > > E.g. by making sure debugging symbols are available for all binaries involved, > > in particular /usr/lib/libGL.so.1 . > > I've got debugging symbols for this library installed. gdb doesn't seem to pick it up though. Thanks for the valgrind output, unfortunately it doesn't seem to show any errors that could explain the corrupted backtrace. -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/59. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.