Bug 25778 - radeon driver crashes kwin
Summary: radeon driver crashes kwin
Status: RESOLVED MOVED
Alias: None
Product: Mesa
Classification: Unclassified
Component: GLX (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-23 04:04 UTC by karaluh
Modified: 2019-09-18 17:11 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description karaluh 2009-12-23 04:04:37 UTC
KDE windows manager crashes on start.

kwin backtrace:

Starting program: /usr/bin/kwin --replace
[Thread debugging using libthread_db enabled]
kwin: ../../src/xcb_io.c:542: _XRead: Assertion `dpy->xcb->reply_data != ((void
*)0)' failed.

Program received signal SIGABRT, Aborted.
0x00dc1422 in __kernel_vsyscall ()
(gdb) bt
#0  0x00dc1422 in __kernel_vsyscall ()
#1  0x0013a4d1 in raise () from /lib/tls/i686/cmov/libc.so.6
#2  0x0013d932 in abort () from /lib/tls/i686/cmov/libc.so.6
#3  0x00133648 in __assert_fail () from /lib/tls/i686/cmov/libc.so.6
#4  0x00aa091d in _XRead () from /usr/lib/libX11.so.6
#5  0x009b025d in ?? () from /usr/lib/libGL.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

lspci:
01:00.0 VGA compatible controller: ATI Technologies Inc RV670 AGP [Radeon HD 3850]
Comment 1 Michel Dänzer 2009-12-23 06:07:52 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.
Comment 2 karaluh 2009-12-23 06:48:24 UTC
(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?
Comment 3 Michel Dänzer 2009-12-25 07:01:00 UTC
(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.
Comment 4 karaluh 2009-12-28 01:44:26 UTC
(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) 
Comment 5 karaluh 2009-12-29 00:08:05 UTC
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
Comment 6 Michel Dänzer 2009-12-29 00:18:22 UTC
(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.
Comment 7 GitLab Migration User 2019-09-18 17:11:40 UTC
-- 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.