I can't remember the situation, but I remember in one of the tech threads, there was a crashing situation on multi-CPU machines that was fixed by forcing the process to only use one CPU.
This was already posted by someone, but I'll recap the manual way to fix it. As my only multi-CPU system is Windows 7, that's what I will describe.
in the task manager application tab. Right click and choose "Goto Process". On the process, right click it and choose "Set Afinity". Then pick just one CPU. (For OpenCPN
you can actually just go straight to the process, but the above way is a little easier...)
OK, so that fixes it. But only as long as it is running. You'll have to repeat that each time you start it up.
For that, try WinAFC (Windows AFinity Control). You can find it at SourceForge. I put it on my machine last night and tested it with FAH (Folding At Home). It is fairly easy to use and is highly configurable.
As an example, if you want to force OpenCPN to CPU 4, here is what you will need in the configuration file:
C:\Program Files (x86)\OpenCPN := CPU3
That's CPU3, because the 4 CPUs are numbered 0-3.
As I look at the example above, I realize the path I tested did not have spaces in it. You might need quotes around that. But the := makes me think it might work like it is.
It defaults to running in test mode, so after you fire it up the first time, check the log. If it looks right, comment out the Test Mode line and have it load the configuration again.
It also defaults to checking every 30 seconds. That could be a problem if what causes your crash comes up in less than that amount of time, so you might need to shorten that down a bit. Shouldn't take too much CPU to check more often. That is a command line setting. EDIT - this can be set in the config, as well.
is good and there are lots of examples.
with download link.