View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005296 | The Dark Mod | Coding | public | 16.07.2020 12:23 | 17.07.2020 17:53 |
Reporter | stgatilov | Assigned To | stgatilov | ||
Priority | low | Severity | feature | Reproducibility | N/A |
Status | resolved | Resolution | fixed | ||
Product Version | TDM 2.09 | ||||
Target Version | TDM 2.09 | Fixed in Version | TDM 2.09 | ||
Summary | 0005296: Implement FP exceptions handling: crash on NaN | ||||
Description | There have been nasty bugs when NaN appear in the data, get silently propagated across dataflow, causing a crash in another place. On x64, it is possible to configure FP exceptions, for instance cause a crash when NaN appears. It would be great to implement a developer mode which works this way. | ||||
Additional Information | See also original discussion on forums: https://forums.thedarkmod.com/index.php?/topic/19093-generate-fp-exceptions | ||||
Tags | No tags attached. | ||||
The main commits are: r8846 New sys function FPU_SetExceptions --- implemented only on Windows. r8848 Added cvar com_fpexceptions to enable/disable exceptions. Also implemented idIgnoreFpExceptions scope guard --- not used yet. r8850 Ignore FP exceptions in several SIMD routines. They are known to have NaN as intermediate values, or to accept NaN from some external calls. After that catching FP exception works by setting cvar "com_fpexceptions 1" However, there are many places with NaNs in the code... |
|
Revisions 8851-8854 fix various places where NaNs and overflows happen regularly. | |
More fixes follow in svn revs 8855-8862. Hopefully, I did not break anything =) Right now the following FMs can start and play with "com_fpexceptions 1": New Job Saint Lucia Inn Business Behind Closed Doors I think it should not generate to much trash now, and can be used to debug issues. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
16.07.2020 12:23 | stgatilov | New Issue | |
16.07.2020 12:23 | stgatilov | Status | new => assigned |
16.07.2020 12:23 | stgatilov | Assigned To | => stgatilov |
16.07.2020 16:38 | stgatilov | Note Added: 0012656 | |
16.07.2020 16:38 | stgatilov | Note Edited: 0012656 | |
16.07.2020 16:51 | stgatilov | Note Added: 0012657 | |
17.07.2020 17:53 | stgatilov | Note Added: 0012658 | |
17.07.2020 17:53 | stgatilov | Status | assigned => resolved |
17.07.2020 17:53 | stgatilov | Resolution | open => fixed |
17.07.2020 17:53 | stgatilov | Fixed in Version | => TDM 2.09 |