Bug 281446

Summary: Krita crashes with openGL enabled in radeon gallium3d driver
Product: [Applications] krita Reporter: Leandro Santiago da Silva <leandrosansilva>
Component: GeneralAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED WAITINGFORINFO    
Severity: crash CC: deathpyre.tarrant, halla
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:

Description Leandro Santiago da Silva 2011-09-06 02:20:52 UTC
Application: krita (2.3.3)
KDE Platform Version: 4.7.00 (4.7.0)
Qt Version: 4.7.2
Operating System: Linux 3.0.0-10-generic x86_64
Distribution: Ubuntu 11.04

-- Information about the crash:
- What I was doing when the application crashed:
I just created a new image. The OpenGL is enabled and I'm using the open source radeon gallium3d driver and linux 3.0

The crash can be reproduced every time.

-- Backtrace:
Application: Krita (krita), signal: Segmentation fault
[Current thread is 1 (Thread 0x7feefbb327a0 (LWP 27686))]

Thread 5 (Thread 0x7feed74d5700 (LWP 27692)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007feed74d4be0 in ?? ()
#2  0x00007fff299f17e7 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 4 (Thread 0x7feecffff700 (LWP 27710)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007feef9b0382b in wait (this=<value optimized out>, mutex=0x503f6d0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x503f6d0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007feef9b00469 in QSemaphore::tryAcquire (this=0x4b5f050, n=1, timeout=-1) at thread/qsemaphore.cpp:221
#4  0x00007feee6b884ca in KisTileDataSwapper::run (this=0x4d760c0) at ../../../krita/image/tiles3/swap/kis_tile_data_swapper.cpp:90
#5  0x00007feef9b03175 in QThreadPrivate::start (arg=0x4d760c0) at thread/qthread_unix.cpp:320
#6  0x00007feef6427d8c in start_thread (arg=0x7feecffff700) at pthread_create.c:304
#7  0x00007feefb4c604d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7feecf7fe700 (LWP 27712)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
#1  0x00007feef9b0379e in wait (this=<value optimized out>, mutex=0x52a3820, time=30000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x52a3820, time=30000) at thread/qwaitcondition_unix.cpp:160
#3  0x00007feef9af8218 in QThreadPoolThread::run (this=0x51598c0) at concurrent/qthreadpool.cpp:140
#4  0x00007feef9b03175 in QThreadPrivate::start (arg=0x51598c0) at thread/qthread_unix.cpp:320
#5  0x00007feef6427d8c in start_thread (arg=0x7feecf7fe700) at pthread_create.c:304
#6  0x00007feefb4c604d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7feeceffd700 (LWP 27713)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
#1  0x00007feef9b0379e in wait (this=<value optimized out>, mutex=0x52a3820, time=30000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x52a3820, time=30000) at thread/qwaitcondition_unix.cpp:160
#3  0x00007feef9af8218 in QThreadPoolThread::run (this=0x5125fb0) at concurrent/qthreadpool.cpp:140
#4  0x00007feef9b03175 in QThreadPrivate::start (arg=0x5125fb0) at thread/qthread_unix.cpp:320
#5  0x00007feef6427d8c in start_thread (arg=0x7feeceffd700) at pthread_create.c:304
#6  0x00007feefb4c604d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7feefbb327a0 (LWP 27686)):
[KCrash Handler]
#6  _wordcopy_fwd_aligned (dstp=<value optimized out>, srcp=<value optimized out>, len=2305843009202233936) at wordcopy.c:113
#7  0x00007feefb464df2 in memmove (dest=0x0, src=<value optimized out>, len=18446744073617871456) at memmove.c:76
#8  0x00007feee14d3e02 in llvm::SmallVectorImpl<llvm::TargetAlignElem>::operator=(llvm::SmallVectorImpl<llvm::TargetAlignElem> const&) () from /usr/lib/libLLVM-2.8.so.1
#9  0x00007feee17ecb30 in LLVMAddTargetData () from /usr/lib/libLLVM-2.8.so.1
#10 0x00007feecc9c517b in ?? () from /usr/lib/x86_64-linux-gnu/dri/libgallium.so
#11 0x00007feecc9c52eb in gallivm_create () from /usr/lib/x86_64-linux-gnu/dri/libgallium.so
#12 0x00007feecc914275 in draw_create_gallivm () from /usr/lib/x86_64-linux-gnu/dri/libgallium.so
#13 0x00007feecc9f00ad in st_init_draw () from /usr/lib/x86_64-linux-gnu/dri/libgallium.so
#14 0x00007feecc9ef12b in st_create_context () from /usr/lib/x86_64-linux-gnu/dri/libgallium.so
#15 0x00007feecc9f40ec in ?? () from /usr/lib/x86_64-linux-gnu/dri/libgallium.so
#16 0x00007feed421fcc0 in dri_create_context () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#17 0x00007feed41ff084 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#18 0x00007feeeeedd36f in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#19 0x00007feeeeeb3739 in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#20 0x00007feeeeeb4215 in glXCreateContext () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#21 0x00007feef1f0fbb1 in QGLContext::chooseContext (this=0x54a92d0, shareContext=0x0) at qgl_x11.cpp:721
#22 0x00007feef1ea358c in QGLContext::create (this=0x54a92d0, shareContext=0x0) at qgl.cpp:3310
#23 0x00007feef1f0eb27 in QGLWidget::setContext (this=0x54a8e70, context=<value optimized out>, shareContext=<value optimized out>, deleteOldContext=true) at qgl_x11.cpp:1513
#24 0x00007feef1ea38ca in QGLWidgetPrivate::initContext (this=0x54a9040, context=0x54a92d0, shareWidget=0x0) at qgl.cpp:5392
#25 0x00007feef1f0d5da in QGLWidgetPrivate::init (this=<value optimized out>, context=0x54a92d0, shareWidget=0x0) at qgl_x11.cpp:1354
#26 0x00007feef1ea4704 in QGLWidget::QGLWidget (this=0x54a8e70, parent=0x0, shareWidget=0x0, f=<value optimized out>) at qgl.cpp:3688
#27 0x00007feee70c7a5f in KisOpenGL::createContext () at ../../../krita/ui/opengl/kis_opengl.cpp:39
#28 0x00007feee70c7c8d in KisOpenGL::sharedContextWidget () at ../../../krita/ui/opengl/kis_opengl.cpp:62
#29 0x00007feee70c7ca9 in KisOpenGL::makeContextCurrent () at ../../../krita/ui/opengl/kis_opengl.cpp:56
#30 0x00007feee70cfc83 in KisOpenGLImageTextures::getImageTextures (image=..., monitorProfile=0x42e5930) at ../../../krita/ui/opengl/kis_opengl_image_textures.cpp:101
#31 0x00007feee6f98e73 in KisCanvas2::createOpenGLCanvas (this=0x5522930) at ../../../krita/ui/canvas/kis_canvas2.cpp:332
#32 0x00007feee6f993b8 in KisCanvas2::createCanvas (this=0x5522930, useOpenGL=true) at ../../../krita/ui/canvas/kis_canvas2.cpp:349
#33 0x00007feee6f99659 in KisCanvas2::KisCanvas2 (this=0x5522930, viewConverter=0x551fde0, view=0x51264a0, sc=0x4f5c730) at ../../../krita/ui/canvas/kis_canvas2.cpp:122
#34 0x00007feee7084a59 in KisView2::KisView2 (this=0x51264a0, doc=<value optimized out>, parent=<value optimized out>, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at ../../../krita/ui/kis_view2.cpp:247
#35 0x00007feee700e97c in KisDoc2::createViewInstance (this=0x4d32240, parent=0x4d866a0) at ../../../krita/ui/kis_doc2.cc:432
#36 0x00007feefb0fd93a in KoDocument::createView (this=0x4d32240, parent=<value optimized out>) at ../../../libs/main/KoDocument.cpp:428
#37 0x00007feefb12b46b in KoMainWindow::setRootDocument (this=0x1d1e690, doc=0x4d32240) at ../../../libs/main/KoMainWindow.cpp:464
#38 0x00007feefb1026fa in KoDocument::deleteOpenPane (this=0x4d32240, closing=<value optimized out>) at ../../../libs/main/KoDocument.cpp:2489
#39 0x00007feefb102918 in KoDocument::qt_metacall (this=0x4d32240, _c=QMetaObject::InvokeMetaMethod, _id=19, _a=0x7fff29818730) at ./KoDocument.moc:134
#40 0x00007feee70100a0 in KisDoc2::qt_metacall (this=0x4d32240, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff29818730) at ./kis_doc2.moc:78
#41 0x00007feef9bff5f8 in QMetaObject::activate (sender=0x5079160, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3287
#42 0x00007feee70fc9f7 in KisCustomImageWidget::buttonClicked (this=0x5079160) at ../../../krita/ui/widgets/kis_custom_image_widget.cc:218
#43 0x00007feee70fd4ac in KisCustomImageWidget::qt_metacall (this=0x5079160, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff29818b30) at ./kis_custom_image_widget.moc:139
#44 0x00007feef9bff5f8 in QMetaObject::activate (sender=0x5077350, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff29818b30) at kernel/qobject.cpp:3287
#45 0x00007feefac1c942 in QAbstractButton::clicked (this=<value optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:206
#46 0x00007feefa965f2e in QAbstractButtonPrivate::emitClicked (this=0x5077380) at widgets/qabstractbutton.cpp:546
#47 0x00007feefa9674ab in QAbstractButtonPrivate::click (this=0x5077380) at widgets/qabstractbutton.cpp:539
#48 0x00007feefa96771c in QAbstractButton::mouseReleaseEvent (this=0x5077350, e=0x7fff29819470) at widgets/qabstractbutton.cpp:1121
#49 0x00007feefa5f5cc8 in QWidget::event (this=0x5077350, event=0x7fff29819470) at kernel/qwidget.cpp:8259
#50 0x00007feefa5a49f4 in QApplicationPrivate::notify_helper (this=0x198cf60, receiver=0x5077350, e=0x7fff29819470) at kernel/qapplication.cpp:4462
#51 0x00007feefa5a9dc3 in QApplication::notify (this=<value optimized out>, receiver=0x5077350, e=0x7fff29819470) at kernel/qapplication.cpp:4023
#52 0x00007feef6f99796 in KApplication::notify (this=0x7fff29819f90, receiver=0x5077350, event=0x7fff29819470) at ../../kdeui/kernel/kapplication.cpp:311
#53 0x00007feef9bea49c in QCoreApplication::notifyInternal (this=0x7fff29819f90, receiver=0x5077350, event=0x7fff29819470) at kernel/qcoreapplication.cpp:731
#54 0x00007feefa5a5a1d in sendEvent (receiver=0x5077350, event=0x7fff29819470, alienWidget=0x5077350, nativeWidget=0x4d866a0, buttonDown=0x7feefb088218, lastMouseReceiver=..., spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#55 QApplicationPrivate::sendMouseEvent (receiver=0x5077350, event=0x7fff29819470, alienWidget=0x5077350, nativeWidget=0x4d866a0, buttonDown=0x7feefb088218, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3122
#56 0x00007feefa627190 in QETWidget::translateMouseEvent (this=0x4d866a0, event=<value optimized out>) at kernel/qapplication_x11.cpp:4558
#57 0x00007feefa625ab7 in QApplication::x11ProcessEvent (this=0x7fff29819f90, event=0x7fff29819dd0) at kernel/qapplication_x11.cpp:3680
#58 0x00007feefa64f224 in QEventDispatcherX11::processEvents (this=0x1932340, flags=...) at kernel/qeventdispatcher_x11.cpp:132
#59 0x00007feef9be9882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#60 0x00007feef9be9abc in QEventLoop::exec (this=0x7fff29819f50, flags=...) at kernel/qeventloop.cpp:201
#61 0x00007feef9bedecb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#62 0x00007feefb777225 in kdemain (argc=<value optimized out>, argv=0x7fff2981a128) at ../../krita/main.cc:49
#63 0x00007feefb3feeff in __libc_start_main (main=0x400730 <main(int, char**)>, argc=1, ubp_av=0x7fff2981a128, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fff2981a118) at libc-start.c:226
#64 0x0000000000400659 in _start ()

Reported using DrKonqi
Comment 1 Halla Rempt 2011-09-06 07:59:57 UTC
Hi Leandro,

Thanks for your report! I'm not sure whether we can actually do something about it, though -- this happens deep inside the llvm code of the gallium driver. It might be worth trying to remove the krita_ctlcs_plugin.so file from your system, re-run kbuildsycoca4 and check whether that solves the problem.

The opengtl-based ctlcs plugin handles floating point colorspaces and uses llvm itself, and there might be a problem with using llvm twice from the same process, but frankly, I doubt that this is the issue.

It might also be worth it to report this bug to the radeon-gallium3d developers.
Comment 2 Halla Rempt 2011-09-21 15:07:16 UTC
Hi Leandro,

Did you in the end contact the gallium-3d radeon driver people?
Comment 3 Halla Rempt 2011-09-30 16:45:19 UTC
There;s not much we can do here :-(
Comment 4 Halla Rempt 2011-12-01 15:21:05 UTC
*** Bug 287647 has been marked as a duplicate of this bug. ***