Bug 179312

Summary: plasma crash when trying to add a google gadget (ggadget::Gadget::GetDefaultFontSize )
Product: [Unmaintained] plasma4 Reporter: Cyrill Helg <phlogi1>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED UPSTREAM    
Severity: crash CC: andresbajotierra, andrey66, anton.steiner, aseigo, christian.andi, finex, idlecat511, ilyes.gouta, josan_pansa, Martin, patrick.eigensatz, sadako
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi

Description Cyrill Helg 2009-01-01 23:20:39 UTC
Version:           0.3 (using 4.1.86 (KDE 4.1.86 (KDE 4.2 >= 20081221)), Gentoo)
Compiler:          i686-pc-linux-gnu-gcc
OS:                Linux (i686) release 2.6.28-rc9-zen1-IBM-T43

Application: Plasma Workspace (plasma), signal SIGSEGV
Using host libthread_db library "/lib/libthread_db.so.1".
[Current thread is 0 (LWP 6218)]

Thread 4 (Thread 0xb22c3b90 (LWP 6259)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb70537c6 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb70d4438 in QWaitCondition::wait () from /usr/lib/qt4/libQtCore.so.4
#3  0xb3984eab in RenderThread::run (this=0x82da324) at /tmp/PALUDIS/var_tmp/kde-base-plasma-workspace-scm/work/plasma-workspace/plasma/wallpapers/image/renderthread.cpp:91
#4  0xb70d3efa in ?? () from /usr/lib/qt4/libQtCore.so.4
#5  0xb704f45f in start_thread () from /lib/libpthread.so.0

Thread 3 (Thread 0xb1a8cb90 (LWP 6510)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb70537c6 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb70d4438 in QWaitCondition::wait () from /usr/lib/qt4/libQtCore.so.4
#3  0xb3984eab in RenderThread::run (this=0x823f0ec) at /tmp/PALUDIS/var_tmp/kde-base-plasma-workspace-scm/work/plasma-workspace/plasma/wallpapers/image/renderthread.cpp:91
#4  0xb70d3efa in ?? () from /usr/lib/qt4/libQtCore.so.4
#5  0xb704f45f in start_thread () from /lib/libpthread.so.0

Thread 2 (Thread 0xb1278b90 (LWP 13553)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb70537c6 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb70d4438 in QWaitCondition::wait () from /usr/lib/qt4/libQtCore.so.4
#3  0xb799cc0f in ?? () from /usr/lib/qt4/libQtNetwork.so.4
#4  0xb70d3efa in ?? () from /usr/lib/qt4/libQtCore.so.4
#5  0xb704f45f in start_thread () from /lib/libpthread.so.0

Thread 1 (Thread 0xb541e710 (LWP 6218)):
[KCrash Handler]
#6  0x0a209bc6 in ?? ()
#7  0xa5b1f069 in ggadget::Gadget::GetDefaultFontSize () from /usr/lib/libggadget-1.0.so.0
#8  0xa5b968cc in ggadget::View::GetDefaultFontSize () from /usr/lib/libggadget-1.0.so.0
#9  0xa5b8535b in ggadget::TextFrame::GetSimpleExtents () from /usr/lib/libggadget-1.0.so.0
#10 0xa5be439f in ggadget::ButtonElement::GetDefaultSize () from /usr/lib/libggadget-1.0.so.0
#11 0xa5af6b6e in ggadget::BasicElement::Layout () from /usr/lib/libggadget-1.0.so.0
#12 0xa5b18560 in ggadget::Elements::Layout () from /usr/lib/libggadget-1.0.so.0
#13 0xa5af691b in ggadget::BasicElement::Layout () from /usr/lib/libggadget-1.0.so.0
#14 0xa5bfc44f in ggadget::DivElement::Layout () from /usr/lib/libggadget-1.0.so.0
#15 0xa5b18560 in ggadget::Elements::Layout () from /usr/lib/libggadget-1.0.so.0
#16 0xa5af691b in ggadget::BasicElement::Layout () from /usr/lib/libggadget-1.0.so.0
#17 0xa5bfc44f in ggadget::DivElement::Layout () from /usr/lib/libggadget-1.0.so.0
#18 0xa5b18560 in ggadget::Elements::Layout () from /usr/lib/libggadget-1.0.so.0
#19 0xa5ba3668 in ggadget::View::Impl::Draw () from /usr/lib/libggadget-1.0.so.0
#20 0xa5b9a0f4 in ggadget::View::Draw () from /usr/lib/libggadget-1.0.so.0
#21 0xb2706397 in ggadget::qt::QtViewWidget::paintEvent () from /usr/lib/libggadget-qt-1.0.so.0
#22 0xb68ede73 in QWidget::event () from /usr/lib/qt4/libQtGui.so.4
#23 0xb6895aef in QApplicationPrivate::notify_helper () from /usr/lib/qt4/libQtGui.so.4
#24 0xb689a58c in QApplication::notify () from /usr/lib/qt4/libQtGui.so.4
#25 0xb7742daa in KApplication::notify () from /usr/kde/svn/lib/libkdeui.so.5
#26 0xb71c1327 in QCoreApplication::notifyInternal () from /usr/lib/qt4/libQtCore.so.4
#27 0xb68f30fe in ?? () from /usr/lib/qt4/libQtGui.so.4
#28 0xb68e67ca in QWidgetPrivate::drawWidget () from /usr/lib/qt4/libQtGui.so.4
#29 0xb6a45d26 in ?? () from /usr/lib/qt4/libQtGui.so.4
#30 0xb6a47a68 in ?? () from /usr/lib/qt4/libQtGui.so.4
#31 0xb68edc4d in QWidget::event () from /usr/lib/qt4/libQtGui.so.4
#32 0xb6895aef in QApplicationPrivate::notify_helper () from /usr/lib/qt4/libQtGui.so.4
#33 0xb689a58c in QApplication::notify () from /usr/lib/qt4/libQtGui.so.4
#34 0xb7742daa in KApplication::notify () from /usr/kde/svn/lib/libkdeui.so.5
#35 0xb71c1327 in QCoreApplication::notifyInternal () from /usr/lib/qt4/libQtCore.so.4
#36 0xb71c237d in QCoreApplicationPrivate::sendPostedEvents () from /usr/lib/qt4/libQtCore.so.4
#37 0xb71c261d in QCoreApplication::sendPostedEvents () from /usr/lib/qt4/libQtCore.so.4
#38 0xb71ec2fd in ?? () from /usr/lib/qt4/libQtCore.so.4
#39 0xb5784daf in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
Comment 1 Dario Andres 2009-01-02 00:11:57 UTC
What googlegadgets version are you using? Looking at the backtrace it looks more like a GoogleGadgets bug than a plasma one.
Comment 2 Cyrill Helg 2009-01-02 00:15:48 UTC
Yes could be... I'm using the svn version of google gadgets.
Comment 3 Aaron J. Seigo 2009-01-02 20:25:49 UTC
yes, this looks like a GG bug. CC'ing Tiger so he can confirm.
Comment 4 Chris 2009-02-06 23:07:18 UTC
Hello!
I have the same problem and it seems to be a qt bug similar to this: https://bugs.kde.org/show_bug.cgi?id=180757
I have similar bug when adding weatherstation widget and holding mouse cursor above widget after weatherstation is configured (the only solution seems to patch qt):

Anwendung: Plasma-Arbeitsfläche (plasma), Signal SIGSEGV
[Current thread is 0 (LWP 7927)]

Thread 4 (Thread 0xa9d53b90 (LWP 7939)):
#0  0xb7f03424 in __kernel_vsyscall ()
#1  0xb702e566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb70b7e51 in QWaitCondition::wait () from /usr/lib/qt4/libQtCore.so.4
#3  0xb7929918 in QHostInfoAgent::run () from /usr/lib/qt4/libQtNetwork.so.4
#4  0xb70b7942 in QThreadPrivate::start () from /usr/lib/qt4/libQtCore.so.4
#5  0xb702a17b in start_thread () from /lib/libpthread.so.0
#6  0xb642909e in clone () from /lib/libc.so.6

Thread 3 (Thread 0xa9514b90 (LWP 7940)):
#0  0xb7f03424 in __kernel_vsyscall ()
#1  0xb702e566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb70b7e51 in QWaitCondition::wait () from /usr/lib/qt4/libQtCore.so.4
#3  0xa9e97fce in RenderThread::run () from /usr/kde/4.2/lib/kde4/plasma_wallpaper_image.so
#4  0xa9514364 in ?? ()
#5  0x00000070 in ?? ()
#6  0xb6495140 in ?? () from /lib/libc.so.6
#7  0x08350d00 in ?? ()
#8  0x0000001f in ?? ()
#9  0x00000000 in ?? ()

Thread 2 (Thread 0xa4085b90 (LWP 14593)):
#0  0xb7f03424 in __kernel_vsyscall ()
#1  0xb64227d1 in select () from /lib/libc.so.6
#2  0xb7180bda in QProcessManager::run () from /usr/lib/qt4/libQtCore.so.4
#3  0xb70b7942 in QThreadPrivate::start () from /usr/lib/qt4/libQtCore.so.4
#4  0xb702a17b in start_thread () from /lib/libpthread.so.0
#5  0xb642909e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb5428900 (LWP 7927)):
#0  0xb7f03424 in __kernel_vsyscall ()
#1  0xb63f5866 in nanosleep () from /lib/libc.so.6
#2  0xb63f568b in sleep () from /lib/libc.so.6
#3  0xb7730a97 in KCrash::startDrKonqi () from /usr/kde/4.2/lib/libkdeui.so.5
#4  0x00020d3c in ?? ()
#5  0xbf81bc78 in ?? ()
#6  0x000000c2 in ?? ()
...
Comment 5 Dario Andres 2009-02-06 23:23:57 UTC
@Chris: your crash may be unrelated to this (not sure why you posted it here). As it is bug 180757. If your GNU/Linux distribution doesn't patch the Qt package you need to tell its maintainers to do it. Or you can recompile it yourself adding the packages. 
Comment 6 Chris 2009-02-07 13:42:44 UTC
@Darío Andrés: I posted this because adding google gadget crashed at the same place in google gadget: 

#1 0xb70537c6 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb70d4438 in QWaitCondition::wait () from /usr/lib/qt4/libQtCore.so.4 

and my bug (Thread 4):

#1 0xb702e566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb70b7e51 in QWaitCondition::wait () from /usr/lib/qt4/libQtCore.so.4 


Comment 7 Dario Andres 2009-02-07 14:10:47 UTC
Some parts of the backtrace may be irrelevant or not complete, but it's not your obligation to know that thing :) (sorry for the rudeness before)

The important parts are generally the ones below of the "[KCrash Handler]" string (or "KCrash::startDrKonqi" in your case). As you can see your backtrace lacks some information, (it's normal as you don't have the debug symbols packages, which aren't installed by default)

The part that your backtrace should have to be a *similar* backtrace is:

#7 0xa5b1f069 in ggadget::Gadget::GetDefaultFontSize () from /usr/lib/libggadget-1.0.so.0 
#8 0xa5b968cc in ggadget::View::GetDefaultFontSize () from /usr/lib/libggadget-1.0.so.0 
#9 0xa5b8535b in ggadget::TextFrame::GetSimpleExtents () from /usr/lib/libggadget-1.0.so.0 
#10 0xa5be439f in ggadget::ButtonElement::GetDefaultSize () from /usr/lib/libggadget-1.0.so.0 
#11 0xa5af6b6e in ggadget::BasicElement::Layout () from /usr/lib/libggadget-1.0.so.0
...

If you can reproduce the crash at will, may you read http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports to generate a complete backtrace and then compare it with the original one in this report? 

Thanks :)
Comment 8 Chris 2009-02-07 16:38:17 UTC
@Darío Andrés Thank you for explaining how to create meaningful stacktrace!
Could successfully reproduce bug after configuring a google gadget widget(german weather globe):
(Seems there is some problem in libggadget-1.0.so.0: ggadget::Gadget::GetDefaultFontSize
)

[KCrash Handler]
#6  0xa6f8e4e2 in ggadget::Gadget::GetDefaultFontSize () from /usr/lib/libggadget-1.0.so.0
#7  0xa702631b in ggadget::View::GetDefaultFontSize () from /usr/lib/libggadget-1.0.so.0
#8  0xa7013862 in ggadget::TextFrame::GetSimpleExtents () from /usr/lib/libggadget-1.0.so.0
#9  0xa6f4c9db in ggadget::ButtonElement::GetDefaultSize () from /usr/lib/libggadget-1.0.so.0
#10 0xa6f45a9c in ggadget::BasicElement::Layout () from /usr/lib/libggadget-1.0.so.0
#11 0xa6f81f6c in ggadget::Elements::Layout () from /usr/lib/libggadget-1.0.so.0
#12 0xa6f45888 in ggadget::BasicElement::Layout () from /usr/lib/libggadget-1.0.so.0
#13 0xa6f7c74c in ggadget::DivElement::Layout () from /usr/lib/libggadget-1.0.so.0
#14 0xa6f81f6c in ggadget::Elements::Layout () from /usr/lib/libggadget-1.0.so.0
#15 0xa6f45888 in ggadget::BasicElement::Layout () from /usr/lib/libggadget-1.0.so.0
#16 0xa6f7c74c in ggadget::DivElement::Layout () from /usr/lib/libggadget-1.0.so.0
#17 0xa6f81f6c in ggadget::Elements::Layout () from /usr/lib/libggadget-1.0.so.0
#18 0xa7032914 in ggadget::View::Impl::Draw () from /usr/lib/libggadget-1.0.so.0
#19 0xa70297d0 in ggadget::View::Draw () from /usr/lib/libggadget-1.0.so.0
#20 0xa7129d3d in ggadget::qt::QtViewWidget::paintEvent () from /usr/lib/libggadget-qt-1.0.so.0
#21 0xb69720b2 in QWidget::event () from /usr/lib/qt4/libQtGui.so.4
#22 0xb691d9cc in QApplicationPrivate::notify_helper () from /usr/lib/qt4/libQtGui.so.4
#23 0xb69224e4 in QApplication::notify () from /usr/lib/qt4/libQtGui.so.4
#24 0xb779249b in KApplication::notify (this=0x805fb18, receiver=0x8e36800, event=0xbfeb1994) at /mnt/data/tmp/paludis/kde-base-kdelibs-4.2.0-r1/work/kdelibs-4.2.0/kdeui/kernel/kapplication.cpp:307
#25 0xb72a65e5 in QCoreApplication::notifyInternal (this=0x805fb18, receiver=0x8e36800, event=0xbfeb1994) at kernel/qcoreapplication.cpp:593
#26 0xb6976d99 in qt_sendSpontaneousEvent () from /usr/lib/qt4/libQtGui.so.4
#27 0xb696acf9 in QWidgetPrivate::drawWidget () from /usr/lib/qt4/libQtGui.so.4
#28 0xb6ac8639 in QWidgetBackingStore::cleanRegion () from /usr/lib/qt4/libQtGui.so.4
#29 0xb6aca396 in qt_syncBackingStore () from /usr/lib/qt4/libQtGui.so.4
#30 0xb6971e7f in QWidget::event () from /usr/lib/qt4/libQtGui.so.4
#31 0xb691d9cc in QApplicationPrivate::notify_helper () from /usr/lib/qt4/libQtGui.so.4
#32 0xb69224e4 in QApplication::notify () from /usr/lib/qt4/libQtGui.so.4
#33 0xb779249b in KApplication::notify (this=0x805fb18, receiver=0x8e36800, event=0x8317cf8) at /mnt/data/tmp/paludis/kde-base-kdelibs-4.2.0-r1/work/kdelibs-4.2.0/kdeui/kernel/kapplication.cpp:307
#34 0xb72a65e5 in QCoreApplication::notifyInternal (this=0x805fb18, receiver=0x8e36800, event=0x8317cf8) at kernel/qcoreapplication.cpp:593
#35 0xb72a7859 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x804c4e8) at kernel/qcoreapplication.h:215
#36 0xb72a7b75 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1097
#37 0xb72d354d in postEventSourceDispatch (s=0x806cb20) at kernel/qcoreapplication.h:220
#38 0xb58a3345 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
Comment 9 Dario Andres 2009-02-21 00:51:47 UTC
*** Bug 185081 has been marked as a duplicate of this bug. ***
Comment 10 Dario Andres 2009-05-08 23:29:41 UTC
Any news on this ? If the crash is still there I guess we should report this to google-gadgets directly.
Comment 11 Aaron J. Seigo 2009-05-09 01:27:31 UTC
yes, all crashers in google gadgets should be reported to them. we don't work on that code and don't maintain it. we only have the scriptengine, which is a pretty thin layer between the google gadget library and plasma.
Comment 12 Tiger Dong 2009-05-09 02:39:06 UTC
Hi,

I was pretty busy in last few months. I'll take a look at it ASAP. And it's fine to report such bugs to gg directly.

Thanks.

--
Tiger
Comment 13 Martin Steigerwald 2009-08-21 20:41:56 UTC
I can confirm this bug on Debian testing/unstable and OpenSUSE 11.1 with KDE 4.3 packages from build service.
Comment 14 Dario Andres 2009-08-23 15:29:57 UTC
*** Bug 204854 has been marked as a duplicate of this bug. ***
Comment 15 Tiger Dong 2009-08-25 09:47:22 UTC
Hi,

I just tried Debian unstable on a VirtualBox VM. I can't reproduce the bug. The version of plasma-scriptengine-googlegadgets and google-gadgets-qt are 4:4.3.0-3 and 0.10.5-0.1+b1 respectively. And I am using smjs_script_runtime.

For you who can reproduce the bug, could you tell me whether this bug happens when GadgetBrowser is opened or when you click "add" button within GadgetBrowser and whether you are using qt_script_runtime?

Thanks,
--
Tiger
Comment 16 Dario Andres 2009-09-20 19:38:42 UTC
*** Bug 207941 has been marked as a duplicate of this bug. ***
Comment 17 Jekyll Wu 2012-07-04 15:38:42 UTC
*** Bug 303005 has been marked as a duplicate of this bug. ***
Comment 18 Patrick Eigensatz 2012-07-11 13:30:59 UTC
Created attachment 72453 [details]
New crash information added by DrKonqi

plasma-desktop (0.4) on KDE Platform 4.8.4 (4.8.4) using Qt 4.8.2

- What I was doing when the application crashed:

I just clicked the "Download new Google Gadgets" button,
then it crashed.

-- Backtrace (Reduced):
#7  0x00007f0abc52bbe9 in ggadget::TextFrame::GetSimpleExtents(double*, double*) () from /usr/lib/x86_64-linux-gnu/libggadget-1.0.so.0
#8  0x00007f0abc471ad9 in ggadget::ButtonElement::GetDefaultSize(double*, double*) const () from /usr/lib/x86_64-linux-gnu/libggadget-1.0.so.0
#9  0x00007f0abc46eb4f in ggadget::BasicElement::Impl::Layout() () from /usr/lib/x86_64-linux-gnu/libggadget-1.0.so.0
#10 0x00007f0abc4a730b in ggadget::Elements::Layout() () from /usr/lib/x86_64-linux-gnu/libggadget-1.0.so.0
#11 0x00007f0abc46e96a in ggadget::BasicElement::Impl::Layout() () from /usr/lib/x86_64-linux-gnu/libggadget-1.0.so.0
Comment 19 Sadako Sasaki 2012-11-01 05:47:54 UTC
Created attachment 74911 [details]
New crash information added by DrKonqi

plasma-desktop (0.4) on KDE Platform 4.8.4 (4.8.4) using Qt 4.8.2

- What I was doing when the application crashed:
After a normal start of my KDE Desktop i try to add a google gadget on my plasma Desktop.


- Unusual behavior I noticed:
After i klick add new widgeds, google gadget, the whole desktop will going black and the plasma desktop crashes. it crashes everytime since many kde updates

-- Backtrace (Reduced):
#7  0x966811f7 in ggadget::Gadget::GetDefaultFontSize() const () from /usr/lib/i386-linux-gnu/libggadget-1.0.so.0
#8  0x9672257a in ggadget::View::GetDefaultFontSize() const () from /usr/lib/i386-linux-gnu/libggadget-1.0.so.0
#9  0x9670e893 in ggadget::TextFrame::GetSimpleExtents(double*, double*) () from /usr/lib/i386-linux-gnu/libggadget-1.0.so.0
#10 0x96635364 in ggadget::ButtonElement::GetDefaultSize(double*, double*) const () from /usr/lib/i386-linux-gnu/libggadget-1.0.so.0
#11 0x96631c3e in ggadget::BasicElement::Impl::Layout() () from /usr/lib/i386-linux-gnu/libggadget-1.0.so.0