← Back to team overview

kicad-developers team mailing list archive

Re: SIGTRAP crash with ngspice


On 1/11/19 1:51 PM, Steven A. Falco wrote:
> On 1/11/19 1:21 PM, Seth Hillbrand wrote:
>> Am 2019-01-11 12:18, schrieb Steven A. Falco:
>>> I tried another ngspice experiment.  I ran a simulation, and it
>>> worked, albeit with the data size warning I asked about earlier.  So
>>> far so good.
>> That warning was saying that it ran out of memory and had overwritten unplanned space.  I would expect a crash after that.  I'm not sure that KiCad can trap that kind of error as it occurred inside the library.
> Ok, but I'm concerned about the bug reports I'll get if I were to enable ngspice and push the build to the Fedora community.
> I'll wait to see if the forum has any thoughts on the warning.  I'll only enable ngspice in the official Fedora builds if I can get to where the examples run cleanly.

I saved the netlist from the simple example I've been running:

.title KiCad schematic
V101 in 0 PULSE (0 5 1u 1u 1u 1 1)
C101 Net-_C101-Pad1_ 0 1u
C102 out 0 100n
R101 Net-_C101-Pad1_ in 10k
R102 out Net-_C101-Pad1_ 1k
.save @v101[i]
.save @c101[i]
.save @c102[i]
.save @r101[i]
.save @r102[i]
.save V(0)
.save V(GND)
.save V(Net-_C101-Pad1_)
.save V(in)
.save V(out)
.tran 1u 100m

When I run this circuit in stand-alone ngspice, it does a lot of overprinting, apparently to indicate the run-time of the job.  Here is a small example of the character stream, where there are tons of backspaces as part of the overprinting:

saf$ od -c foo
0000000   %   0   .   0   0  \b  \b  \b  \b  \b   %   0   .   0   0  \b
0000020  \b  \b  \b  \b   %   0   .   0   0  \b  \b  \b  \b  \b   %   0
0000040   .   0   0  \b  \b  \b  \n

The stand-alone captured output from this simple circuit is around 1 Mbyte!  I'm guessing that this huge amount of data is blowing up the window and showing all of the strange characters.

I'm not sure of the division of labor here.  Is that something that a KiCad developer should address, or is it a library issue?  Hopefully there is a flag that can be passed to the library to suppress the overprinted text.


Follow ups