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