Coder Social home page Coder Social logo

Comments (7)

rncbc avatar rncbc commented on June 27, 2024

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.

from fat1.lv2.

x42 avatar x42 commented on June 27, 2024

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

from fat1.lv2.

suedwestlicht avatar suedwestlicht commented on June 27, 2024

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:

  • works fine and stable in Qtractor

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.

from fat1.lv2.

x42 avatar x42 commented on June 27, 2024

There hasn't been a change there. But threading issues (race conditions) are always erratic. Sometimes it works, sometimes it doesn't.

from fat1.lv2.

x42 avatar x42 commented on June 27, 2024

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.

from fat1.lv2.

x42 avatar x42 commented on June 27, 2024

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.

2xfat1

from fat1.lv2.

suedwestlicht avatar suedwestlicht commented on June 27, 2024

OK, I'd say problem solved. Merci beaucoup.

from fat1.lv2.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.