Bug 61042 - khtml -> konqueror crash while loading libkrpmview
Summary: khtml -> konqueror crash while loading libkrpmview
Status: RESOLVED NOT A BUG
Alias: None
Product: konqueror
Classification: Applications
Component: khtml (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
: 69875 69988 70204 70272 70929 71070 72287 73506 73572 74935 75176 88026 88197 88341 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-07-10 13:47 UTC by Philipp Frenzel
Modified: 2004-08-29 16:42 UTC (History)
15 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Frenzel 2003-07-10 13:47:42 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources

[New Thread 16384 (LWP 9886)]
0x4105c387 in waitpid () from /lib/libpthread.so.0
#0  0x4105c387 in waitpid () from /lib/libpthread.so.0
#1  0x40746648 in KCrash::defaultCrashHandler(int) ()
   from /opt/kde3/lib/libkdecore.so.4
#2  0x4105b1ec in __pthread_sighandler () from /lib/libpthread.so.0
#3  <signal handler called>
#4  0x411ce471 in kill () from /lib/libc.so.6
#5  0x41058521 in pthread_kill () from /lib/libpthread.so.0
#6  0x4105883b in raise () from /lib/libpthread.so.0
#7  0x411ce204 in raise () from /lib/libc.so.6
#8  0x411cf830 in abort () from /lib/libc.so.6
#9  0x411c7824 in __assert_fail () from /lib/libc.so.6
#10 0x4004b8ce in KParts::Factory::createObject(QObject*, char const*, char const*, QStringList const&) () from /opt/kde3/lib/libkparts.so.2
#11 0x4075f4de in KLibFactory::create(QObject*, char const*, char const*, QStringList const&) () from /opt/kde3/lib/libkdecore.so.4
#12 0x4003c016 in KParts::Plugin* KParts::ComponentFactory::createInstanceFromFactory<KParts::Plugin>(KLibFactory*, QObject*, char const*, QStringList const&)
    () from /opt/kde3/lib/libkparts.so.2
#13 0x4003bf71 in KParts::Plugin* KParts::ComponentFactory::createInstanceFromLibrary<KParts::Plugin>(char const*, QObject*, char const*, QStringList const&, int*) () from /opt/kde3/lib/libkparts.so.2
#14 0x4003b1b5 in KParts::Plugin::loadPlugin(QObject*, char const*) ()
   from /opt/kde3/lib/libkparts.so.2
#15 0x4003b91d in KParts::Plugin::loadPlugins(QObject*, KXMLGUIClient*, KInstance*, bool) () from /opt/kde3/lib/libkparts.so.2
#16 0x4003477b in KParts::PartBase::loadPlugins(QObject*, KXMLGUIClient*, KInstance*) () from /opt/kde3/lib/libkparts.so.2
#17 0x4003471e in KParts::PartBase::setInstance(KInstance*, bool) ()
   from /opt/kde3/lib/libkparts.so.2
#18 0x444fc05f in KHTMLPart::KHTMLPart(QWidget*, char const*, QObject*, char const*, KHTMLPart::GUIProfile) () from /opt/kde3/lib/libkhtml.so.4
#19 0x443a068c in KonqAboutPage::KonqAboutPage(QWidget*, char const*, QObject*, char const*) () from /opt/kde3/lib/kde3/konq_aboutpage.so
#20 0x4439b2c7 in KonqAboutPageFactory::createPartObject(QWidget*, char const*, QObject*, char const*, char const*, QStringList const&) ()
   from /opt/kde3/lib/kde3/konq_aboutpage.so
#21 0x4004b836 in KParts::Factory::createPart(QWidget*, char const*, QObject*, char const*, char const*, QStringList const&) ()
   from /opt/kde3/lib/libkparts.so.2
#22 0x415708ce in KonqViewFactory::create(QWidget*, char const*, QObject*, char const*) () from /opt/kde3/lib/libkdeinit_konqueror.so.0
#23 0x4155ff74 in KonqFrame::attach(KonqViewFactory const&) ()
   from /opt/kde3/lib/libkdeinit_konqueror.so.0
#24 0x41545c45 in KonqView::switchView(KonqViewFactory&) ()
   from /opt/kde3/lib/libkdeinit_konqueror.so.0
#25 0x415435d2 in KonqView::KonqView(KonqViewFactory&, KonqFrame*, KonqMainWindow*, KSharedPtr<KService> const&, QValueList<KSharedPtr<KService> > const&, QValueList<KSharedPtr<KService> > const&, QString const&, bool) ()
   from /opt/kde3/lib/libkdeinit_konqueror.so.0
#26 0x41553cb1 in KonqViewManager::setupView(KonqFrameContainerBase*, KonqViewFactory&, KSharedPtr<KService> const&, QValueList<KSharedPtr<KService> > const&, QValueList<KSharedPtr<KService> > const&, QString const&, bool, bool) ()
   from /opt/kde3/lib/libkdeinit_konqueror.so.0
#27 0x4155667d in KonqViewManager::loadItem(KConfig&, KonqFrameContainerBase*, QString const&, KURL const&, bool) ()
   from /opt/kde3/lib/libkdeinit_konqueror.so.0
#28 0x41555003 in KonqViewManager::loadViewProfile(KConfig&, QString const&, KURL const&, KonqOpenURLRequest const&, bool) ()
   from /opt/kde3/lib/libkdeinit_konqueror.so.0
#29 0x415544f5 in KonqViewManager::loadViewProfile(QString const&, QString const&, KURL const&, KonqOpenURLRequest const&, bool) ()
   from /opt/kde3/lib/libkdeinit_konqueror.so.0
#30 0x4155b9e8 in KonqMisc::createBrowserWindowFromProfile(QString const&, QString const&, KURL const&, KParts::URLArgs const&, bool) ()
   from /opt/kde3/lib/libkdeinit_konqueror.so.0
#31 0x41537d97 in KonquerorIface::createBrowserWindowFromProfile(QString const&, QString const&) () from /opt/kde3/lib/libkdeinit_konqueror.so.0
#32 0x4153812b in KonquerorIface::createBrowserWindowFromProfileASN(QString const&, QString const&, QCString const&) ()
   from /opt/kde3/lib/libkdeinit_konqueror.so.0
#33 0x415a7759 in KonquerorIface::process(QCString const&, QMemArray<char> const&, QCString&, QMemArray<char>&) () from /opt/kde3/lib/libkdeinit_konqueror.so.0
#34 0x408168f1 in DCOPClient::receive(QCString const&, QCString const&, QCString const&, QMemArray<char> const&, QCString&, QMemArray<char>&) ()
   from /opt/kde3/lib/libDCOP.so.4
#35 0x4080fd9b in DCOPProcessInternal(DCOPClientPrivate*, int, unsigned long, QMemArray<char> const&, bool) () from /opt/kde3/lib/libDCOP.so.4
#36 0x4080f53d in DCOPProcessMessage(_IceConn*, void*, int, unsigned long, int, IceReplyWaitInfo*, int*) () from /opt/kde3/lib/libDCOP.so.4
#37 0x4081fe17 in KDE_IceProcessMessages () from /opt/kde3/lib/libDCOP.so.4
#38 0x40817ade in DCOPClient::processSocketData(int) ()
   from /opt/kde3/lib/libDCOP.so.4
#39 0x40818f00 in DCOPClient::qt_invoke(int, QUObject*) ()
   from /opt/kde3/lib/libDCOP.so.4
#40 0x40aff3b7 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#41 0x40aff498 in QObject::activate_signal(int, int) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#42 0x40df86c0 in QSocketNotifier::activated(int) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#43 0x40b1c3b0 in QSocketNotifier::event(QEvent*) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#44 0x40a9dee8 in QApplication::internalNotify(QObject*, QEvent*) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#45 0x40a9d44a in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#46 0x406a0c52 in KApplication::notify(QObject*, QEvent*) ()
   from /opt/kde3/lib/libkdecore.so.4
#47 0x40a752f6 in QEventLoop::activateSocketNotifiers() ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#48 0x40a51f1b in QEventLoop::processEvents(unsigned) ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#49 0x40ab2583 in QEventLoop::enterLoop() ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#50 0x40ab2476 in QEventLoop::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3
#51 0x40a9e16f in QApplication::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3
#52 0x415359e9 in kdemain () from /opt/kde3/lib/libkdeinit_konqueror.so.0
#53 0x0804ce00 in launch(int, char const*, char const*, char const*, int, char const*, bool, char const*, bool, char const*) ()
#54 0x0804db2b in handle_launcher_request(int) ()
#55 0x0804e068 in handle_requests(int) ()
#56 0x0804eddd in main ()
#57 0x411ba857 in __libc_start_main () from /lib/libc.so.6

this happens always, while libkrpmview gets loaded:(
Comment 1 Maksim Orlovich 2003-07-10 15:33:08 UTC
What makes you think this is a KDE bug? We don't ship a libkrpmview, AFAIK


Comment 2 Philipp Frenzel 2003-07-10 21:12:53 UTC
I'm sorry, if this isn't a bug that's caused by KDE, it is my fault, but anyqway
konqueror crashes while he tries to load this plugin! So where should i go with
this crash? As Konqueror is my default Webbrowser, I currently kill myself using
mozilla:(
So please, what can I do to avoid this crash?
Comment 3 Maksim Orlovich 2003-07-11 02:57:08 UTC
Well, the easiest option would probably be to uninstall that plugin, and to report 
the problem to its developer.  
 
Comment 4 Casey Allen Shobe 2003-07-11 04:04:28 UTC
When plugins crash, Konqueror shouldn't crash.  I can't count the number of times 
nspluginviewer has locked up Konqueror, forcing me to kill -9 the PID, because 
ctrl-alt-backspace, click doesn't really kill the process.  This is really quite a lot worse when 
shared memory is enabled on a low-memory machine, because all of the browser windows lock 
up. 
 
Another note is that even with shared memory disabled, the individual tabs are not isolated.  
When one tab locks up (quite often on my P2-333 machine), the entire window locks up to the 
point of requiring a kill -9 <PID>.  Even if there are no tabs, khtml should run in an isolated 
process, such that that "tab" would close itself, and then konqueror could spawn a new khtml 
part with no page loaded. 
Comment 5 Philipp Frenzel 2003-07-11 22:01:53 UTC
Hi, I know the origin of the package, it is in kdebase-suse, so i have to report to SuSE, that 
this plugin doesn't work fine with the cvs-konqueror! The question is know, should i close this 
bug, or as it seems to be a general problem how konqueror handels plugins, i should keep it 
unconfirmed? 
Comment 6 Maksim Orlovich 2003-07-11 22:05:45 UTC
It's not a "general problem", it's a choice made in a trade off, one either 
has to chose plugins being able to bring down the entire application, or them 
being considerably more resource hingry. I do wonder why the plugin broke with 
the new Konq version, though -- perhaps we broke some API compatibility 
incorrectly, which would be a Konqueror bug.... It's hard to say, so I'll keep 
this open for now. 
 
 
Comment 7 Koos Vriezen 2003-07-11 22:24:10 UTC
Note that nsplugin does run nspluginviewer in a separate process as does kjavaappletviewer and 
kmplayer for java and movie player resp.. If a flash movie lock up konqueror, 'killall 
nspluginviewer' mostly does the trick. 
Comment 8 Casey Allen Shobe 2003-07-14 22:34:33 UTC
'killall nspluginviewer' is a horrible solution that kills not only the current locked up process, 
but all the others as well.  It's also quite difficult to help new users understand what do do when 
a KDE application locks up, and clicking on the close button has no effect.  At least in Windows, 
if clicking the close button doesn't work, you eventually get a prompt to end the process.  In 
many other window managers, right-clicking the window decoration gives you the option to kill 
the process.  In KDE, there's this wonderfully useless Ctrl-Alt-Esc, click solution that does 
nothing but make the window go away but leaves the process running, which is still eating all 
of your CPU until you manage to kill it (why would you ever want this?).  There needs to be a few 
things... 
 
A>  A way to kill applications reliably that doesn't involve hunting through a process list 
(currently, you get to wait forever for ksysguard to start (very slow when your processor is being 
eaten by a gone-wrong process)).  It's also super fun to try to select the processes you want to kill 
in ksysguard's constantly-refreshing, nonstandard interface, and people more often than not end 
up killing more than they intend (my friend was just trying to kill off a locked-up realplayer, and 
somehow managed to also kill kdesktop and kwin as well).  It would be super to be able to map 
this to right-clicking the close button.  But this is really a kwin request I suppose. 
 
B>  The aforementioned choice between a crash-prone konqueror and a stable one with more 
resource usage given to the user.  This exists somewhat in the option for sharing the memory in 
Konqueror.  I may not have a lot of memory, but I choose to turn it off such that one web page 
doesn't crash 15 browsers (which drives a lot of people into resorting to Mozilla out of 
frustration and not understanding that there *is* a choice).  I may have to add a bunch more 
swap and make my machine slow to a horrible crawl to load plugins as separate processes, but 
that's worth it to me, especially now that Konqueror has tabs, because the tabs are not handled 
independently, and thus one broken plugin ends up killing off 15 tabs. 
 
Say what you want about reliability versus resources, but Konqueror is *not* reliable in it's 
current state.  Plugins are an especially risky area, because you're putting trust in somebody 
else's code, which may be horrible.  Thus, they should be loaded independently.  Kicker has a 
configuration panel where you can choose which applets (equatable to plugins) you want to 
load internally. 
Comment 9 George Staikos 2003-07-20 00:11:56 UTC
If nspluginviewer freezes or crashes, please file a specific bug report against it.  I am 
actively maintaining it.  One tip: disable artsdsp to fix most nspluginviewer problems 
that still exist. 
Comment 10 Luís Pedro Coelho 2003-09-28 17:20:59 UTC
This seems to be a SuSe problem. 
If it was a nsplugin problem, report it specifically 
The new kwin seems to handle locked-up windows much better (yes, 
CTRL-ALT-ESC is IMHO almost useless and most users fail to understand it). 
 
I am tempteed to close.  However, I would like tokeep this if it is still valid on CVS 
HEAD or 3.2-alpha2 as this might indicate an incoompatible change in the API. 
 
regards 
luis  
 
Comment 11 Stephan Kulow 2003-09-28 18:37:43 UTC
something is buggy in the rpmviewer that only appears when the asserts check for it 
Comment 12 Adrian Schroeter 2003-09-29 10:48:48 UTC
Philip, this works here for me with KDE 3.2 test rpms. do I need to do anything 
special or any special rpm ? 
Can you send me your configure flags ? 
Comment 13 Stephan Kulow 2003-10-19 10:18:11 UTC
anyway, I'd say that's an installation bug.
Comment 14 Stephan Kulow 2003-12-09 13:27:22 UTC
*** Bug 69875 has been marked as a duplicate of this bug. ***
Comment 15 Maksim Orlovich 2003-12-10 06:55:22 UTC
*** Bug 69988 has been marked as a duplicate of this bug. ***
Comment 16 George Moody 2003-12-10 10:06:58 UTC
Removing the application and its associated libraries for krpmview solved the problem of Konqueror crashing in Web Browsing profile. Using Lonqueror to submit this amendment. Problem didn't occur in the SuSE 3.1.93 (beta 1) rpms or subsequent snapshots but only in beta 2 .
Comment 17 Stephan Kulow 2003-12-12 12:52:52 UTC
*** Bug 70204 has been marked as a duplicate of this bug. ***
Comment 18 Maksim Orlovich 2003-12-13 04:13:34 UTC
*** Bug 70272 has been marked as a duplicate of this bug. ***
Comment 19 yaoting 2003-12-13 05:01:17 UTC
So, what's the final remedy for this bug?
Comment 20 Thiago Macieira 2003-12-13 05:21:40 UTC
Removing libkrpmview. Or fixing it. Whichever of the two, it's not something we can do at KDE. That library is not part of our code.
Comment 21 Philipp Frenzel 2003-12-15 11:11:00 UTC
If you just remove the KDEBASE-SUSE Package, everything works fine!
This is how I solved the problem;)
Comment 22 Facundo Garat 2003-12-15 14:10:51 UTC
Subject: Re:  khtml -> konqueror crash while loading libkrpmview         

Great....

It works fine after I remove KDEBASE-SUSE...

Thanks.
ps: the tabbed nav also works  after removing the package!!!


On 15 Dec 2003 10:11:01 -0000
Philipp Frenzel <philipp@flip-web.net> wrote:

> ------- You are receiving this mail because: -------
> You are on the CC list for the bug, or are watching someone who is.
>      
> http://bugs.kde.org/show_bug.cgi?id=61042     
> 
> 
> 
> 
> ------- Additional Comments From philipp@flip-web.net  2003-12-15 11:11 -------
> If you just remove the KDEBASE-SUSE Package, everything works fine!
> This is how I solved the problem;)


Comment 23 Willi Richert 2003-12-15 17:28:11 UTC
The shortes way to solve this for me was

rm -f /opt/kde3/lib/libkrpm*
Comment 24 Maksim Orlovich 2003-12-20 18:49:40 UTC
*** Bug 70929 has been marked as a duplicate of this bug. ***
Comment 25 Thiago Macieira 2003-12-22 22:37:35 UTC
*** Bug 71070 has been marked as a duplicate of this bug. ***
Comment 26 Stephan Kulow 2004-01-10 14:48:15 UTC
*** Bug 72287 has been marked as a duplicate of this bug. ***
Comment 27 Stephan Kulow 2004-01-26 17:54:17 UTC
*** Bug 73506 has been marked as a duplicate of this bug. ***
Comment 28 Tommi Tervo 2004-01-26 23:46:37 UTC
*** Bug 73572 has been marked as a duplicate of this bug. ***
Comment 29 Marco Hofmann 2004-01-27 10:01:43 UTC
A quick hack to avoid crashing was to substitute the assert(ABC) DEF line in 
kdelibs-xxx/kparts/factory.cpp  function createObject(...) 
with a simple if(ABC) DEF else return 0.

This is just a fix to keep things running, not a real bug fix.

Comment 30 Stephan Kulow 2004-02-11 13:33:03 UTC
*** Bug 74935 has been marked as a duplicate of this bug. ***
Comment 31 Maksim Orlovich 2004-02-14 02:19:29 UTC
*** Bug 75176 has been marked as a duplicate of this bug. ***
Comment 32 Stephan Kulow 2004-08-26 12:32:38 UTC
*** Bug 88026 has been marked as a duplicate of this bug. ***
Comment 33 Lubos Lunak 2004-08-27 10:35:33 UTC
*** Bug 88197 has been marked as a duplicate of this bug. ***
Comment 34 Maksim Orlovich 2004-08-29 16:42:04 UTC
*** Bug 88341 has been marked as a duplicate of this bug. ***