View Issue Details

IDProjectCategoryView StatusLast Update
0030790CommunityOCCT:Modeling Algorithmspublic2019-07-20 11:56
Reporterrbt2008 Assigned Tobugmaster  
PriorityhighSeverityminor 
Status closedResolutionfixed 
Product Version7.2.0 
Target Version7.4.0Fixed in Version7.4.0 
Summary0030790: [REGRESSION] Modeling Algorithms - Crash when loading specific step file
DescriptionApplication crashes when loading specific file (in attachment)

This is a REGRESSION since OCCT 7.2.0 (#0028490).
Steps To ReproduceLoad file: http://s000.tinyupload.com/download.php?file_id=88703362663105045445&t=8870336266310504544521615
Additional information
and documentation updates
It can be opened with ASSIMP
TagsNo tags attached.
Test case numberbugs/step/bug30790

Attached Files

  • 00033587_103145bb5cd746a5b2168013_step_000.png (494,418 bytes)
  • Untitled.png (70,219 bytes)
  • 00033587_103145bb5cd746a5b2168013_step_000.7z (2,180,790 bytes)

Activities

rbt2008

2019-06-18 15:42

reporter  

00033587_103145bb5cd746a5b2168013_step_000.png (494,418 bytes)

rbt2008

2019-06-18 15:44

reporter  

Untitled.png (70,219 bytes)

oan

2019-06-18 15:54

developer   ~0085119

Reported problem is not mesh-related.
Exception is raised during translation of STEP file to BRep model.

stepread 00033587_103145bb5cd746a5b2168013_step_000.step a *
#Reduced model for translation without additional info will be used
#An exception was caught bad array new length [class std::bad_array_new_length]
#** Exception ** bad array new length [class std::bad_array_new_length]

Issue is moved to Data Exchange category.

kgv

2019-06-24 08:30

developer  

00033587_103145bb5cd746a5b2168013_step_000.7z (2,180,790 bytes)

kgv

2019-06-24 08:41

developer   ~0085236

Crash happens within IntCurvesFace_Intersector due to number of C2 intervals equal to 1, which algorithm does not expect:
static void ComputeSamplePars(const Handle(Adaptor3d_HSurface)& Hsurface, 
                              const Standard_Integer nbsu,
                              const Standard_Integer nbsv,
                              Handle(TColStd_HArray1OfReal)& UPars, 
                              Handle(TColStd_HArray1OfReal)& VPars)
{
  Standard_Integer NbUInts = Hsurface->NbUIntervals(GeomAbs_C2);
  Standard_Integer NbVInts = Hsurface->NbVIntervals(GeomAbs_C2);
  TColStd_Array1OfReal UInts(1, NbUInts + 1);
  TColStd_Array1OfReal VInts(1, NbVInts + 1);
  Hsurface->UIntervals(UInts, GeomAbs_C2);
  Hsurface->VIntervals(VInts, GeomAbs_C2);
  //
  TColStd_Array1OfInteger NbUSubInts(1, NbUInts);
  TColStd_Array1OfInteger NbVSubInts(1, NbVInts);
  //
  Standard_Real t, dt;
  t = VInts(NbVInts + 1) - VInts(1); //!< NbVInts == 1 -> t == 0
  t = 1. / t; //!< t == inf
...
  VPars = new TColStd_HArray1OfReal(1, NbV + 1); //!< NbV < 0

emv

2019-06-24 09:02

developer   ~0085237

Dear Igor, please take care of the problem.

git

2019-07-11 21:39

administrator   ~0085608

Branch CR30790 has been created by kgv.

SHA-1: cf4f687b56c0746f7e58d0e25b8857c664e7e52b


Detailed log of new commits:

Author: kgv
Date: Thu Jul 11 21:36:01 2019 +0300

    0030790: [REGRESSION] Modeling Algorithms - Crash when loading specific step file
    
    IntCurvesFace_Intersector, fixed misprint in condition.

Author: kgv
Date: Thu Jul 11 09:38:54 2019 +0300

    0030628: [REGRESSION] Data Exchange - Crash on importing STEP file
    
    RWHeaderSection_RWFileDescription::ReadStep(), added check for an empty list.

git

2019-07-15 19:49

administrator   ~0085649

Branch CR30790_1 has been created by msv.

SHA-1: 422eadd3fe3fbc6d927131410860740be772c85e


Detailed log of new commits:

Author: msv
Date: Mon Jul 15 19:47:14 2019 +0300

    0030790: [REGRESSION] Modeling Algorithms - Crash when loading specific step file
    
    The problem occurred when the algorithm IntCurvesFace_Intersector was called for a face occupying zero extension along V direction. This is obviously a bad face, but we need to have the algorithm not crashing the application. So, the algorithm has been protected against such input data. At attempt to make calculations it establishes NotDone status.

msv

2019-07-15 19:54

developer   ~0085650

Please review.

http://jenkins-test-12.nnov.opencascade.com/view/CR30790_1-master-MSV/view/COMPARE/job/CR30790_1-master-MSV-OCCT-Debian80-64-opt-test-compare/

git

2019-07-16 09:46

administrator   ~0085656

Branch CR30790_1 has been updated by msv.

SHA-1: 3076fc276b91d98786d8e4da7aa09418dc4d1317


Detailed log of new commits:

Author: msv
Date: Tue Jul 16 09:44:22 2019 +0300

    #Small correction and updating bad test case

git

2019-07-16 09:50

administrator   ~0085657

Branch CR30790_1 has been updated forcibly by msv.

SHA-1: 540d49a2a9adb7246874895b90a110f9fe93b887

kgv

2019-07-16 10:50

developer   ~0085662

--- a/tests/de/step_3/D9
+++ b/tests/de/step_3/D9
+puts "TODO CR23096 ALL: Error : 2 differences with reference data found"

Shouldn't it be updating reference data instead?

msv

2019-07-16 16:04

developer   ~0085670

No, I think in this case in general we should get one solid, but got 2. However, really the shell of the second solid is really unusable, and the new version puts it in the separate solid.

git

2019-07-16 16:26

administrator   ~0085672

Branch CR30790_1 has been updated forcibly by msv.

SHA-1: 84ec70040fedb6c8ba27ddf6caaa036f0dcb5542

msv

2019-07-16 16:28

developer   ~0085673

Dear Galina, please check if update of the test de/step_3/D9 is valid.

gka

2019-07-18 14:48

developer   ~0085764

Branch CR30790_1 was reviewed

bugmaster

2019-07-18 15:11

administrator   ~0085767

Combination -
OCCT branch : CR30790_1
master SHA - 540d49a2a9adb7246874895b90a110f9fe93b887
32ce09545dc9c46a47a51a964a24b1f472e6c2c4
Products branch : master SHA - ce8f14216a548db739b749891b6f800b0d5c6e8b
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 16251.940000000106 / 16237.640000000089 [+0.09%]
Products
Total CPU difference: 10500.03000000006 / 10517.890000000038 [-0.17%]
Windows-64-VC14:
OCCT
Total CPU difference: 17596.890625 / 17623.078125 [-0.15%]
Products
Total CPU difference: 12137.390625 / 12058.53125 [+0.65%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2019-07-20 11:56

administrator   ~0085843

Branch CR30790 has been deleted by inv.

SHA-1: cf4f687b56c0746f7e58d0e25b8857c664e7e52b

git

2019-07-20 11:56

administrator   ~0085844

Branch CR30790_1 has been deleted by inv.

SHA-1: 84ec70040fedb6c8ba27ddf6caaa036f0dcb5542

Related Changesets

occt: master e8dec5e1

2019-07-15 16:47:14

msv


Committer: bugmaster Details Diff
0030790: [REGRESSION] Modeling Algorithms - Crash when loading specific step file

The problem occurred when the algorithm IntCurvesFace_Intersector was called for a face occupying zero extension along V direction. This is obviously a bad face, but we need to have the algorithm not crashing the application. So, the algorithm has been protected against such input data. At attempt to make calculations it establishes NotDone status.

Bad test case tests/de/step_3/D9 has been updated.
False memory leak detection has been suppressed in tests/bugs/fclasses/bug7287_2.
Affected Issues
0030790
mod - src/IntCurvesFace/IntCurvesFace_Intersector.cxx Diff File
mod - src/IntCurvesFace/IntCurvesFace_Intersector.hxx Diff File
mod - tests/bugs/fclasses/bug7287_2 Diff File
add - tests/bugs/step/bug30790 Diff File
mod - tests/de/step_3/D9 Diff File

Issue History

Date Modified Username Field Change
2019-06-18 15:42 rbt2008 New Issue
2019-06-18 15:42 rbt2008 Assigned To => oan
2019-06-18 15:42 rbt2008 File Added: 00033587_103145bb5cd746a5b2168013_step_000.png
2019-06-18 15:44 rbt2008 File Added: Untitled.png
2019-06-18 15:54 oan Note Added: 0085119
2019-06-18 15:54 oan Category OCCT:Mesh => OCCT:Data Exchange
2019-06-18 15:54 oan Assigned To oan => gka
2019-06-24 08:30 kgv File Added: 00033587_103145bb5cd746a5b2168013_step_000.7z
2019-06-24 08:41 kgv Note Added: 0085236
2019-06-24 08:51 kgv Assigned To gka => msv
2019-06-24 08:51 kgv Category OCCT:Data Exchange => OCCT:Modeling Algorithms
2019-06-24 08:51 kgv Product Version 7.3.0 => 7.2.0
2019-06-24 08:51 kgv Target Version => 7.4.0
2019-06-24 08:51 kgv Summary CAD Assistant: Crash when loading specific step file => [REGRESSION] Modeling Algorithms - Crash when loading specific step file
2019-06-24 08:51 kgv Description Updated
2019-06-24 09:01 emv Assigned To msv => ifv
2019-06-24 09:02 emv Note Added: 0085237
2019-06-24 09:02 emv Status new => assigned
2019-07-11 21:39 git Note Added: 0085608
2019-07-12 18:31 abv Priority normal => high
2019-07-15 19:49 git Note Added: 0085649
2019-07-15 19:53 msv Assigned To ifv => msv
2019-07-15 19:54 msv Note Added: 0085650
2019-07-15 19:54 msv Assigned To msv => kgv
2019-07-15 19:54 msv Status assigned => resolved
2019-07-16 09:46 git Note Added: 0085656
2019-07-16 09:50 git Note Added: 0085657
2019-07-16 10:50 kgv Note Added: 0085662
2019-07-16 16:04 msv Note Added: 0085670
2019-07-16 16:16 kgv Assigned To kgv => gka
2019-07-16 16:26 git Note Added: 0085672
2019-07-16 16:28 msv Note Added: 0085673
2019-07-18 14:48 gka Note Added: 0085764
2019-07-18 14:48 gka Assigned To gka => bugmaster
2019-07-18 14:48 gka Status resolved => reviewed
2019-07-18 15:10 bugmaster Test case number => bugs/step/bug30790
2019-07-18 15:11 bugmaster Note Added: 0085767
2019-07-18 15:11 bugmaster Status reviewed => tested
2019-07-20 11:42 bugmaster Changeset attached => occt master e8dec5e1
2019-07-20 11:42 bugmaster Status tested => verified
2019-07-20 11:42 bugmaster Resolution open => fixed
2019-07-20 11:56 git Note Added: 0085843
2019-07-20 11:56 git Note Added: 0085844