[GiNaC-list] archiving custom functions
Alexei Sheplyakov
alexei.sheplyakov at gmail.com
Thu Sep 30 18:37:42 CEST 2010
Hello,
> After doing a gdb backtrace, I see that it crashes on l. 310 of ex.cpp, which is
>
> const ex & tmpex = other.eval(1);
This sounds like a missing hold() in a user-defined function, but might
be a GiNaC bug as well.
> and it seems that GiNaC goes into an infinite loop trying to construct an expression from basic.
>
> backtrace:
>
> #0 GiNaC::ex::construct_from_basic (other=@0x6b4890) at ex.cpp:293
> #1 0x0000000000416509 in GiNaC::symbol::eval (this=0x6b4890, level=1) at /usr/local/include/ginac/ex.h:255
> #2 GiNaC::ex::construct_from_basic (other=@0x6b4890) at ex.cpp:293
> #3 0x0000000000416509 in GiNaC::symbol::eval (this=0x6b4890, level=1) at /usr/local/include/ginac/ex.h:255
> #4 GiNaC::ex::construct_from_basic (other=@0x6b4890) at ex.cpp:293
> #5 0x0000000000416509 in GiNaC::symbol::eval (this=0x6b4890, level=1) at /usr/local/include/ginac/ex.h:255
> ...
> (at least 10k of those lines)
The backtrace sort of confirms my idea, but we need the outermost
frames to find out what's actually going on.
gdb ./that/program
[wait until it segfaults]
bt -16
and post the output here.
Best regards,
Alexei
More information about the GiNaC-list
mailing list