Thanks for this. I'll look into it (we're supposed to be at code freeze, but we can't issue a "maintenance" release that's going to break everyone's code!)
Is this explicitly due to the fact the exception is thrown, or related to maybe a bug the lua_pcall error handler feature? Or put another way, previously were errors logged with the same message (but no exception)?
Apologies for introducing a load of issues into what should be the stable branch of the code
I've run a couple of tests and did not get any issues. What I did was to try and recreate something similar to what you posted, as follows:
Created a lua table with a function to be called, and a field (to test the 'self').
Subscribed to the "Window/WindowUpdate" event using the function from the table, and passing the table as the self parameter.
The subscription and subsequent firing of the handler all occur as I would expect - no errors logged and no exceptions thrown.
From the error you posted, it looks like "MessageTracker.DoUpdate" is not correctly initialised to a function (but rather a number), it's strange if it was working previously (this is why I asked about the possibility of the errors being logged before).
From some more tests, and re-reading the error, it seems the error is not coming from the subscription, but the subsequent firing of the event and calling of the handler. The only thing I could get to come close was to do something like this in the handler (contrived example):
Which results in:
attempt to call local 'failuare' (a number value)
It's odd that no name is mentioned in your own error log, since that would help narrow this down considerably.
Currently, I have to lean towards saying - if I might be so bold - that I believe there might be an issue in your lua code somewhere