Wait, my apologies, here is your issue from your log:
ERROR: “ngram_search_fwdtree.c”, line 336: No word from the language model has pronunciation in the dictionary
That means that your language model and dictionary don’t match in the session in which the crash occurs, so there is an exception the first time there is real speech in the audio buffer. Is there anything special about the language model generation code which could account for that, that you could share with me?
I would focus troubleshooting on making sure that something isn’t happening like giving OEPocketsphinxController the path to an old dictionary somehow instead of the most-recently-generated one, or similar. Something that may help to understand what is happening is to take a look at that .dic file that is generated and used in the crashing session, and see if its contents match what you expect them to be.