Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recent versions crash Qtractor #2

Closed
suedwestlicht opened this issue Aug 20, 2016 · 7 comments
Closed

Recent versions crash Qtractor #2

suedwestlicht opened this issue Aug 20, 2016 · 7 comments

Comments

@suedwestlicht
Copy link

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.

@rncbc
Copy link

rncbc commented Aug 20, 2016

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.

@x42
Copy link
Owner

x42 commented Aug 20, 2016

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

@suedwestlicht
Copy link
Author

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.

@x42
Copy link
Owner

x42 commented Aug 20, 2016

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

@x42
Copy link
Owner

x42 commented Aug 20, 2016

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.

@x42
Copy link
Owner

x42 commented Aug 20, 2016

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

@suedwestlicht
Copy link
Author

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

@x42 x42 closed this as completed Aug 20, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants