Closed sebastian-goeldi closed 3 months ago
Hi @sebastian-goeldi,
I think that is due to record size limit in GDS. OASIS should not have this limitation. I will check what I can do. An error is easy, unlimited size is possible maybe. It needs some stitching of pieces however.
The number of metainfo items should not be limited, but I will check that.
Matthias
Thank you Matthias!
I am happy with either solution. Whatever you deem is better.
I am pretty sure though that this also affects oasis, I will recheck.
I think I found a solution that fixes both the "too many" and "too big" problem in a backward-compatible way.
The solution is to split the strings used to serializing the meta info and to stop using property attribute numbers for meta info entries exceeding the GDS limit of 32768 entries.
Old versions will read files written with the new version, but skip entries using the new string notation.
Thank you, that sounds like a great solution!
When writing large lists or dictionaries (I am very much not a fan of this practice, but alas) as MetaInfos, klayout will happily write the gds, but fail on reading it.
Example:
I suspect MetaInfos have a maximum size. when opening this file directly from a terminal I get
When doing the same but through klive (i.e. it will just tell the layout view to reload), I get:
tl;dr
I am pretty sure that klayout expects the entry to have a maximum size in bytes, but on write will happily write larger entries.
It would be nice if klayout could either
Whichever is easier to implement. (First one would allow me to not entertain ridiculous ideas though :stuck_out_tongue_closed_eyes:)
P.S.: Is there an absolute maximum of number of records the
$$$CONTEXT_INFO$$$
cell can hold? We had it that in one tapeout klayout stopped writing metainfos at a seemingly random number of metainfos, but I couldn't confirm or deny yet.