← Back to team overview

kicad-developers team mailing list archive

Re: SIGTRAP crash with ngspice

 

I have a minor concern with this patch. Namely, we can't guarantee that we only get one update per event. If multiple are issued, we potentially throw away valid returns. I would prefer either iterative removing of the \b and its preceding char or a wxString::Printf() into a new string to evaluate the escape sequences
-Seth

A more general patch would
Am 2019-01-14 13:06, schrieb Steven A. Falco:
The issue was discussed here:

https://forum.kicad.info/t/trying-to-get-ngspice-working-on-fedora/14628

If you tell me what my "coding policy errors" are, or point me to
something I should read, then I can do better next time.

I've attached a new copy of the patch - the code change is identical,
the only difference is that it has the commit message prepended.

	Steve

On 1/14/19 12:50 PM, Wayne Stambaugh wrote:
Steve,

Please include the bug report link so I can link the patch to the bug
report. I'll fix the coding policy errors since I'm assuming this is as
one a done patch for you.

Tom or Orson,

Any objections to this patch.  I didn't test it but on the surface it
appears to resolve the issue.

Cheers,

Wayne

On 1/14/2019 10:30 AM, Steven A. Falco wrote:
I wanted to close the loop on the SIGTRAP crash that I reported a few days ago.
The issue is probably unique to Fedora, and stems from a huge 
quantity of "percent complete" messages that the ngspice library 
passes back to KiCad.  I'm not kidding when I say huge - it amounts 
to over 1 megabyte of text, including many backspace characters.  
When I try to select the text, it probably blows up the clipboard and 
causes the crash.
The ideal fix will be to have the Fedora ngspice maintainer remove a 
flag, which in turn will disable the "percent complete" messages.
In the interim, I have a patch that filters out any line containing a 
string of backspaces.  I don't know if there is any interest in 
applying this patch to the official KiCad sources, but I've attached 
it here in case there is interest.  I see it as defensive 
programming. :-)
I'll wait a bit to see what happens with the ngspice library.  If it 
looks like there will be a substantial delay in having the flag 
removed, I can always apply my patch and push that as the next 
official Fedora build.
	Steve

On 1/11/19 2:25 PM, Steven A. Falco wrote:
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
.end

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
0000047

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.
	Steve


_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp





Follow ups

References