faust icon indicating copy to clipboard operation
faust copied to clipboard

itv::interval itv::interval_algebra::fPow(const itv::interval&, const itv::interval&): Assertion `x.lo() > 0' failed.

Open jcelerier opened this issue 8 months ago • 7 comments

Hello ! I'm seeing this error crop up in various examples.

I haven't managed to reduce it so far, but it happens for instance on archlinux with the official faust package, when compiling the example distortion.dsp:

declare name "distortion";
declare version "0.0";
declare author "JOS, revised by RM";
declare description "Distortion demo application.";

import("stdfaust.lib");

process = dm.cubicnl_demo;

here's a stacktrace without debug info, I'm going to rebuild faust with debuginfo and give more precision

(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=6, no_tid=0) at pthread_kill.c:44
#1  __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:78
#2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at pthread_kill.c:89
#3  0x00007ffff1e417d8 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff1e2447b in __GI_abort () at abort.c:79
#5  0x00007ffff1e2439f in __assert_fail_base (
    fmt=0x7ffff1fbf620 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
    assertion=assertion@entry=0x7fffcb023d9e "x.lo() > 0",
    file=file@entry=0x7fffcb00ddb0 "/usr/src/debug/faust/faust-2.75.7/compiler/interval/intervalPow.cpp", line=line@entry=88,
    function=function@entry=0x7fffcb00dd58 "itv::interval itv::interval_algebra::fPow(const itv::interval&, const itv::interval&)") at assert.c:96
#6  0x00007ffff1e37de6 in __assert_fail (assertion=0x7fffcb023d9e "x.lo() > 0",
    file=0x7fffcb00ddb0 "/usr/src/debug/faust/faust-2.75.7/compiler/interval/intervalPow.cpp",
    line=88,
    function=0x7fffcb00dd58 "itv::interval itv::interval_algebra::fPow(const itv::interval&, const itv::interval&)") at assert.c:105
#7  0x00007fffcacbecbc in itv::interval_algebra::fPow(itv::interval const&, itv::interval const&) ()
   from /usr/lib/libfaust.so.2
#8  0x00007fffcacbef13 in itv::interval_algebra::Pow(itv::interval const&, itv::interval const&) ()
   from /usr/lib/libfaust.so.2
#9  0x00007fffcaca2472 in PowPrim::inferSigType(std::vector<P<AudioType>, std::allocator<P<AudioType> > > const&) () from /usr/lib/libfaust.so.2
#10 0x00007fffcae3b33b in ?? () from /usr/lib/libfaust.so.2

...

#23 0x00007fffcae3eb2f in ?? () from /usr/lib/libfaust.so.2
#24 0x00007fffcae41783 in typeAnnotation(CTreeBase*, bool) () from /usr/lib/libfaust.so.2
#25 0x00007fffcade420b in simplifyToNormalForm(CTreeBase*) () from /usr/lib/libfaust.so.2
#26 0x00007fffcac3fe3c in InstructionsCompiler::prepare(CTreeBase*) () from /usr/lib/libfaust.so.2
#27 0x00007fffcac01198 in DAGInstructionsCompiler::compileMultiSignal(CTreeBase*) ()
   from /usr/lib/libfaust.so.2
#28 0x00007fffcacce6f7 in ?? () from /usr/lib/libfaust.so.2
#29 0x00007fffcacd0fd4 in ?? () from /usr/lib/libfaust.so.2
#30 0x00007ffff1e9ec07 in start_thread (arg=<optimized out>) at pthread_create.c:447
#31 0x00007ffff1f2188c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

jcelerier avatar Feb 05 '25 17:02 jcelerier