On Feb 6, 2010, at 8:31 PM, David MacMahon wrote:

> Hi, Hazen,
>
> On Feb 6, 2010, at 8:40 , Hazen Babcock wrote:
>
>> The gist of it is this statement:
>> "if the CoreFoundation library's being initialized - perhaps as a
>> result
>> of that library being loaded as a dependent of some other library -
>> and
>> the current thread is not the initial thread, waste everyone's  
>> time by
>> executing a breakpoint instruction."
>
> It sounds like this occurs when a multi-threaded program that is not
> linked with CoreFoundation dynamically loads a library that depends
> on CoreFoundation from within a thread other than the initial thread.
>
>> So, if you try to use Plplot with the Aquaterm driver, which in turn
>> will try to load the CoreFoundation library, in a threaded  
>> environment
>> your process will crash.
>
>  From my reading of the article excerpted above, this is true only if
> the program calls PLplot from a non-initial thread to load the
> aquaterm driver.  And it's only true if executing the breakpoint
> instruction causes a crash.  Maybe the breakpoint instruction gets
> trapped somehow so that the main thread can load CoreFoundation?
>
> Have you actually experienced a crash due to this on Snow Leopard or
> are you expressing concern about a potential crash?

I have not personally experienced this but a user of cl-plplot (the  
lisp bindings for Plplot) ran into this problem. If you are running a  
multi-threaded lisp process in a terminal window (a pretty common way  
to run lisp) and then try and use the aquaterm driver in Plplot the  
lisp process will crash with a "Trace / BPT trap" message.

>> Perhaps the onus is on us to somehow figure out
>> if the CoreFoundation library has already been loaded and avoid
>> reloading it? Or maybe that is just not possible?
>
> If it's already been loaded, no problem.  If it hasn't been loaded
> and PLplot loads the aquaterm driver, that will load CoreFoundation.
>
> This is probably not unique to the aquaterm driver.  I think loading
> the xcairo driver also ends up loading CoreFoundation if it hasn't
> been loaded already, so that too would be subjected to this behavior.

The user said that the xwin driver was ok, so maybe the xcairo driver  
will work as well?

-Hazen


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to