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

List:       kde-devel
Subject:    Re: Umm... SEVERE khtml problems in current CVS
From:       Antonio Larrosa =?iso-8859-1?q?Jim=E9nez?= <larrosa () kde ! org>
Date:       2001-07-22 0:46:01
[Download RAW message or body]

El Sáb 21 Jul 2001 18:09, Dirk Mueller escribió:
> On Sam, 21 Jul 2001, Antonio Larrosa Jiménez wrote:
> > Both the flash library and libGLU.so define something called
> > "DisplayList", it seems to me that when flash tries to access it, it
> > access the libGLU's DisplayList instead which leads to a crash.
>
> Are you sure that DisplayList wasn't a undefined symbol for the flash
> player plugin ? at least I can't find such a symbol here.
>

Oops, I didn't saw the difference between -g and -u in nm. From the man 
page:
-u Display  only  undefined symbols (those external to each object file).
-g Display only external symbols.

DisplayList is an external symbol in both libGLU and libflashplayer as can 
be shown by 
> nm -gCD libflashplayer.so | grep DisplayList
...
000409f8 T DisplayList::~DisplayList(void)
0003cae0 T DisplayList::DisplayList(void)
...

> nm -gCD libGLU.so | grep DisplayList
0003c380 T DisplayList::~DisplayList(void)
0003c330 T DisplayList::DisplayList(NurbsTessellator *)

But it's not undefined. Anyway my explanation would be quite nice to 
explain why I get this backtrace :

#4  <signal handler called>
#5  0x40eab3a7 in DisplayList::~DisplayList () from /usr/lib/libGLU.so.1
#6  0x4131b1e9 in _fini () from /opt/netscape/plugins/libflashplayer.so
#7  0x8055f67 in NSPluginInstance::shutdown ()
#8  0x8062088 in NSPluginInstanceIface::process ()
#9  0x40623b7a in DCOPClient::receive () from 
/opt/kde2-head/lib/libDCOP.so.1

I mean, obviously, _fini (some kind of "finishing" function in flash) 
calls the DisplayList destructor of libGLU instead of its own 
DisplayList's destructor which leads to the crash. Isn't it ?

Anyway, I made a quick test to see if this is really the problem:
I opened libGLU.so.1 with khexedit and changed every ocurrence of 
DisplayList to DisplazList. After running kdeinit and opening konqueror, 
I had no more crashes from nspluginviewer. Of course, I don't expect any 
mesa app to work in this way (although I didn't try ;-) ), so I changed it 
back to DisplayList. But we still have to find some kind of solution to 
this.

Greetings,

--
Antonio Larrosa Jimenez
KDE Core developer  - larrosa@kde.org
SuSE Labs developer - larrosa@suse.de
http://perso.wanadoo.es/antlarr
KDE - The development framework of the future, today.

>> Visit http://master.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

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

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