There is a serious race condition in 0.8.5 related to global variables and closure-bound local variables.  Due to this bug these variables are not safe to access in multi-threaded contexts.

This bug is already fixed in svn, however currently svn is unavailable because the sourceforge project has been migrated and the svn repo migration is still in progress.  From the current pace of the migration, it looks like it will take several days to complete.

In the meantime I have put a patch here: http://www.qore.org/tmp/patches/qore-085.patch

This relatively small patch addresses the following 3 bugs in 0.8.5:

  • the race condition regarding global and closure-bound local variables mentioned above
  • an error managing transactions with the DatasourcePool class when used with the SQLStatement class
  • an error in the MailMessage.qm user module where mail headers requiring encoding were not encoded and those not requiring encoding were encoded with Q encoding

update: the svn migration is done, and Qore 0.8.5.1 has been released with 4 bug fixes