View Issue Details

IDProjectCategoryView StatusLast Update
0025057Open CASCADEOCCT:Foundation Classespublic2021-03-22 13:39
ReporterabvAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version6.7.1 
Target Version6.8.0Fixed in Version6.8.0 
Summary0025057: Message_Algorithm fails to find messages defined for base class
DescriptionWhen generating messages for flags set in its status, Message_Algorithm class parses hierarchy of its descendants to construct message keys in the form "class.Status" (e.g. "TrivialAlgorithm.Error1"). This iteration actually always stops at the first step, because method Message_MsgFile::Msg() always returns some string, even if there is no message registered with specified key (error is reported then).

Another problem is that when error string is generated, it does not contain name of the message key requested, which makes debug more difficult. This has been broken by 0023920.
TagsNo tags attached.
Test case numberNot needed

Relationships

related to 0023920 closedRoman Lygin Community Change use of static variables in Message package to prevent data races in Shape Healing 
parent of 0032235 closedkgv Open CASCADE Foundation Classes, Message_MsgFile - force initialization of global mutex 

Activities

abv

2014-07-08 16:24

manager   ~0030008

Fix pushed to branch CR25057, please review.

New method HasMsg() is added in Message_MsgFile class to check if message with given key is registered.
That method is used in Message_Algorithm to check if message is defined on given level of class hierarchy.

Generation of error message in Message_MsgFile::Msg() is revised: now it includes a message key and gets added to the registry, to avoid re-generation in case of multiple requests.
Access to message registry maintained by the Message_MsgFile class is protected from concurrent access by mutex.

kgv

2014-07-14 14:52

developer   ~0030124

Please test the patch.

git

2014-07-15 20:22

administrator   ~0030173

Branch CR25057 has been updated forcibly by mkv.

SHA-1: a9bf98a2fd6e19f5acb7bc7a6862a96b039230c5

mkv

2014-07-17 13:46

tester   ~0030227

Dear BugMaster,

Branch CR25057 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: a9bf98a2fd6e19f5acb7bc7a6862a96b039230c5

Number of compiler warnings:

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

products component :
Linux: 11 (11 on master)
Windows: 2 (2 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 352566732 / 352298144
Total CPU difference: 52441.330000000125 / 54524.60999999987

Testing on Windows:
Total MEMORY difference: 377562116 / 378488680
Total CPU difference: 41033.53125 / 46775.453125

There are no differences in images found by testdiff.

git

2014-07-22 15:57

administrator   ~0030313

Branch CR25057 has been deleted by inv.

SHA-1: a9bf98a2fd6e19f5acb7bc7a6862a96b039230c5

Related Changesets

occt: master c67cd62e

2014-07-08 12:11:16

abv


Committer: bugmaster Details Diff
0025057: Message_Algorithm fails to find messages defined for base class

New method HasMsg() is added in Message_MsgFile class to check if message with given key is registered.
That method is used in Message_Algorithm to check if message is defined on given level of class hierarchy.

Generation of error message in Message_MsgFile::Msg() is revised: now it includes a message key and gets added to the registry, to avoid re-generation in case of multiple requests.
Access to message registry maintained by the Message_MsgFile class is protected from concurrent access by mutex.
Affected Issues
0025057
mod - src/Message/Message_Algorithm.cxx Diff File
mod - src/Message/Message_MsgFile.cdl Diff File
mod - src/Message/Message_MsgFile.cxx Diff File

Issue History

Date Modified Username Field Change
2014-07-08 15:45 abv New Issue
2014-07-08 15:45 abv Assigned To => abv
2014-07-08 15:46 abv Relationship added related to 0023920
2014-07-08 16:24 abv Note Added: 0030008
2014-07-08 16:24 abv Assigned To abv => pdn
2014-07-08 16:24 abv Status new => resolved
2014-07-14 14:41 abv Assigned To pdn => kgv
2014-07-14 14:52 kgv Note Added: 0030124
2014-07-14 14:52 kgv Assigned To kgv => bugmaster
2014-07-14 14:52 kgv Status resolved => reviewed
2014-07-15 19:17 mkv Assigned To bugmaster => mkv
2014-07-15 20:22 git Note Added: 0030173
2014-07-17 13:46 mkv Note Added: 0030227
2014-07-17 13:47 mkv Test case number => Not needed
2014-07-17 13:47 mkv Assigned To mkv => bugmaster
2014-07-17 13:47 mkv Status reviewed => tested
2014-07-22 15:13 bugmaster Changeset attached => occt master c67cd62e
2014-07-22 15:13 bugmaster Status tested => verified
2014-07-22 15:13 bugmaster Resolution open => fixed
2014-07-22 15:57 git Note Added: 0030313
2014-11-11 12:46 aiv Fixed in Version => 6.8.0
2014-11-11 12:53 aiv Status verified => closed
2021-03-22 13:39 kgv Relationship added parent of 0032235