help-gnucap
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-gnucap] measure command segfaults in gnucap 2009-12-07


From: Adrian Pardini
Subject: [Help-gnucap] measure command segfaults in gnucap 2009-12-07
Date: Fri, 17 Dec 2010 22:15:46 -0300
User-agent: KMail/1.9.10

Hi all,

Today i compiled Gnucap 2009.12.07 RCS 26.136. Feeding a circuit with gnucap -b 
works fine but if I do "get test.ckt" it results in a 
segfault unless i remove the .measure commands.

Strangely (at least to me), if i "get" the circuit without the .measure and 
then repeat with the original it behaves correctly. I don't 
know how to continue debugging from here or if this is the expected behaviour.

My c++-fu is pretty much nonexistent, this is all I got from gdb and below that 
the test circuit.
Thanks for your time.

---
Program received signal SIGSEGV, Segmentation fault.
eval (this=0x83036e0, address@hidden, Scope=0x830694c) at 
/usr/include/c++/4.2/bits/stl_deque.h:132
132             _M_last(__x._M_last), _M_node(__x._M_node) {}
(gdb) bt full
#0  eval (this=0x83036e0, address@hidden, Scope=0x830694c) at 
/usr/include/c++/4.2/bits/stl_deque.h:132
        begin = {_M_cur = 0x14, _M_first = 0x14, _M_last = 0xbfa4a978, _M_node 
= 0xb768b231}
        end = {_M_cur = 0xe, _M_first = 0x8774fdc, _M_last = 0x4, _M_node = 
0x14}
        area = 0
        probe_name = {static npos = 4294967295, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>},
    _M_p = 0x8774f7c "p(r1)"}}
        before = {_v = 1.662499060809503e+308, _s = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = 
{<No data fields>}, <No data fields>}, _M_p = 
0x82f6a94 ""}}}
        after = {_v = -1.662499060809503e+308, _s = {static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = 
{<No data fields>}, <No data fields>}, _M_p = 
0x82f6a94 ""}}}
        here = 34
        w = (WAVE *) 0x120
#1  0x081bdd48 in do_it (this=0x8302240, address@hidden, Scope=0x830694c) at 
c_measure.cc:39
        value = {static npos = 4294967295, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, 
<No data fields>},
    _M_p = 0xb759a140 ""}}
        out = {_mask = 8, _fltdig = 8, _fltwid = 142031816, _format = 
-1218862784, static _cpos = {0 <repeats 32 times>}, _cipher = true, 
_pack = false}
        pl = <value optimized out>
        f = (class FUNCTION *) 0x83036e0
        assign_to = {static npos = 4294967295, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>},
    _M_p = 0x8774eb4 "mpr1"}}
        function = {static npos = 4294967295, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>},
    _M_p = 0x8774ecc "mean"}}
#2  0x08267029 in CMD::cmdproc (address@hidden, scope=0x830694c) at c__cmd.cc:84
---Type <return> to continue, or q <return> to quit---~
        c = (CMD *) 0x8302240
        didsomething = false
        here = 1
        s = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = 
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No 
data fields>},
    _M_p = 0x8774e9c "measure"}}
        timecheck = {_ref = 0, _last = 0, _total = 0, _running = true, _name = 
{static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = 
{<No data fields>}, <No data fields>}, _M_p = 
0x82f6a94 ""}}}
        __func__ = "cmdproc"
#3  0x081e9fec in parse_command (this=0x8302ea0, address@hidden, x=0x8774f28) 
at lang_spice.cc:523
        scope = (CARD_LIST *) 0x830694c
        here = <value optimized out>
        s = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = 
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No 
data fields>},
    _M_p = 0x8774cbc ".measure"}}
        __PRETTY_FUNCTION__ = "virtual 
DEV_DOT*<unnamed>::LANG_SPICE_BASE::parse_command(CS&, DEV_DOT*)"
#4  0x08226a07 in LANGUAGE::new__instance (this=0x8302ea0, address@hidden, 
owner=0x0, Scope=0x830694c) at u_lang.cc:102
        new_instance = (class CARD *) 0x120
        x = <value optimized out>
        proto = <value optimized out>
        type = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> 
= {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, 
<No data fields>},
    _M_p = 0x877427c "measure"}}
        __PRETTY_FUNCTION__ = "void LANGUAGE::new__instance(CS&, MODEL_SUBCKT*, 
CARD_LIST*)"
#5  0x081df875 in parse_module_body (this=0x8302ea0, address@hidden, x=0x0, 
Scope=0x830694c, address@hidden,
    exit_on_blank=(anonymous namespace)::LANG_SPICE_BASE::NO_EXIT_ON_BLANK, 
address@hidden) at lang_spice.cc:575
---


---
* test
.OPTIONS NOPAGE reltol=.0001 trtol=7

C1 3 0 100u
R1 3 0 1
Vi 3 0 sin(freq=100 ampl=1)

.store tran v(*) p(*) i(*)
.probe tr V(R1) p(R1) p(C1) i(R1) i(C1)
.print tr V(R1) p(R1) p(C1) i(R1) i(C1)


.transient 0 50ms .01ms  > salida

.measure mpr1 = mean(probe="p(r1)")
.measure mpc1 = mean(probe="p(c1)")
.measure pr1 = rms(probe="p(r1)")
.measure ir1 = rms(probe="i(r1)")
.measure ic1 = rms(probe="i(c1)")
.measure uc1 = rms(probe="v(C1)")
.measure ur1 = rms(probe="v(R1)")

.eval  uc1*ic1
.eval  ur1*ir1

.end
---


-- 
Adrian.
http://ovejafm.com
http://elesquinazotango.com.ar



reply via email to

[Prev in Thread] Current Thread [Next in Thread]