Skip to content

technology-data xml results in SEGV #1178

Closed
@antonblanchard

Description

@antonblanchard

A recent update of klayout resulted in random SEGVs during startup. The issue was in my technology-data, which I have reduced to a smaller failing test case:

<?xml version="1.0" encoding="utf-8"?>
<config>
 <technology-data>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;technologies&gt;

 &lt;technology&gt;
  &lt;name&gt;sky130A&lt;/name&gt;
  &lt;description&gt;SkyWater 130nm technology&lt;/description&gt;

  &lt;connectivity&gt;
   &lt;connection&gt;li1,67/44,met1&lt;/connection&gt;
  &lt;/connectivity&gt;
 &lt;/technology&gt;

 &lt;technology&gt;
  &lt;name&gt;ASAP 7&lt;/name&gt;
  &lt;description&gt;ASAP 7 nm Technology&lt;/description&gt;

  &lt;connectivity&gt;
   &lt;connection&gt;DrainSource,V0,M1&lt;/connection&gt;
  &lt;/connectivity&gt;
 &lt;/technology&gt;

&lt;/technologies&gt;
</technology-data>
</config>

The backtrace shows:

0x00007fffcda59b3c in db::NetTracerLayerExpressionInfo::NetTracerLayerExpressionInfo(db::NetTracerLayerExpressionInfo const&) () from /home/anton/klayout/bin-release/db_plugins/libnet_tracer.so
(gdb) backtrace 
#0  0x00007fffcda59b3c in db::NetTracerLayerExpressionInfo::NetTracerLayerExpressionInfo(db::NetTracerLayerExpressionInfo const&) () from /home/anton/klayout/bin-release/db_plugins/libnet_tracer.so
#1  0x00007fffcda6428a in db::NetTracerConnectivity::add(db::NetTracerConnectionInfo const&) ()
   from /home/anton/klayout/bin-release/db_plugins/libnet_tracer.so
#2  0x00007fffcda5f0be in ?? () from /home/anton/klayout/bin-release/db_plugins/libnet_tracer.so
#3  0x00007ffff77acd82 in ?? () from /home/anton/klayout/bin-release/libklayout_tl.so.0
#4  0x00007ffff43e21a3 in QXmlSimpleReaderPrivate::processElementETagBegin2() () from /lib64/libQt5Xml.so.5
#5  0x00007ffff43ea8b4 in QXmlSimpleReaderPrivate::parseElement() () from /lib64/libQt5Xml.so.5
#6  0x00007ffff43ea0b8 in QXmlSimpleReaderPrivate::parseContent() () from /lib64/libQt5Xml.so.5
#7  0x00007ffff43eaa70 in QXmlSimpleReaderPrivate::parseElement() () from /lib64/libQt5Xml.so.5
#8  0x00007ffff43ea0b8 in QXmlSimpleReaderPrivate::parseContent() () from /lib64/libQt5Xml.so.5
#9  0x00007ffff43eaa70 in QXmlSimpleReaderPrivate::parseElement() () from /lib64/libQt5Xml.so.5
#10 0x00007ffff43ea0b8 in QXmlSimpleReaderPrivate::parseContent() () from /lib64/libQt5Xml.so.5
#11 0x00007ffff43eaa70 in QXmlSimpleReaderPrivate::parseElement() () from /lib64/libQt5Xml.so.5
#12 0x00007ffff43ecd11 in QXmlSimpleReaderPrivate::parseBeginOrContinue(int, bool) () from /lib64/libQt5Xml.so.5
#13 0x00007ffff77ac288 in tl::XMLParser::parse(tl::XMLSource&, tl::XMLStructureHandler&) ()
   from /home/anton/klayout/bin-release/libklayout_tl.so.0
#14 0x00007ffff6483dbf in tl::XMLStruct<db::Technologies>::parse(tl::XMLSource&, db::Technologies&) const ()
   from /home/anton/klayout/bin-release/libklayout_db.so.0

It bisects to commit 511f55d ("WIP: refined solution - some bug fixes, XML file is backward compatible now")

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions