Wow, to fix the problem with the tx messaging (Send a message with your transaction feature) that was causing the Boost thread handling errors, I had to fix a different issue with the back-end software that fixed the first issue.
Anyway, I am testing the UFC stratum back end on port 4445, if anybody wants to try it.
This was the chain of events:
1. I started getting Boost threading exceptions on submit block.They would start up almost at random and nothing short of starting with a clean wallet/block chain would clear it up. These errors would have never led me to believe the issue was with the extra data in the TX (Message feature).
2.One of the active developers of stratum back-ends ,(amed_bodi) had recently published a commit solving this issue with the cloudcoin and other TX message coins.
3. That made my day when I saw it, not only was I not dealing with a core logic issue, but there was a fix.
4.Unfortunately, I started getting other errors with the back-end.I would have blocks get accepted by the coin daemon and put on the block chain, but the back-end would reject them and give out the infamous "500" errors.
5. At this point to keep the pool going I switched it to PushPool. This worked because with the LP protocol all the transaction handling and block building is done by the daemon, unlike stratum which gets instructions on how to construct a block (block template) and assembles then submits the completed block. PushPool only submits the header hash of a block while the daemon constructs it.
6. I found the issue and a quick fix for the problem unrelated to the first problem I was having with the back-end. It involves the way the Daemon accepts a get block command. One of the checks the back end of a pool does, is to check to see if a submitted block actuality made it into the block chain. Some scrypt daemons only accept the hexed scrypt hash with the get block command, UFC is one of them. So when the back end went to preform the test, it was passing the hexed block hash causing a 500 error. This lead to a condition where the block was actuality accepted to the block chain, but the back end would report it to the pool database as not accepted.
SO with the quick fix of passing the scrypt_hex_hash to the functions involved, i was able to get stratum working again for UFC. I want to test it for a few days to be sure, but you are welcome to use it on port 4445.