@DisasterFaster Ty, I'll take a look at that. I upgraded the wallet on a dual Xeon box today and I'm getting the same hanging app issues without even touching mining. I swear I wonder if it has anything to do with my wallet file as it certainly seems to be choking on something. In any case I can't use the wallet like this and I definitely can't solo mine like this. I'll be happy to contribute whatever info I can about my environments.
fyi, I have an Intel core i7, AMD, and Xeon environments to test with. All Windows 10 Pro.
Do you have a lot of hodlings in your wallet? That table gets updated on every block with new interest information, so if it is very big, it might cause problems consistent with the ones you're seeing. Maybe use a fresh wallet every so often.
Let's say it's the wallet. Why would the wallet work normally in 2.0 but not 3.0 on all of the mentioned machines?
the way sorting is applied in Qt tables may be the cause. basically for each new block each line in the table is updated then sorted. this sorting obviously didn't exist in 2.0
You likely have something there Fuzz. I currently have 2758 Hodlings in my list btw. A side effect of a year of mining and having to auto-hodl every block payment I guess. I would probably have combined a days worth of mining into a single HODL deposit which would have dramatically reduced the number of HODLing transactions in the list. But ok, let's follow the thought:
In 2.0: The HODling list is not sortable. The unsorted list appears to be organized according to some principle I don't understand. Perhaps it was based on Nutoshi Sakamoto's shoe size or how many nuts he could fit on the head of a pin, I don't know. Whatever the sorting principle is, it must be a logical organization according to the software and when a block is found the interest earned update to all the HODLing transactions is done in that same logical manner, straight down the list. I'm completely spit-balling, I am not a coder.
In 3.0: The HODling list is sortable. When sorted according to estimated date of maturity, this perhaps effectively creates a random list as far as the software is concerned, and when a block is found and it tries to update the interest for each transaction, maybe it has to search through the whole list each time to find the "next" transaction to update. And when that search happens 2000 times in rapid succession, it hangs the app.
In regard to creating a "fresh" wallet now and again, we discussed that back when the auto-hodl was put in place. The fear was, if we have separate wallets, anything auto-hodled would be "stuck" in that wallet till it matured, and we could end up with multiple wallets that we had to keep up with. Without auto-hodl, you can simply send any earnings in a separate wallet to your "main" wallet before you HODL it, thus keeping everything in one place and manageable. Now, maybe you could get around the issue and import addresses from the separate wallets into your main and thus combine the HODLing lists, I don't know.
The easiest solution at the time was to use the same wallet file for all machines you wanted to have your wallet on, and then to mine with the pool since its efficiency was beating solo mining to death.