Update 23.11.2015: The latest version is now part of the official QuantLib Release 1.7.
Update 22.09.2015: Please find the latest and improved version of the patch for QuantLib 1.6.2 here.
The usage of QuantLib in JVM and .NET languages (e.g. Java/Scala and C#/F#) via the SWIG interface has a known shortcoming. The implementation of QuantLib’s observer pattern does not tolerate a parallel garbage collector running in a different thread. As a result programs are randomly crashing or producing “pure virtual function calls”. A detailed description of this problem can be found e.g. here and within the references.
Please find here a patch for QuantLib 1.4 to fix this issue. It contains
- Riccardo’s thread-safe singleton patch
- Thread-safe Observer pattern based on boost::signals2
- Irakli’s static data initialisation via function call
Installation instructions are included in the readme.txt file.