Page MenuHomeVyOS Platform

Resolve thread_registration error in vyos1x-config read_internal* functions
Closed, ResolvedPublicBUG

Description

The read/write_internal function was introduced as a method to avoid re-parsing a configtree from the canonical saved format; it was then extended for a quick read of the reference tree cache (https://github.com/vyos/vyos1x-config/blob/rolling/src/internal.ml). Re-parsing is a source of unnecessary overhead, and the idea is sound ('internal' alludes to some opaque serialization format; currently it uses ppx_deriving_yojson for convenient de/serializers). There is a bug in the implementation related to thread_registration of the resulting function, first noticed in T7588, with a simple workaround which provided other advantages. As it is also seen in T8993, it is proper to resolve globally. The construction will be avoided with a simple refactoring for T8993, and the global resolution here; although a straightforward fix, it will require some renaming/refactoring.

Details

Version
-
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)