Skip to content

Error framework is not thread safe #1488

@corneliusclaussen

Description

@corneliusclaussen

Describe the bug

The error framework is currently not thread safe. If multiple threads are raising/clearing errors invalid states within the error database of a module can happen, e.g. raising the same error twice or trying to clear an error that is no longer there. Some of those can trigger uncaught exceptions that exit the module.

EVerest Domain

Other

Affected EVerest Module

currently EvseManager, but possible any using the error framework in multiple threads

To Reproduce

In a real application, this can e.g. be triggered when using BSP and OVM as stable API modules and both raise a communication fault at the start up because the external API user process is missing.

As this happens at almost the same time it leads to the "Inoperative" error being set twice.

Anything else?

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions