Bug 102066 - Crash when exit from an embedded view in konqueror
Summary: Crash when exit from an embedded view in konqueror
Status: RESOLVED WORKSFORME
Alias: None
Product: karbon
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Rob Buis
URL:
Keywords:
: 95988 104521 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-03-21 10:57 UTC by Davide Vernizzi
Modified: 2005-12-18 19:05 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Davide Vernizzi 2005-03-21 10:57:58 UTC
Version:            (using KDE KDE 3.4.0)
Installed from:    Gentoo Packages
Compiler:          gcc CFLAGS="-O3 -mcpu=pentium4 -funroll-loops -pipe"
OS:                Linux

When I view a postscript file with konqueror it uses embedded kghostview, and when I come back with left or up arrow, konqueror crashes.
Comment 1 Davide Vernizzi 2005-03-21 10:59:13 UTC
This is the backtrace...

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 29844)]
[KCrash handler]
#5  0xb6ba78d1 in kill () from /lib/libc.so.6
#6  0xb6da66c1 in pthread_kill () from /lib/libpthread.so.0
#7  0xb6da6a15 in raise () from /lib/libpthread.so.0
#8  0xb6ba751c in raise () from /lib/libc.so.6
#9  0xb6ba8b34 in abort () from /lib/libc.so.6
#10 0xb6d56f6f in __cxa_call_unexpected ()
   from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.so.5
#11 0xb6d56fa4 in std::terminate ()
   from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.so.5
#12 0xb6d57575 in __cxa_pure_virtual ()
   from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.so.5
#13 0xb74e9af4 in QGDictIterator::toFirst () from /usr/qt/3/lib/libqt-mt.so.3
#14 0xb74e97c0 in QGDictIterator::QGDictIterator ()
   from /usr/qt/3/lib/libqt-mt.so.3
#15 0xb59a6f6d in VToolController::unregisterTool ()
   from /usr/lib/kde3/libkarbonpart.so
#16 0xb59a7239 in VTool::~VTool () from /usr/lib/kde3/libkarbonpart.so
#17 0xb5204b60 in VImageTool::~VImageTool ()
   from /usr/lib/kde3/karbon_imagetoolplugin.so
#18 0xb72632dd in QWidget::~QWidget () from /usr/qt/3/lib/libqt-mt.so.3
#19 0xb57b8829 in KoView::~KoView () from /usr/lib/libkofficecore.so.2
#20 0xb57e77a9 in KarbonViewBase::~KarbonViewBase ()
   from /usr/lib/kde3/libkarbonbase.so
#21 0xb594a453 in KarbonView::~KarbonView ()
   from /usr/lib/kde3/libkarbonpart.so
#22 0xb72632dd in QWidget::~QWidget () from /usr/qt/3/lib/libqt-mt.so.3
#23 0xb57884c0 in KoViewWrapperWidget::~KoViewWrapperWidget ()
   from /usr/lib/libkofficecore.so.2
#24 0xb7fc57fc in KParts::Part::~Part () from /usr/kde/3.4/lib/libkparts.so.2
#25 0xb7fc6064 in KParts::ReadOnlyPart::~ReadOnlyPart ()
   from /usr/kde/3.4/lib/libkparts.so.2
#26 0xb7fc6bb9 in KParts::ReadWritePart::~ReadWritePart ()
   from /usr/kde/3.4/lib/libkparts.so.2
#27 0xb577cb4c in KoDocument::~KoDocument () from /usr/lib/libkofficecore.so.2
#28 0xb57e7b26 in KarbonPartBase::~KarbonPartBase ()
   from /usr/lib/kde3/libkarbonbase.so
#29 0xb5947111 in KarbonPart::~KarbonPart ()
   from /usr/lib/kde3/libkarbonpart.so
#30 0xb6a655b5 in KonqView::switchView ()
   from /usr/kde/3.4/lib/libkdeinit_konqueror.so
#31 0xb6a65ab7 in KonqView::changeViewMode ()
   from /usr/kde/3.4/lib/libkdeinit_konqueror.so
#32 0xb6a9aca8 in KonqMainWindow::openView ()
   from /usr/kde/3.4/lib/libkdeinit_konqueror.so
#33 0xb6a99c2e in KonqMainWindow::openURL ()
   from /usr/kde/3.4/lib/libkdeinit_konqueror.so
#34 0xb6a99180 in KonqMainWindow::openFilteredURL ()
   from /usr/kde/3.4/lib/libkdeinit_konqueror.so
#35 0xb6a99466 in KonqMainWindow::openFilteredURL ()
   from /usr/kde/3.4/lib/libkdeinit_konqueror.so
#36 0xb6aa9345 in KonqMainWindow::slotUpDelayed ()
   from /usr/kde/3.4/lib/libkdeinit_konqueror.so
#37 0xb6abd61e in KonqMainWindow::qt_invoke ()
   from /usr/kde/3.4/lib/libkdeinit_konqueror.so
#38 0xb7232ccc in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#39 0xb75713aa in QSignal::signal () from /usr/qt/3/lib/libqt-mt.so.3
#40 0xb724ce7d in QSignal::activate () from /usr/qt/3/lib/libqt-mt.so.3
#41 0xb7254633 in QSingleShotTimer::event () from /usr/qt/3/lib/libqt-mt.so.3
#42 0xb71d688f in QApplication::internalNotify ()
   from /usr/qt/3/lib/libqt-mt.so.3
#43 0xb71d5bf5 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
#44 0xb77f83fe in KApplication::notify ()
   from /usr/kde/3.4/lib/libkdecore.so.4
#45 0xb71c5ef5 in QEventLoop::activateTimers ()
   from /usr/qt/3/lib/libqt-mt.so.3
#46 0xb71807ab in QEventLoop::processEvents ()
   from /usr/qt/3/lib/libqt-mt.so.3
#47 0xb71e8a58 in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3
#48 0xb71e8908 in QEventLoop::exec () from /usr/qt/3/lib/libqt-mt.so.3
#49 0xb71d6ae1 in QApplication::exec () from /usr/qt/3/lib/libqt-mt.so.3
#50 0xb6a56f4d in kdemain () from /usr/kde/3.4/lib/libkdeinit_konqueror.so
#51 0xb77167e2 in kdeinitmain () from /usr/kde/3.4/lib/kde3/konqueror.so
#52 0x0804da26 in ?? ()
#53 0x00000002 in ?? ()
#54 0x0806b028 in ?? ()
#55 0x00000001 in ?? ()
#56 0x00000000 in ?? ()
#57 0x00000000 in ?? ()
#58 0x00000000 in ?? ()
#59 0x00000006 in ?? ()
#60 0xbfffefbc in ?? ()
#61 0xbfffefc0 in ?? ()
#62 0xbfffefc4 in ?? ()
#63 0xbfffefc8 in ?? ()
#64 0xbfffefcc in ?? ()
#65 0x00000000 in ?? ()
#66 0x00000000 in ?? ()
#67 0x00000000 in ?? ()
#68 0x00000001 in ?? ()
#69 0x080d2308 in ?? ()
#70 0x00000000 in ?? ()
#71 0x00000000 in ?? ()
#72 0x00004000 in ?? ()
#73 0x4000037f in ?? ()
#74 0x055d0000 in ?? ()
#75 0xb6f582c0 in FcValueEqual () from /usr/lib/libfontconfig.so.1
#76 0x080500f2 in ?? ()
#77 0x00000002 in ?? ()
#78 0x080d1d0c in ?? ()
#79 0x080d1d1f in ?? ()
#80 0x00000000 in ?? ()
#81 0x00000001 in ?? ()
#82 0x080d1d30 in ?? ()
#83 0x00000000 in ?? ()
#84 0x00000000 in ?? ()
#85 0x00000000 in ?? ()
#86 0x080d1d34 in ?? ()
#87 0x00000000 in ?? ()
#88 0x00000000 in ?? ()
#89 0x00000000 in ?? ()
#90 0x00000000 in ?? ()
#91 0x00000000 in ?? ()
#92 0x00000000 in ?? ()
#93 0x080d1d34 in ?? ()
#94 0x00000000 in ?? ()
#95 0x00000000 in ?? ()
#96 0x080d1d23 in ?? ()
#97 0x00000001 in ?? ()
#98 0x00000000 in ?? ()
#99 0x080d1d16 in ?? ()
#100 0x080d1d0c in ?? ()
#101 0x00000002 in ?? ()
#102 0x0000000a in ?? ()
#103 0x080d1d08 in ?? ()
#104 0x00007493 in ?? ()
#105 0x00000004 in ?? ()
#106 0x00000004 in ?? ()
#107 0x0000000a in ?? ()
#108 0x0000005a in ?? ()
#109 0x080524b8 in vtable for QCString ()
#110 0x0805b498 in ?? ()
#111 0x00000000 in ?? ()
#112 0x00000000 in ?? ()
#113 0x080524b8 in vtable for QCString ()
#114 0x0805b488 in ?? ()
#115 0x00000000 in ?? ()
#116 0xb6da6f91 in thread_self () from /lib/libpthread.so.0
#117 0x0804f064 in ?? ()
#118 0x00000008 in ?? ()
#119 0xbffff3f0 in ?? ()
#120 0xbffff370 in ?? ()
#121 0xbffff2f0 in ?? ()
#122 0x00000000 in ?? ()
#123 0x00000000 in ?? ()
#124 0xb75ccf40 in typeinfo name for QFile () from /usr/qt/3/lib/libqt-mt.so.3
#125 0xb76945f0 in ?? () from /usr/qt/3/lib/libqt-mt.so.3
#126 0xbffff410 in ?? ()
#127 0x00000010 in ?? ()
#128 0xb79829c0 in kde_malloc_is_used () from /usr/kde/3.4/lib/libkdecore.so.4
#129 0x0000000a in ?? ()
#130 0x0000000c in ?? ()
#131 0x00000002 in ?? ()
#132 0x000073d8 in ?? ()
#133 0x00000000 in ?? ()
#134 0x00000003 in ?? ()
#135 0x00000008 in ?? ()
#136 0xb79829c0 in kde_malloc_is_used () from /usr/kde/3.4/lib/libkdecore.so.4
#137 0x00974968 in ?? ()
#138 0x00000022 in ?? ()
#139 0x00000006 in ?? ()
#140 0x00000000 in ?? ()
#141 0x0805e860 in ?? ()
#142 0x00000000 in ?? ()
#143 0x00000002 in ?? ()
#144 0x00000000 in ?? ()
#145 0x00000000 in ?? ()
#146 0x00000000 in ?? ()
#147 0x00000000 in ?? ()
#148 0x0000111c in ?? ()
#149 0x00000000 in ?? ()
#150 0x00020000 in ?? ()
#151 0x00000010 in ?? ()
#152 0x00000000 in ?? ()
#153 0x423979db in ?? ()
#154 0x00000000 in ?? ()
#155 0x423979db in ?? ()
#156 0x00000000 in ?? ()
#157 0x423979db in ?? ()
#158 0x00000000 in ?? ()
#159 0x0036d386 in ?? ()
#160 0x00000000 in ?? ()
#161 0x0806b150 in ?? ()
#162 0xbfff0001 in ?? ()
#163 0xbffff450 in ?? ()
#164 0xbffff298 in ?? ()
#165 0xb6d558e7 in operator delete ()
   from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.so.5
#166 0x0804c987 in ?? ()
#167 0x00000000 in ?? ()
#168 0xbffff4e7 in ?? ()
#169 0x00000001 in ?? ()
#170 0x00000000 in ?? ()
#171 0x00000000 in ?? ()
#172 0x00000000 in ?? ()
#173 0x00000000 in ?? ()
#174 0x00000000 in ?? ()
#175 0x00000000 in ?? ()
#176 0x08050fc2 in vtable for QGList ()
#177 0xb8000400 in _rtld_global () from /lib/ld-linux.so.2
#178 0xb6ba9c40 in __cxa_atexit () from /lib/libc.so.6
#179 0xb6b9445f in __libc_start_main () from /lib/libc.so.6
#180 0x0804b771 in ?? ()
Comment 2 Rob Huls 2005-04-19 13:03:43 UTC
Probably this is still the same as bug number 95988. I have it here too. If I 
view *eps en *ps files in konqueror, by default it embeds karbon14. Viewing 
works, but if I use 'up' or 'back', konqueror crashes. Did so in KDE 3.3.2 
from Debian unstable, and also does so with KDE 3.4.0 compiled with 
Konstruct. Setting KGhostview as embedded viewer solves the problem, but is 
it not strange that the default viewer is set to karbon when all it does is 
crash?

regards,
Rob
Comment 3 Tim Beaulen 2005-05-16 10:12:51 UTC
*** Bug 104521 has been marked as a duplicate of this bug. ***
Comment 4 Tim Beaulen 2005-08-25 21:18:11 UTC
*** Bug 95988 has been marked as a duplicate of this bug. ***
Comment 5 Tim Beaulen 2005-08-25 21:20:12 UTC
I can not reproduce it although many people seem to be able to.

I tried opening several eps files in konqueror with an embeded karbon part, but I never got it to crash.

The backtraces suggest a problem in this function:

void
VToolController::unregisterTool( VTool *tool )
{
	// tool->name() is not valid in VTool destructor
	QDictIterator<VTool> it( m_tools );
	for( ; it.current(); ++it )
		if (it.current() == tool)
		{
			m_tools.remove(it.currentKey());
			return;
		}
}


More specifically, I think the problem is with the following line:
QDictIterator<VTool> it( m_tools );

Should there be a check to see if m_tools is not null?
Comment 6 Inge Wallin 2005-08-27 23:30:52 UTC
No, I don't think so.  The documentation of QDictIterator doesn't say anything about that, and it is not a pointer so it can't become null. I think the error is somewhere else.
Comment 7 Rob Buis 2005-12-18 19:05:00 UTC
Hi,

I can't reproduce this, we think the problem was solved somewhere along
the line, probably in konqueror. This means I'll close this bug. If
anyone can come up with a proper testcase that shows this bug is still
there, we should reopen this bug, please do not forget to attach the problematic .ps file if that is the case!
Cheers,

Rob.