Closed suedwestlicht closed 8 years ago
ftr. probably the same issue on all x42-plugins that use robtk submodule: second lv2_ui instantiation freezes qtractor.
some suspicious messages:
qtractorLv2Plugin[0x45db2f0]::openEditor("http://lv2plug.in/ns/extensions/ui#X11UI")
qtractorLv2Plugin[0x45db2f0]::lv2_ui_instantiate("http://gareus.org/oss/lv2/fil4#ui_gl")
(process:*****): GLib-GObject-WARNING **: cannot register existing type 'PangoFontMap'
(process:*****): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
(process:*****): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed
(process:*****): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
(process:*****): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed
(process:*****): GLib-GObject-WARNING **: cannot register existing type 'PangoCairoFontMap'
hth.
I can't reproduce this on debian/testing (qtractor 0.7.8-1, x42-plugins 20160619 from debian) I don't see these warnings, either.
Where did you get the plugins from? What distro is that?
robtk does not directly call any glib methods. It's probably libpango on the system in question (versions libcairo < 1.12.10, libpixman < 0.30.2 and libpango < 1.32.6 are not thread safe).
I'll need more information. ldd
on the plugin .so would be a start. Then again it's still likely out of my control to address this.
Binaries from x42-plugins.com come with a static glib and static libpango and should not have this issue. Can you try http://x42-plugins.com/x42/linux/x42-autotune-v0.2.1-4-x86_64.tar.gz
Qtractor from git. fat1 from git.
hm@regen:/usr/local/lib/lv2/fat1.lv2$ ldd fat1.so
linux-vdso.so.1 => (0x00007fffb6179000)
libfftw3f.so.3 => /usr/lib/libfftw3f.so.3 (0x00007f1041764000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f1041468000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f1041155000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f1040f3e000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1040d21000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1040962000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1041cff000)
hm@regen:/usr/local/lib/lv2/fat1.lv2$ ldd fat1UI_gl.so
linux-vdso.so.1 => (0x00007fff02714000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f4b42d16000)
libpangocairo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 0x00007f4b42b0a000)
libpango-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007f4b428c0000)
libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007f4b42602000)
libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f4b423b3000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 (0x00007f4b42152000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4b41e56000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4b41c39000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4b4187a000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f4b4165c000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4b41458000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f4b41162000)
libpangoft2-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007f4b40f38000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f4b40c9b000)
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f4b40a64000)
libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f4b40860000)
libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007f4b405c9000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f4b403a0000)
libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007f4b4019d000)
libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007f4b3ff93000)
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f4b3fd88000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f4b3fb71000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f4b3f969000)
libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f4b3f743000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f4b3f532000)
libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f4b3f32f000)
libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f4b3f128000)
libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f4b3ef26000)
libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007f4b3ed0f000)
libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f4b3eb09000)
libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f4b3e8fe000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4b43288000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f4b3e6fa000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f4b3e4f4000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f4b3e2b7000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f4b3e0af000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f4b3de84000)
Results when using http://x42-plugins.com/x42/linux/x42-autotune-v0.2.1-4-x86_64.tar.gz:
My system has libpango-1.0, maybe that's the cause. Maybe fat1.lv2's version from 2016-07-28 didn't use threads. It runs fine with that libpango.
There hasn't been a change there. But threading issues (race conditions) are always erratic. Sometimes it works, sometimes it doesn't.
OK. So system wide libs. There's little I can do about, except ask you to update them.
Or link it statically so that pango/glib is not shared among the instances (the Makefile has an option to pass flags to pkgconfig for that: PKG_UI_FLAGS=--static
), but you'll also need to get all the static .a
libs for all dependencies.
Or simply keep using the binary.
ftr. probably the same issue on all x42-plugins that use robtk submodule: second lv2_ui instantiation freezes qtractor.
Works fine here. 2 x fat1 for example. I can switch GUIs too. I tried the debian versions (meters), self-compiled ones and static binaries.
OK, I'd say problem solved. Merci beaucoup.
Hi, I have a version from 2016-07-28 that runs fine in Qtractor. A version from 2016-08-20 doesn't work and freezes or crashes recent Qtractor from git (qt4 build).
When I load fat1.v2 in Carla.lv2 in Qtractor then the recent version works fine.
I irc'd with rncbc and he couldn't help, except the robtk submodule looked suspicious to him.