[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: Is there a way to stop crashing KPart::ComponentFactory::createInstanceFromQuery() when...
From:       Simon Hausmann <hausmann () kde ! org>
Date:       2002-03-08 12:50:30
[Download RAW message or body]

On Mon, Feb 25, 2002 at 10:48:22AM +0100, Marc Mutz wrote:
> On Monday 25 February 2002 09:08, Simon Hausmann wrote:
> <snip>
> > > KMail just crashed on me b/c my libkregexpeditorgui.so had
> > > unresolved symbols (I haven't re-compiled kdeutils yet)... :-(
> >
> > I'd be happy to help making it no more crashing if I'd know where it
> > does so :) Do you have a backtrace available?
> <snip>
> 
> Use an old (as in: has unresolved symbols) regexpeditor shared lib and 
> try opening the Filter Dialog in KMail.
> 
> No backtrace, just exiting. Last output when run from gdb:
> > kio (KTrader): KServiceTypeProfile::offers( 
> > KRegExpEditor/KRegExpEditor, )
> > kio (KTrader): No profile, using KServiceType::offers, result: 1 
> > offers
> > kmail: error while loading shared libraries: 
> > /opt/kde-HEAD/lib/kde3/libkregexpeditorgui.so: undefined symbol: 
> > loadIcon__C11KIconLoaderRC7QStringiiiP7QStringb
> > 
> > Program exited with code 0177.
> 
> Ok, no crash. But it shouldn't exit either, since the regexpeditor is 
> supposed to not be a requirement.
> I'm a layman when it comes to dlopening, but it surely gives an error 
> when it cannot resolve some symbol instead of quitting the parent 
> application?

Thinking about this again I come to the conclusion that there is no
real solution. As far as I can see the above happens during lazy
symbol lookup, and in fact the dynamic linker can't do anything
better than aborting the application.

One theoretical solution would be to disable the lazy lookups.

The above error appears to be caused by a simple binary incompatible
change in kdelibs. These should be gone for 3.0 . The only case
where I guess this situation could still run in would be when say
the regexp editor starts using a new symbol from 3.1 libs while
being used in a plain 3.0 environment.

I'm not sure what we can do about that...


Simon
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic