View Issue Details

IDProjectCategoryView StatusLast Update
0028923Open CASCADEOCCT:Foundation Classespublic2017-09-29 16:28
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version6.3.1 
Target Version7.2.0Fixed in Version7.2.0 
Summary0028923: Foundation Classes - Message_Messenger::Send() implementation is not thread-safe
DescriptionMessage_Messenger::Send() implementation iterates elements in NCollection_Sequence by index numbers, which is not thread-safe:
  Standard_Integer nb = myPrinters.Length();
  for (Standard_Integer i = 1; i <= nb; i++)
  {
    Handle(Message_Printer) aPrinter = myPrinters(i);
    if ( ! aPrinter.IsNull() ) 
      aPrinter->Send ( theString, theGravity, putEndl );
  }
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot required

Activities

git

2017-07-19 12:53

administrator   ~0068423

Branch CR28923 has been created by kgv.

SHA-1: 1eadb4f1d6a9477f9df6e540aa46655421f2b5e8


Detailed log of new commits:

Author: kgv
Date: Wed Jul 19 12:52:32 2017 +0300

    # cosmetics

Author: kgv
Date: Wed Jul 19 12:34:09 2017 +0300

    0028923: Foundation Classes - Message_Messenger::Send() implementation is not thread-safe
    
    Use (Message_SequenceOfPrinters::Iterator instead of accessing sequence elements by index.

kgv

2017-07-19 12:54

developer   ~0068424

Patch is ready for review.

abv

2017-07-19 14:18

manager   ~0068430

No remarks, please test

bugmaster

2017-07-20 10:12

administrator   ~0068466

Last edited: 2017-07-20 12:03

Branch CR28923 from occt git-repository and master from products git-repository was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 1eadb4f1d6a9477f9df6e540aa46655421f2b5e8

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)

products component :
Linux: 10 (10 on master)
Windows: 0 (0 on master)
MacOS : 28 (28 on master)

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
Not requared

Testing on Linux:
occt component :
Total CPU difference: 19049.300000000203 / 19401.700000000146 [-1.82%]
Total MEMORY difference: 92466631 / 92413321 [+0.06%]
products component :
Total CPU difference: 6479.440000000057 / 6549.0400000000745 [-1.06%]
Total MEMORY difference: 38168914 / 38040477 [+0.34%]
Testing on Windows:
occt component :
Total CPU difference: 18090.3595630985 / 17787.76442339872 [+1.70%]
Total MEMORY difference: 59104753 / 59107100 [-0.00%]
products component :
Total CPU difference: 6802.3456045000685 / 6684.861251400067 [+1.76%]
Total MEMORY difference: 28934014 / 28820451 [+0.39%]

There are no differences in images found by testdiff.

git

2017-07-21 16:16

administrator   ~0068576

Branch CR28923 has been deleted by kgv.

SHA-1: 1eadb4f1d6a9477f9df6e540aa46655421f2b5e8

Related Changesets

occt: master 983fd6c0

2017-07-19 09:34:09

kgv


Committer: bugmaster Details Diff
0028923: Foundation Classes - Message_Messenger::Send() implementation is not thread-safe

Use (Message_SequenceOfPrinters::Iterator instead of accessing sequence elements by index.
Affected Issues
0028923
mod - src/Message/FILES Diff File
mod - src/Message/Message_Messenger.cxx Diff File
mod - src/Message/Message_Messenger.hxx Diff File
rm - src/Message/Message_Messenger.lxx Diff File
mod - src/Message/Message_Printer.cxx Diff File
mod - src/Message/Message_Printer.hxx Diff File
rm - src/Message/Message_Printer.lxx Diff File
mod - src/Message/Message_PrinterOStream.cxx Diff File
mod - src/Message/Message_PrinterOStream.hxx Diff File
rm - src/Message/Message_PrinterOStream.lxx Diff File

Issue History

Date Modified Username Field Change
2017-07-19 12:22 kgv New Issue
2017-07-19 12:22 kgv Assigned To => abv
2017-07-19 12:53 git Note Added: 0068423
2017-07-19 12:54 kgv Note Added: 0068424
2017-07-19 12:54 kgv Status new => resolved
2017-07-19 12:55 kgv Product Version 7.1.0 => 6.3.1
2017-07-19 14:18 abv Note Added: 0068430
2017-07-19 14:18 abv Assigned To abv => bugmaster
2017-07-19 14:18 abv Status resolved => reviewed
2017-07-19 15:24 mkv Assigned To bugmaster => mkv
2017-07-20 10:12 bugmaster Note Added: 0068466
2017-07-20 10:12 bugmaster Assigned To mkv => bugmaster
2017-07-20 10:12 bugmaster Status reviewed => tested
2017-07-20 10:12 bugmaster Test case number => Not required
2017-07-20 12:02 bugmaster Note Edited: 0068466
2017-07-20 12:03 bugmaster Note Edited: 0068466
2017-07-21 16:08 bugmaster Changeset attached => occt master 983fd6c0
2017-07-21 16:08 bugmaster Status tested => verified
2017-07-21 16:08 bugmaster Resolution open => fixed
2017-07-21 16:16 git Note Added: 0068576
2017-09-29 16:17 aiv Fixed in Version => 7.2.0
2017-09-29 16:28 aiv Status verified => closed