On Tue, Sep 06, 2011 at 10:13:57AM +0100, Andrew Ross wrote:
> On Tue, Sep 06, 2011 at 01:18:33AM -0700, Alan Irwin wrote:
> 
> > The problems could be caused by bugs in how certain specific versions
> > of libraries use atexit or could be caused by them simply starting to
> > use atexit at some version. In any case, it appears calling lt_dlexit
> > is an accident waiting to happen.  I guess we could work around all
> > potential problems by marking _every_ driver as resident, but if that
> > is identical to not calling lt_dlexit at all, maybe the simple fix is
> > to comment that call out (and put in code so that lt_dlinit() is
> > called only once).
> >
> > What do you think of that last simple idea?
> 
> I think you are probably right in that it is a problem with specific 
> versions of the library not cleaning up right. There is no way to remove
> an exit handler once installed by atexit() as far as I can tell so it
> is likely that it is an accident waiting to happen. What surprises me
> is that it hasn't happened before. The library in which the crash occurs
> does not contain a reference to atexit so I wonder if it is a problem with
> the handler being in a different library?

The specific handler seems to be related to fontconfig handling. There are 
a load of new valgrind warnings related to this which have appeared in Qt 
4.7.3 so I suspect changes in this code to be related to the problem.
 
> Not calling lt_dlexit at all seems wrong. After all one should tidy up. 
> If marking drivers as resident works then maybe we should do this for all
> cases? What I have not yet tested is what happens if you call plend 
> the subsquently call plinit again (for example using an interactive 
> driver like octave). I need to check this before we decide on a solution. 

I've tried it with my patched Debian version (qt.so marked as resident,
but still calling lt_dlexit() ) and it seems that repeated plinit / plend
calls using the qt driver are ok, at least with octave. From this I 
think that marking all drivers as resident is unlikely to have serious
side effects. 

Andrew

------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to