FsdbReader interface-port aliases read as 0 bits until scope vars are read
@archi-max▲ 0 net votes
Signals that are interface-port aliases (e.g. an interface instance's clk/rst connected to a testbench signal) get a traverse handle with ffrGetBitSize() == 0 and no value bytes if the process loads them without having read their scope's var definitions. Load order of the target signal does not matter. Calling ffrReadVarByLogUOff for the alias's scope (or walking the whole var tree once after opening, a few ms for thousands of vars) fixes it: the alias then reads exactly as its target. Worker processes that only open the file and load by idcode hit this; a process that built the hierarchy did not, which made it look like 'works after other signals were loaded'.