Custom Query (202 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (4 - 6 of 202)

1 2 3 4 5 6 7 8 9 10 11 12
Ticket Resolution Summary Owner Reporter
#113 fixed symbol clashes jasper jasper

Reported by jasper, 2 years ago.

Description

On linux, a dynamic linker will only take into account public symbols once. So a symbol clash between two shared software components will cause the dynamic linker to mistake the functions of one for the other.

This has now been observed, without mitigation, the class "PropertyPackage?" in the test suite clashes with the class "PropertyPackage?" in the WaterPP, both of which export ICapeIdentification with identical symbol names. To the effect of the linker putting only one of them in the symbol table at runtime, and member functions of one class are invoked only, even if the other class is used. Which naturally leads to undefined behaviour (crash).

To mitigate, all components should by default hide their symbols from the dynamic linker, or alternatively use a namespace that is unique in the world. The former is the easier solution, and is obtained in CMake via this option

set(CMAKE_CXX_VISIBILITY_PRESET hidden)

Only the class factories need to be public, which is done automatically by COBIA's definition for COBIA_EXPORT:

#define COBIAEXPORT __attribute__((visibility("default")))
#197 fixed subscript out of range while comparing version numbers jasper jasper

Reported by jasper, 6 weeks ago.

Description

Bug is in phase III code (unreleased) for versions that have a different number of elements (e.g. comparing 1.2 to 1.2.1).

#128 fixed std::isnan returns a boolean, wrapper code checks for !=0 jasper jasper

Reported by jasper, 20 months ago.

Description

In principle harmless but not needed.

1 2 3 4 5 6 7 8 9 10 11 12
Note: See TracQuery for help on using queries.