[LVS] Reading invalid SPICE netlist silently fails
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
Línea de trabajo
Start with the netlist.read call in src/lvs/lvs/built-in-macros/_lvs_netter.rb around line 951 and the exception-raising code in src/db/db/dbNetlistSpiceReader.cc around lines 485–511. Reproduce the issue with the SPICE netlist in the report and trace how parser errors cross the C++/Ruby interface. Done means the invalid input no longer fails silently and the error is handled appropriately.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
It seem that the LVS schematic function used to parse a spice file does not handle errors properly.
More specificaly, it seems the netlist.read call cannot fail:
Interestingly enough, exceptions are raised in the read function:
The problems seems to come from the c++/ruby interface, where exceptions generated in c++ are not caught in ruby. Unfortunately, I do not have the skills to debug this much further.
A simple way to reproduce the error is to load the following SPICE file for an LVS comparison. You will see that only the first resistor is parsed, whereas the second is not present (due to the spice parser throwing on the "&%ç%&*+£à° line
.subckt top A B sub
R1 A B
"&%ç%&*+£à°
R2 A B
.ends
- Lenguaje dominante
- C++
- Estrellas
- 1.2k
- Forks
- 305
- Merge medio
- 3 d 2 h
- PR fusionados (30 d)
- 11
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de KLayout/klayout
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
KLayout/klayout#2554 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
KLayout/klayout#2412 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
DRC functions not working properly with clip in placePosiblemente ocupada @klayoutmatthias la tomó hoy. Abiertobug
KLayout/klayout#2553 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 50/100
Los mantenedores suelen responder en 1 día
-
Deep DRC can miss violations when a cell has many shapesQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
KLayout/klayout#2546 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de KLayout/klayout
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Integer underflow and buffer overrun in detail::count_rows on disconnected distance matricesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
LaneDibello/Kotor-Patch-Manager#375 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día