The configuration utility in Dragon Age: Origins - Ultimate Edition (47810) crashes on machines with too many[1] CPU cores with an error like this: wine: Unhandled division by zero at address 00470631 (thread 016c), starting debugger...
which looks like simply a legacy code issue of not foreseeing high core counts in the future
While this would otherwise be harmless, as the game itself can adjust all the settings the configuration utility can, this becomes a problem because the game launcher insists of running the configuration utility if no config file is yet written, refusing to launch the game until there is one. This results in a kind of a accidental denial of service, as while the game itself runs fine with many cores, the configuration utility gets launched instead, to write the config file, which it cannot do due to crashing – a sort of a chicken and egg situation.
Workaround: disabling some cores in BIOS if possible, until a configuration file is written by the utility OR copying over a config file allows to launch the game.
[1] I experience this on Ryzen 9 5950X, which is 16c/32t CPU, but it works fine if I disable half of the cores. Also works fine on a Ryzen 7 5700G, which is 8c/16t. The configuration utility reports each thread as a physical core, so the thread count is what really matters. Therefore, the threshold of how many cores-actually-threads it can handle at most must be somewhere within the range of 16-31 threads or "cores".
The configuration utility in Dragon Age: Origins - Ultimate Edition (47810) crashes on machines with too many[1] CPU cores with an error like this:
wine: Unhandled division by zero at address 00470631 (thread 016c), starting debugger...which looks like simply a legacy code issue of not foreseeing high core counts in the future
While this would otherwise be harmless, as the game itself can adjust all the settings the configuration utility can, this becomes a problem because the game launcher insists of running the configuration utility if no config file is yet written, refusing to launch the game until there is one. This results in a kind of a accidental denial of service, as while the game itself runs fine with many cores, the configuration utility gets launched instead, to write the config file, which it cannot do due to crashing – a sort of a chicken and egg situation.
Workaround: disabling some cores in BIOS if possible, until a configuration file is written by the utility OR copying over a config file allows to launch the game.
[1] I experience this on Ryzen 9 5950X, which is 16c/32t CPU, but it works fine if I disable half of the cores. Also works fine on a Ryzen 7 5700G, which is 8c/16t. The configuration utility reports each thread as a physical core, so the thread count is what really matters. Therefore, the threshold of how many cores-actually-threads it can handle at most must be somewhere within the range of 16-31 threads or "cores".