View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006143 | Open CASCADE | OCCT:Foundation Classes | public | 2004-06-21 14:20 | 2012-01-17 12:07 |
Reporter | Assigned To | ||||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
OS | Windows NT | ||||
Fixed in Version | 5.2.1 | ||||
Summary | 0006143: Correct handling of exceptions on WNT | ||||
Description | The current mechanism of signal handling in OCC on WNT is not perfect. To remember, it is initiated by calling the function OSD::SetSignal. The WNT branch of source code of that function uses POSIX emulation of signal handling, the function signal, which dispatches signals such as “Segmentation Violation” to a user function. The drawback of this method is that not all signals are treated by core of signal. For example, the signals “Integer Divide by Zero” or “Stack Overflow” are not caught by this method. The remaining system exceptions are caught by means of the function SetUnhandledExceptionFilter. The exceptions are caught fine but one remark. If a user uses catch(...) clause somewhere in the upper level function then the statement catch(Standard_Failure) doesn't work in a lower stack frame. This leads to unexpected behaviour in user applications. To work around this problem Visual C++ CRT function _set_se_translator should be used. | ||||
Additional information and documentation updates | Documentation remark, added by MSV 2004-10-01 12:33:33: Improvements: The mechanism of system exceptions (signals) handling has been improved: 1. All floating point errors are now converted to OCC exceptions inheriting the class Standard_NumericError. 2. The function OSD::SetSignal() has been enhanced on Windows platform. Now it can work using either SetUnhandledExceptionFilter Win32 API call or _set_se_translator MS Visual C++ runtime library call. The needed method is chosen using OSD::UseSETranslator function. A numerous number of floating point errors in various modeling algorithms (extrema, boolean operations, draft features, surface intersector, local and global properties of shapes, shape healing) were arised after this improvement. They all were fixed, and the reliability and stability of OCC code at whole became much better. Modified entities: OSD/OSD.cdl: 1. Two overloaded methods UseSETranslator have been added. 2. The description of SetSignal method has been updated. A number of source files in other packages were modified. Only *.cxx and *.gxx files were touched. | ||||
Tags | No tags attached. | ||||
Test case number | |||||
|
related to | 0006474 | closed | Incorrect result of intersection of a plane and an extrusion surface |
2004-06-21 12:27
|
OCC6143_msv_patch.tgz (15,607 bytes) |
2004-06-21 12:29
|
OCC6143_patch_for_Gallery.tgz (1,903 bytes) |
2004-06-25 15:41
|
OCC6143_msv_patch_v2.tgz (14,876 bytes) |
2004-06-25 15:41
|
OCC6143_patch_for_Gallery_v2.tgz (2,036 bytes) |
2004-06-28 08:17
|
OCC6143_msv_patch_v3.tgz (14,950 bytes) |
2004-06-28 08:17
|
OCC6143_patch_for_Gallery_v3.tgz (2,101 bytes) |
2004-06-30 12:01
|
OCC6143_msv_patch_v4.tgz (14,972 bytes) |
2004-06-30 12:01
|
OCC6143_patch_for_Gallery_v4.tgz (2,160 bytes) |
2004-07-22 14:45
|
OCC6143_msv_patch_v5.tgz (56,307 bytes) |
2004-08-10 15:14
|
OCC6143_msv_patch_v6.tgz (94,523 bytes) |
2004-08-23 11:50
|
OCC6143_msv_patch_v7.tgz (116,054 bytes) |
2004-08-23 11:51
|
OCC6143_QA_patch_v1.tgz (16,939 bytes) |
2004-08-23 11:59
|
Patch_for_test_chl.tgz (513 bytes) |
2004-09-10 13:28
|
OCC6143_msv_patch_v8.tgz (117,194 bytes) |
2004-09-23 13:49
|
post_patch_v1.tgz (18,019 bytes) |
Date Modified | Username | Field | Change |
---|---|---|---|
2004-06-21 14:33 |
|
CC | => imv |
2004-06-21 14:36 | bugmaster | Assigned To | bugmaster => msv |
2004-06-21 14:36 | bugmaster | Status | new => assigned |
2004-06-21 14:37 | bugmaster | Status | assigned => resolved |
2004-06-22 17:51 |
|
CC | => mkv, aki |
2004-06-23 14:51 | imv | CC | => msv |
2004-06-25 17:56 |
|
CC | => abv |
2004-07-05 12:25 | bugmaster | Assigned To | msv => abv |
2004-07-05 12:25 | bugmaster | Status | resolved => assigned |
2004-07-15 12:31 |
|
Assigned To | abv => msv |
2004-07-22 16:44 |
|
Status | assigned => resolved |
2004-08-20 14:08 |
|
OtherBugsDependingOnThis | => 6474 |
2004-09-10 14:32 |
|
Status | resolved => tested |
2004-09-13 08:30 | bugmaster | Status | tested => verified |
2004-09-15 11:09 | bugmaster | CC | => mkk |
2004-09-23 15:51 |
|
groupset | 128 => 8590983296 |
2004-09-23 16:40 | bugmaster | Assigned To | msv => bugmaster |
2004-09-23 16:40 | bugmaster | Status | verified => assigned |
2004-09-23 16:40 | bugmaster | groupset | 8590983296 => 17600777552000 |
2004-09-23 16:40 | bugmaster | Status | assigned => resolved |
2004-09-27 16:27 |
|
Status | resolved => tested |
2004-10-01 14:12 | bugmaster | Assigned To | bugmaster => msv |
2004-10-01 14:12 | bugmaster | Status | tested => assigned |
2004-10-01 14:34 |
|
Status | assigned => resolved |
2004-10-04 10:04 | bugmaster | Status | resolved => verified |
2004-11-01 12:09 | bugmaster | Status | verified => closed |
2004-11-01 12:09 | bugmaster | Resolution | @0@ => fixed |
2011-08-02 11:23 | bugmaster | Category | OCCT:FDC => OCCT:Foundation Classes |
2012-01-17 12:07 |
|
Description Updated | |
2012-01-17 12:07 |
|
Additional Information Updated |