Closed GoogleCodeExporter closed 8 years ago
I second that :)
Original comment by dazg...@gmail.com
on 13 Dec 2010 at 11:35
I've started refactoring the project to allow for a headless client in addition
to the GUI. An LV2 version will be coming after I get that work stable.
Original comment by sampo.sa...@gmail.com
on 19 Dec 2010 at 11:30
Which LV2 hosts would you like to use? I'm asking because the code is quite far
already but I want to test it in different hosts before considering a release.
Original comment by sampo.sa...@gmail.com
on 25 Dec 2010 at 9:32
I'm thinking about Ardour 3 and Qtractor in the first place.
Original comment by alexandr...@gmail.com
on 26 Dec 2010 at 3:58
Revision 147 in SVN contains a very newly baked LV2 plugin. I'd appreciate if
you could give it a go. I've tested that it indeed can be run in qtractor (at
least svn few days ago), ardour3 (svn of today) and ingen. I'd love some
feedback on it.
Especially note that qtractor is a bit weird about audio output of instrument
plugins: it expects there to be two outputs. Currently the LV2 plugin has the
same three outputs as the standalone program: main, treble and bass. I am
thinking about switching to a stereo output with the "main" coming out of both
ports. Any thoughts?
Original comment by sampo.sa...@gmail.com
on 27 Dec 2010 at 9:35
g++ src/foo-yc20.o src/configuration.o src/yc20-jack.o src/main-gui.o
src/foo-yc20-ui.o src/faust-dsp.o `pkg-config --libs gtkmm-2.4 jack` -o foo-yc20
g++: src/faust-dsp.o: No such file or directory
make: *** [foo-yc20] Error 1
Original comment by alexandr...@gmail.com
on 28 Dec 2010 at 6:45
Makefile fixed.
Original comment by sampo.sa...@gmail.com
on 28 Dec 2010 at 7:10
Qtractor (rev1729) crashes:
0x030c9634 in mydsp::compute(int, float**, float**) () from
/usr/local/lib/lv2/foo-yc20.lv2/foo-yc20.so
(gdb) bt
#0 0x030c9634 in mydsp::compute(int, float**, float**) () from
/usr/local/lib/lv2/foo-yc20.lv2/foo-yc20.so
#1 0x030b6624 in run_FooYC20 () from
/usr/local/lib/lv2/foo-yc20.lv2/foo-yc20.so
#2 0x080b8d32 in ?? ()
#3 0x08118ba5 in ?? ()
#4 0x080c05ee in ?? ()
#5 0x08078abb in ?? ()
#6 0x00136c00 in jack_client_thread_aux (arg=0x8c34420) at client.c:1974
#7 0x00136d2f in jack_client_thread (arg=0x8c34420) at client.c:2015
#8 0x0013bc11 in jack_thread_proxy (varg=0x842e9b0) at thread.c:127
#9 0x01cb296e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#10 0x01ecea4e in clone () from /lib/tls/i686/cmov/libc.so.6
Original comment by alexandr...@gmail.com
on 28 Dec 2010 at 7:33
Ardour3 (rev 8340) crashes as well
Original comment by alexandr...@gmail.com
on 28 Dec 2010 at 7:35
Strange. Just a few questions: Did it crash before opening the UI? Did you
install before running? Do the command line clients work?
Original comment by sampo.sa...@gmail.com
on 28 Dec 2010 at 8:00
Both Qtractor and Ardour 3 crash as soon as I add the plug-in. Didn't try any
console clients. I hardly remember how to.
Original comment by alexandr...@gmail.com
on 28 Dec 2010 at 12:11
Please try the command line clients. They are located in the same directory you
invoked "make". Simply ./foo-yc20 or ./foo-yc20-cli should do it.
Original comment by sampo.sa...@gmail.com
on 28 Dec 2010 at 12:19
The plugin seems to work fine for multiple people. Is there anything strange
about your system? Perhaps it doesn't have SSE support (check /proc/cpuinfo for
supported flags), but gcc decides to compile SSE code?
Original comment by sampo.sa...@gmail.com
on 28 Dec 2010 at 9:49
For foo-yc20-cli I get:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb779eb70 (LWP 2526)]
0x0805ecf4 in mydsp::compute(int, float**, float**) ()
(gdb) bt
#0 0x0805ecf4 in mydsp::compute(int, float**, float**) ()
#1 0x08052be4 in YC20Jack::process(unsigned int) ()
#2 0x08052c55 in YC20Jack::process_callback(unsigned int, void*) ()
#3 0x00136c00 in jack_client_thread_aux (arg=0x80c3950) at client.c:1974
#4 0x00136d2f in jack_client_thread (arg=0x80c3950) at client.c:2015
#5 0x0013bc11 in jack_thread_proxy (varg=0x80c70f0) at thread.c:127
#6 0x0014f96e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7 0x00374a4e in clone () from /lib/tls/i686/cmov/libc.so.6
$ cat /proc/cpuinfo | grep sse
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon
pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr
pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon
pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr
pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon
pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr
pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon
pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr
pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority
Original comment by alexandr...@gmail.com
on 28 Dec 2010 at 9:53
What CPU is that and what version of gcc are you using?
Original comment by sampo.sa...@gmail.com
on 28 Dec 2010 at 9:57
model name : Intel(R) Core(TM)2 Quad CPU Q9300 @ 2.50GHz
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
Original comment by alexandr...@gmail.com
on 29 Dec 2010 at 4:28
Can you try compiling the plugin with debug flags?:
make CFLAGS=-g
This will produce a very slow plugin, but it will skip any platform dependent
optimizations. This way we can rule out if gcc selects inappropriate
compilation flags. If that works, try the next:
make CFLAGS="-O3 -msse -mfpmath=sse -ffast-math -ftree-vectorize"
If that segfaults again, start taking out parameters to see which flag(s) cause
the non-working binary.
Original comment by sampo.sa...@gmail.com
on 30 Dec 2010 at 1:29
I've changed the compile flags to something that should work even on the
processors gcc fails to select good flags for with mtune. Also the plugin
version now has two outputs instead of one (two channel mono to support
qtractor and zynjacku better. Can you give it another go?
Original comment by sampo.sa...@gmail.com
on 2 Jan 2011 at 9:34
Revision 155 still segfaults. For foo-yc20-cli:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb779eb70 (LWP 22548)]
0x0807a322 in mydsp::compute(int, float**, float**) ()
(gdb) bt
#0 0x0807a322 in mydsp::compute(int, float**, float**) ()
#1 0x08052b2a in YC20Jack::process(unsigned int) ()
#2 0x08052b95 in YC20Jack::process_callback(unsigned int, void*) ()
#3 0x00136c00 in jack_client_thread_aux (arg=0x80de950) at client.c:1974
#4 0x00136d2f in jack_client_thread (arg=0x80de950) at client.c:2015
#5 0x0013bc11 in jack_thread_proxy (varg=0x80e20f0) at thread.c:127
#6 0x0014f96e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7 0x00374a4e in clone () from /lib/tls/i686/cmov/libc.so.6
Original comment by alexandr...@gmail.com
on 2 Jan 2011 at 3:49
Just to make extra sure: did you "make clean" before recompiling?
Also, did you ever try "make CFLAGS=-g" ?
Original comment by sampo.sa...@gmail.com
on 3 Jan 2011 at 9:00
I've found a serious bug in the Faust code for the plugin (missing volume
control). Can you retest? It's quite certain this is at least in part
responsible for your bug.
Original comment by sampo.sa...@gmail.com
on 9 Jan 2011 at 7:21
Clean checkout of revision 191 with "make CFLAGS=-g":
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb779eb70 (LWP 11382)]
0x0805cc8a in mydsp::compute (this=0x80c9ad0, fullcount=1024, input=0x0,
output=0xb7724150)
at src/../gen/yc20-dsp-standalone.cpp:3330
3330 fZec17[i] = ((fConst1 * float((6644.875161279122f * (fZec1[i] *
fSlow9)))) + fRec13[i-1]);
(gdb) bt
#0 0x0805cc8a in mydsp::compute (this=0x80c9ad0, fullcount=1024, input=0x0,
output=0xb7724150)
at src/../gen/yc20-dsp-standalone.cpp:3330
#1 0x0804f5e6 in YC20Jack::process (this=0xbffff030, nframes=1024) at
src/yc20-jack.cpp:94
#2 0x0804fac8 in YC20Jack::process_callback (nframes=1024, ptr=0xbffff030) at
src/yc20-jack.cpp:215
#3 0x00136c00 in jack_client_thread_aux (arg=0x80c8950) at client.c:1974
#4 0x00136d2f in jack_client_thread (arg=0x80c8950) at client.c:2015
#5 0x0013bc11 in jack_thread_proxy (varg=0x80cc100) at thread.c:127
#6 0x0014f96e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7 0x00374a4e in clone () from /lib/tls/i686/cmov/libc.so.6
Original comment by alexandr...@gmail.com
on 10 Jan 2011 at 8:23
This is very weird. Can you describe your system a bit? What distro are you
running, what version of gcc are you using. Could you also post the environment
variables in your shell you compiled from?
Original comment by sampo.sa...@gmail.com
on 10 Jan 2011 at 8:32
> What distro are you running, what version of gcc are you using.
It's a regular Ubuntu 10.04 with GCC 4.4.3, with JACK compiled from SVN few
months ago to have JACK Session around.
> Could you also post the environment variables in your shell you compiled from?
How do I do that?
Original comment by alexandr...@gmail.com
on 10 Jan 2011 at 8:37
Write "set" on the command line. You can also redirect the output to a file and
attach that to the issue:
~$ set > environment_variables.txt
Original comment by sampo.sa...@gmail.com
on 10 Jan 2011 at 8:39
Thanks, attached.
Original comment by alexandr...@gmail.com
on 10 Jan 2011 at 8:51
Attachments:
Can you induce the crash again in gdb and then:
print i
print fRec13
print fRec13_tmp
?
Thanks
Original comment by sampo.sa...@gmail.com
on 10 Jan 2011 at 9:09
Oh. add print fZec17 to that list as well.
Original comment by sampo.sa...@gmail.com
on 10 Jan 2011 at 9:13
(gdb) print i
$1 = 0
(gdb) print fRec13
$2 = (float *) 0xb741ed20
(gdb) print fRec13_tmp
$3 = {0, 0, 0, 0, 0.199797899, 0.215167388, 0.230536938, 0.245906562,
0.261276245, 0.276645988, 0.292015791, 0.307385653, 0.322755575,
0.338125557, 0.353495598, 0.368865728, 0.384235889, 0.399606109, 0.414976418, 0.430346757, 0.445717186, 0.461087644, 0.476458192,
0.491828799, 0 <repeats 12 times>}
(gdb)
$4 = {0, 0, 0, 0, 0.199797899, 0.215167388, 0.230536938, 0.245906562,
0.261276245, 0.276645988, 0.292015791, 0.307385653, 0.322755575,
0.338125557, 0.353495598, 0.368865728, 0.384235889, 0.399606109, 0.414976418, 0.430346757, 0.445717186, 0.461087644, 0.476458192,
0.491828799, 0 <repeats 12 times>}
(gdb) print fZec17
$5 = {0 <repeats 32 times>}
Original comment by alexandr...@gmail.com
on 20 Jan 2011 at 5:42
Can you try this with Jack SVN revision 3995?
Original comment by sampo.sa...@gmail.com
on 13 Mar 2011 at 1:06
Or the latest SVN Jack with the attached patch.
Original comment by sampo.sa...@gmail.com
on 13 Mar 2011 at 4:03
Attachments:
Hey svnversion 322 on a gentoo 64-bit host.
It works like a charm, as a standalone instrument and also as a lv2 plugin in
ardour3
thanks.
Original comment by niemandv...@googlemail.com
on 9 Jul 2011 at 5:28
Upgrading to Ubuntu 11.04 has solved this
Original comment by alexandr...@gmail.com
on 9 Jul 2011 at 6:24
Good. I would however like to point out the actual cause of the crash: jack1
between an unknown version and 0.120.2 was broken in the sense that it stole a
large amount of stack space from all jack audio threads. Audio threads often
don't need a lot of stack, but Foo-YC20 does because of a combination of lots
of processing and how Faust code is compiled.
Original comment by sampo.sa...@gmail.com
on 9 Jul 2011 at 8:57
Original issue reported on code.google.com by
alexandr...@gmail.com
on 12 Dec 2010 at 2:02