A change in the CFG file format introduced by JDK-8277496 makes the log file unreadable by the C1Visualizer tool.
The change adds a new line in the CFG file "(block has no end, cannot print successors)" that the C1Visualizer tool is not able to parse:
begin_cfg
name "BlockListBuilder virtual void java.lang.Object.<init>()"
begin_block
name "B0"
from_bci 0
to_bci -1
predecessors
(block has no end, cannot print successors). <====
xhandlers
flags "std"
end_block
end_cfg
There's no fundamental reason to provide the "no end block" information in the log file, instead a line tagged "successors" with an empty set of successors would be sufficient and would not break the C1Visualizer:
begin_cfg
name "BlockListBuilder virtual void java.lang.Object.<init>()"
begin_block
name "B0"
from_bci 0
to_bci -1
predecessors
successors <==============
xhandlers
flags "std"
end_block
end_cfg
The C1Visualizer tool is not maintained anymore, so fixing it is not an option.
An alternative solution would be to use a script to "fix" log files before opening them with the C1Visualizer, but it seems to add an unnecessary step in the process.