View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003214 | ardour | bugs | public | 2010-06-02 09:49 | 2011-07-10 19:17 |
Reporter | zettberlin | Assigned To | |||
Priority | normal | Severity | crash | Reproducibility | always |
Status | feedback | Resolution | open | ||
Product Version | SVN/2.0-ongoing | ||||
Target Version | 2.8.12 | ||||
Summary | 0003214: automated LV2-plugin crashes ardour when LV2-gui is open | ||||
Description | I have a track with CALF Flanger LV2 post-fader. The minimum-delay parameter is automated using a curve drawn by hand (not using write or touch). Session runs OK with automation switched to manual (disabeled) Session runs OK with automation switched to play and automation works as expected, changing automation while playing using the draw-tool works as expected Running the session with the GUI of calf flanger opened for about 5 seconds ends with crash. The crashes are reproducable but end with different messages: First crash of the session: 009a4000-009a5000 r--p 0003c000 08:02 312224 /usr/lib/libgobject-2.0.so.0.2400.1Aborted Crash after repoening the session: (ardour-2.8.8:13193): Pango-CRITICAL **: pango_font_metrics_get_approximate_digt_width: assertion `metrics != NULL' failed Segmentation fault I also tried with Calf multichorus: 004d9000-004da000 r--p 00014000 08:02 313984 /usr/lib/libart_lgpl_2.so.2.3.20 004da000-004db000 rw-p 00015000 08:02 313984 /usr/lib/libart_lgpl_2.so.2.3.20 004db000-004e2000 r-xp 00000000 08:02 99373 /lib/tls/i686/cmov/librt-2.11.1.so 004e2000-004e3000 r--p 00006000 08:02 99373 /lib/tls/i686/cmov/librt-2.11.1.soAborted And with Invada Stereo Phaser crashing almost immediately with this Found UI http://invadarecords.com/plugins/lv2/phaser/stereo at index 0 in: /usr/lib/lv2/invada.lv2/inv_phaser_gui.so The program 'ardour-2.8.8' received an X Window System error. This probably reflects a bug in the program. The error was 'BadRequest (invalid request code or no such operation)'. (Details: serial 417563 error_code 1 request_code 243 minor_code 0) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) The session runs on xubuntu 10.4 with the generic kernel. All software from the official ubuntu repos, Ardour built today from SVN without tweaking the scons-defaults. for more details see below, sessionfile is attached. | ||||
Additional Information | Revision 7203 Ardour2.8.8 project 288test 1 Stereo-channel: fast lookahead limiter LADSPA calf flanger LV2 automated using a line drawn by hand 0078f000-00790000 r-xp 00000000 00:00 0 [vdso] 00790000-00823000 r-xp 00000000 08:02 314655 /usr/lib/libgdk-x11-2.0.so.0.2000.1 00823000-00825000 r--p 00093000 08:02 314655 /usr/lib/libgdk-x11-2.0.so.0.2000.1 00825000-00826000 rw-p 00095000 08:02 314655 /usr/lib/libgdk-x11-2.0.so.0.2000.1 00826000-00831000 r-xp 00000000 08:02 313382 /usr/lib/libslv2.so.9.2.0 00831000-00832000 r--p 0000a000 08:02 313382 /usr/lib/libslv2.so.9.2.0 00832000-00833000 rw-p 0000b000 08:02 313382 /usr/lib/libslv2.so.9.2.0 00833000-00955000 r-xp 00000000 08:02 311330 /usr/lib/libfftw3f.so.3.2.4 00955000-0095d000 r--p 00122000 08:02 311330 /usr/lib/libfftw3f.so.3.2.4 0095d000-0095e000 rw-p 0012a000 08:02 311330 /usr/lib/libfftw3f.so.3.2.4 0095e000-00960000 r-xp 00000000 08:02 313934 /usr/lib/libXinerama.so.1.0.0 00960000-00961000 r--p 00001000 08:02 313934 /usr/lib/libXinerama.so.1.0.0 00961000-00962000 rw-p 00002000 08:02 313934 /usr/lib/libXinerama.so.1.0.0 00962000-00964000 r-xp 00000000 08:02 313916 /usr/lib/libXcomposite.so.1.0.0 00964000-00965000 r--p 00001000 08:02 313916 /usr/lib/libXcomposite.so.1.0.0 00965000-00966000 rw-p 00002000 08:02 313916 /usr/lib/libXcomposite.so.1.0.0 00967000-009a4000 r-xp 00000000 08:02 312224 /usr/lib/libgobject-2.0.so.0.2400.1 009a4000-009a5000 r--p 0003c000 08:02 312224 /usr/lib/libgobject-2.0.so.0.2400.1Aborted zettberlin@ubuzet104:~$ Reopening the session does not trigger desaster-recovery but pops up the log-window with this: [ERROR]: control protocol XML node has no name property. Ignored. [INFO]: Loading session /home/zettberlin/288-test using snapshot 288-test (1) Loading history from '/home/zettberlin/288-test/288-test.history'. Session runs OK with automation switched to manual (disabeled) Session runs OK with automation switched to play and automation works as expected, changing automation while playing using the draw-tool works as expected Running the session with the GUI of calf flanger opened for about 5 seconds yields this: Found UI http://calf.sourceforge.net/plugins/Flanger at index 0 in: /usr/lib/lv2/calf.lv2/calflv2gui.so CALF DEBUG: instance 0xb358a530 data 0xb3588a98 CALF DEBUG: calf 0xaf445ea4 cpi 0xaec9f010 (ardour-2.8.8:13193): Pango-WARNING **: shaping failure, expect ugly output. shape-engine='BasicEngineFc', font='DejaVu Sans 10', text='' (ardour-2.8.8:13193): Pango-CRITICAL **: pango_layout_get_width: assertion `layout != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_layout_get_line_count: assertion `layout != NULL' failed (ardour-2.8.8:13193): Gdk-CRITICAL **: gdk_draw_layout: assertion `PANGO_IS_LAYOUT (layout)' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_layout_get_width: assertion `layout != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_layout_get_line_count: assertion `layout != NULL' failed (ardour-2.8.8:13193): Gdk-CRITICAL **: gdk_draw_layout: assertion `PANGO_IS_LAYOUT (layout)' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_layout_get_context: assertion `layout != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_context_get_language: assertion `context != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_context_get_metrics: assertion `PANGO_IS_CONTEXT (context)' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_font_metrics_get_approximate_char_width: assertion `metrics != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_font_metrics_get_approximate_digit_width: assertion `metrics != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_layout_get_context: assertion `layout != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_context_get_language: assertion `context != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_context_get_metrics: assertion `PANGO_IS_CONTEXT (context)' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_font_metrics_get_approximate_char_width: assertion `metrics != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_font_metrics_get_approximate_digit_width: assertion `metrics != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_layout_get_context: assertion `layout != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_context_get_language: assertion `context != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_context_get_metrics: assertion `PANGO_IS_CONTEXT (context)' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_font_metrics_get_approximate_char_width: assertion `metrics != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_font_metrics_get_approximate_digit_width: assertion `metrics != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_layout_get_width: assertion `layout != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_layout_get_line_count: assertion `layout != NULL' failed (ardour-2.8.8:13193): Gdk-CRITICAL **: gdk_draw_layout: assertion `PANGO_IS_LAYOUT (layout)' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_layout_get_context: assertion `layout != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_context_get_language: assertion `context != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_context_get_metrics: assertion `PANGO_IS_CONTEXT (context)' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_font_metrics_get_approximate_char_width: assertion `metrics != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_font_metrics_get_approximate_digit_width: assertion `metrics != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_layout_get_width: assertion `layut != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_layout_get_line_count: assertion`layout != NULL' failed (ardour-2.8.8:13193): Gdk-CRITICAL **: gdk_draw_layout: assertion `PANGO_IS_LAYUT (layout)' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_layout_get_context: assertion `lyout != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_context_get_language: assertion context != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_context_get_metrics: assertion `ANGO_IS_CONTEXT (context)' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_font_metrics_get_approximate_cha_width: assertion `metrics != NULL' failed (ardour-2.8.8:13193): Pango-CRITICAL **: pango_font_metrics_get_approximate_digt_width: assertion `metrics != NULL' failed Segmentation fault | ||||
Tags | No tags attached. | ||||
|
Applying further tests: 1.) changing values in the crashing plugin-GUIs by hand while running does not crash and works as expected 2.) applying the scenario to the track with Calf exciter built 2 days ago from calfs git does NOT crash but works perfectly well: Found UI http://calf.sourceforge.net/plugins/Exciter at index 0 in: /usr/local/lib/lv2/calf.lv2/calflv2gui.so CALF DEBUG: instance 0xa174300 data 0xa1a04e0 CALF DEBUG: calf 0x209e3b4 cpi 0x1900a30 Waiting for the GUI to open Waiting for the GUI to open hostname 127.0.0.1 port 57352 Waiting for the GUI to open hostname 0.0.0.0 port 55622 |
|
i haven't dug into this too deeply, but i am fairly certain that the plugin's GUIs are behaving "illegally" by trying to update themselves from the wrong thread. this is not acceptable behaviour, if they are in fact doing this. |
|
I have done some more testing and it turns out, that all new CALF-Plugins work and all old ones and all Invada provoke crashes. So I guess, this problem will cease, if the the GUI-system for LV2 matures... I have filed a bug report on Invadas launchpad also... |
|
Same issue here with all Invada plugins, on Ardour 2.8.10, Kubuntu 10.04 64bit with OpenBox window manager. Console outputs are two, I did not understand which precise situation generates one, and which the other one. One is this: The program 'ardour-2.8.10' received an X Window System error. This probably reflects a bug in the program. The error was 'RenderBadPicture (invalid Picture parameter)'. (Details: serial 398822 error_code 172 request_code 152 minor_code 7) Other one is: *** glibc detected *** /usr/local/lib64/ardour2/ardour-2.8.10: double free or corruption (fasttop): 0x00007f9c30710db0 *** ======= Backtrace: ========= /lib/libc.so.6(+0x775b6)[0x7f9c610195b6] /lib/libc.so.6(cfree+0x73)[0x7f9c6101fe53] /usr/lib/libgdk-x11-2.0.so.0(gdk_region_intersect+0x6f)[0x7f9c6685f53f] /usr/lib/libgdk-x11-2.0.so.0(+0x4015f)[0x7f9c6686c15f] /usr/lib/libgdk-x11-2.0.so.0(gdk_window_process_all_updates+0x131)[0x7f9c6686e251] /usr/lib/libgdk-x11-2.0.so.0(+0x422b9)[0x7f9c6686e2b9] /usr/lib/libgdk-x11-2.0.so.0(+0x1edb6)[0x7f9c6684adb6] /lib/libglib-2.0.so.0(g_main_context_dispatch+0x1f2)[0x7f9c673868c2] /lib/libglib-2.0.so.0(+0x42748)[0x7f9c6738a748] /lib/libglib-2.0.so.0(g_main_loop_run+0x195)[0x7f9c6738ac55] /usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xa7)[0x7f9c66c14bb7] /usr/local/lib64/ardour2/libgtkmm2ext.so(_ZN9Gtkmm2ext2UI3runER8Receiver+0x162)[0x7f9c64e3c542] /usr/local/lib64/ardour2/ardour-2.8.10(main+0x446)[0x74c3c6] /lib/libc.so.6(__libc_start_main+0xfd)[0x7f9c60fc0c4d] /usr/local/lib64/ardour2/ardour-2.8.10[0x513159] ======= Memory map: ======== 00400000-009bc000 r-xp 00000000 08:09 131459 /usr/local/lib64/ardour2/ardour-2.8.10 00bbb000-00bbc000 r--p 005bb000 08:09 131459 /usr/local/lib64/ardour2/ardour-2.8.10 00bbc000-00bc1000 rw-p 005bc000 08:09 131459 /usr/local/lib64/ardour2/ardour-2.8.10 00bc1000-00bc8000 rw-p 00000000 00:00 0 01252000-02eef000 rw-p 00000000 00:00 0 [heap] 7f9c27743000-7f9c27744000 ---p 00000000 00:00 0 7f9c27744000-7f9c27f44000 rw-p 00000000 00:00 0 7f9c27f44000-7f9c27f45000 ---p 00000000 00:00 0 7f9c27f45000-7f9c28745000 rw-p 00000000 00:00 0 7f9c28745000-7f9c28746000 ---p 00000000 00:00 0 7f9c28746000-7f9c28f46000 rw-p 00000000 00:00 0 7f9c29747000-7f9c29e07000 rw-p 00000000 00:00 0 7f9c29e07000-7f9c2cb74000 rw-s 00000000 00:0f 7665 /dev/shm/jack-1000-0 7f9c2cb74000-7f9c2cb7d000 r-xp 00000000 08:07 1213 /lib/libwrap.so.0.7.6 7f9c2cb7d000-7f9c2cd7c000 ---p 00009000 08:07 1213 /lib/libwrap.so.0.7.6 7f9c2cd7c000-7f9c2cd7d000 r--p 00008000 08:07 1213 /lib/libwrap.so.0.7.6 7f9c2cd7d000-7f9c2cd7e000 rw-p 00009000 08:07 1213 /lib/libwrap.so.0.7.6 7f9c2cd7e000-7f9c2cd7f000 rw-p 00000000 00:00 0 7f9c2cd7f000-7f9c2cd83000 r-xp 00000000 08:07 1206 /lib/libuuid.so.1.3.0 7f9c2cd83000-7f9c2cf82000 ---p 00004000 08:07 1206 /lib/libuuid.so.1.3.0 7f9c2cf82000-7f9c2cf83000 r--p 00003000 08:07 1206 /lib/libuuid.so.1.3.0 7f9c2cf83000-7f9c2cf84000 rw-p 00004000 08:07 1206 /lib/libuuid.so.1.3.0 7f9c2cf84000-7f9c2cfcf000 r-xp 00000000 08:08 47446 /usr/lib/libpulsecommon-0.9.21.so 7f9c2cfcf000-7f9c2d1ce000 ---p 0004b000 08:08 47446 /usr/lib/libpulsecommon-0.9.21.so 7f9c2d1ce000-7f9c2d1cf000 r--p 0004a000 08:08 47446 /usr/lib/libpulsecommon-0.9.21.so 7f9c2d1cf000-7f9c2d1d0000 rw-p 0004b000 08:08 47446 /usr/lib/libpulsecommon-0.9.21.so 7f9c2d1d0000-7f9c2d1d5000 r-xp 00000000 08:08 64030 /usr/lib/libXtst.so.6.1.0 7f9c2d1d5000-7f9c2d3d5000 ---p 00005000 08:08 64030 /usr/lib/libXtst.so.6.1.0 7f9c2d3d5000-7f9c2d3d6000 r--p 00005000 08:08 64030 /usr/lib/libXtst.so.6.1.0 7f9c2d3d6000-7f9c2d3d7000 rw-p 00006000 08:08 64030 /usr/lib/libXtst.so.6.1.0 7f9c2d3d7000-7f9c2d3df000 r-xp 00000000 08:08 64087 /usr/lib/libSM.so.6.0.1 7f9c2d3df000-7f9c2d5de000 ---p 00008000 08:08 64087 /usr/lib/libSM.so.6.0.1 7f9c2d5de000-7f9c2d5df000 r--p 00007000 08:08 64087 /usr/lib/libSM.so.6.0.1 7f9c2d5df000-7f9c2d5e0000 rw-p 00008000 08:08 64087 /usr/lib/libSM.so.6.0.1 7f9c2d5e0000-7f9c2d5f7000 r-xp 00000000 08:08 28960 /usr/lib/libICE.so.6.3.0 7f9c2d5f7000-7f9c2d7f6000 ---p 00017000 08:08 28960 /usr/lib/libICE.so.6.3.0 7f9c2d7f6000-7f9c2d7f7000 r--p 00016000 08:08 28960 /usr/lib/libICE.so.6.3.0 7f9c2d7f7000-7f9c2d7f8000 rw-p 00017000 08:08 28960 /usr/lib/libICE.so.6.3.0 7f9c2d7f8000-7f9c2d7fb000 rw-p 00000000 00:00 0 7f9c2d864000-7f9c2dffc000 rw-p 00000000 00:00 0 7f9c2e065000-7f9c2e066000 ---p 00000000 00:00 0 7f9c2e066000-7f9c2effe000 rw-p 00000000 00:00 0 7f9c2f868000-7f9c30000000 rw-p 00000000 00:00 0 7f9c30000000-7f9c3071a000 rw-p 00000000 00:00 0 7f9c3071a000-7f9c34000000 ---p 00000000 00:00 0 7f9c340d3000-7f9c34113000 r-xp 00000000 08:08 47246 /usr/lib/libpulse.so.0.12.2 7f9c34113000-7f9c34313000 ---p 00040000 08:08 47246 /usr/lib/libpulse.so.0.12.2 7f9c34313000-7f9c34314000 r--p 00040000 08:08 47246 /usr/lib/libpulse.so.0.12.2 7f9c34314000-7f9c34315000 rw-p 00041000 08:08 47246 /usr/lib/libpulse.so.0.12.2 7f9c3439b000-7f9c3454b000 rw-p 00000000 00:00 0 7f9c3454b000-7f9c345ab000 rw-s 00000000 00:04 60522498 /SYSV00000000 (deleted) 7f9c345ab000-7f9c345ed000 rw-p 00000000 00:00 0 7f9c3463e000-7f9c346be000 r--p 00000000 08:08 11395 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf 7f9c346be000-7f9c34cd7000 rw-p 00000000 00:00 0 7f9c34cd7000-7f9c34cd8000 ---p 00000000 00:00 0 7f9c34cd8000-7f9c34d52000 rw-p 00000000 00:00 0 7f9c34d52000-7f9c34d53000 ---p 00000000 00:00 0 7f9c34d53000-7f9c34fff000 rw-p 00000000 00:00 0 7f9c34fff000-7f9c35000000 ---p 00000000 00:00 0 7f9c35000000-7f9c3514c000 rw-p 00000000 00:00 0 7f9c3514c000-7f9c3514d000 ---p 00000000 00:00 0 7f9c3514d000-7f9c351cd000 rw-p 00000000 00:00 0 7f9c351cd000-7f9c351d3000 r-xp 00000000 08:08 30744 /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xpm.so 7f9c351d3000-7f9c353d2000 ---p 00006000 08:08 30744 /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xpm.so 7f9c353d2000-7f9c353d3000 r--p 00005000 08:08 30744 /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xpm.so 7f9c353d3000-7f9c353d4000 rw-p 00006000 08:08 30744 /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xpm.so 7f9c353ff000-7f9c35460000 rw-p 00000000 00:00 0 7f9c35460000-7f9c35461000 rw-s 00000000 00:0f 7666 /dev/shm/jack-1000-1 7f9c35461000-7f9c35462000 ---p 00000000 00:00 0 7f9c35462000-7f9c354e2000 rw-p 00000000 00:00 0 7f9c354e2000-7f9c354e3000 ---p 00000000 00:00 0 7f9c354e3000-7f9c35563000 rw-p 00000000 00:00 0 7f9c35563000-7f9c355ef000 r--p 00000000 08:08 57 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf 7f9c35df0000-7f9c35e50000 rw-s 00000000 00:04 59703297 /SYSV00000000 (deleted) 7f9c35e61000-7f9c35f52000 rw-p 00000000 00:00 0 7f9c35f52000-7f9c35f53000 ---p 00000000 00:00 0 7f9c35f53000-7f9c36753000 rw-p 00000000 00:00 0 7f9c36a86000-7f9c36ab9000 r-xp 00000000 08:09 131298 /usr/local/lib/lv2/invada.lv2/inv_filter_gui.so 7f9c36ab9000-7f9c36cb8000 ---p 00033000 08:09 131298 /usr/local/lib/lv2/invada.lv2/inv_filter_gui.so 7f9c36cb8000-7f9c36cb9000 r--p 00032000 08:09 131298 /usr/local/lib/lv2/invada.lv2/inv_filter_gui.so 7f9c36cb9000-7f9c36cbf000 rw-p 00033000 08:09 131298 /usr/local/lib/lv2/invada.lv2/inv_filter_gui.so 7f9c36cbf000-7f9c36d4b000 r--p 00000000 08:08 57 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttfAborted |
|
the evidence remains in favor of the plugin doing GUI updates from the wrong thread. |
|
Im having this issue too. I've tried invada, calf, eq10q and new IR reverb plugins and none of them worked with automation and opened GUI. errors: ardour-2.8.11: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.0. ardour-2.8.11: xcb_io.c:140: dequeue_pending_request: Assertion `req == dpy->xcb->pending_requests' failed. and: CALF DEBUG: instance 0x454ac00 data 0x4214f58 CALF DEBUG: calf 0x7f91cde75688 cpi 0x7f91a4fb1a00 ** Gdk:ERROR:gdkregion-generic.c:1110:miUnionNonO: assertion failed: (y1 < y2) Aborted and: The program 'ardour-2.8.11' received an X Window System error. This probably reflects a bug in the program. The error was 'BadRequest (invalid request code or no such operation)'. (Details: serial 237554 error_code 1 request_code 186 minor_code 0) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) Segmentation fault when i run ardour with the --sync ive got: CALF DEBUG: instance 0x7efffa977010 data 0x3abde08 CALF DEBUG: calf 0x7f0017da5688 cpi 0x7effee754a00 *** glibc detected *** /usr/lib/ardour2/ardour-2.8.11: double free or corruption (fasttop): 0x00007efff4043390 *** ======= Backtrace: ========= /lib/libc.so.6(+0x71496)[0x7f00210ec496] /lib/libc.so.6(cfree+0x6c)[0x7f00210f129c] /usr/lib/lv2/calf.lv2/calflv2gui.so(_ZN12calf_plugins19value_param_control3setEv+0xdc)[0x7efff9e59b2c] /usr/lib/lv2/calf.lv2/calflv2gui.so(_ZN12calf_plugins10plugin_gui7refreshEiPNS_13param_controlE+0x77)[0x7efff9e5a8d7] /usr/lib/lv2/calf.lv2/calflv2gui.so(_ZN12calf_plugins18knob_param_control3getEv+0x5a)[0x7efff9e5a99a] /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x15e)[0x7f002820eebe] /usr/lib/libgobject-2.0.so.0(+0x1f807)[0x7f0028220807] /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x885)[0x7f0028229c45] /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x83)[0x7f0028229e13] /usr/lib/libgtk-x11-2.0.so.0(+0x17622a)[0x7f002720222a] /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x15e)[0x7f002820eebe] /usr/lib/libgobject-2.0.so.0(+0x1f807)[0x7f0028220807] /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x885)[0x7f0028229c45] /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x83)[0x7f0028229e13] /usr/lib/libgtk-x11-2.0.so.0(gtk_adjustment_value_changed+0x5a)[0x7f00271052ba] /usr/lib/lv2/calf.lv2/calflv2gui.so(_ZN12calf_plugins18knob_param_control3setEv+0x9c)[0x7efff9e593bc] /usr/lib/lv2/calf.lv2/calflv2gui.so(_ZN12calf_plugins10plugin_gui7refreshEiPNS_13param_controlE+0x77)[0x7efff9e5a8d7] /usr/lib/lv2/calf.lv2/calflv2gui.so(_Z14gui_port_eventPvjjjPKv+0x145)[0x7efff9e746e5] /usr/lib/ardour2/ardour-2.8.11(_ZN11LV2PluginUI16parameter_updateEjf+0x5c)[0x86a60c] /usr/lib/ardour2/libardour.so(_ZN6ARDOUR9LV2Plugin13set_parameterEjf+0xf2)[0x7f002985c302] /usr/lib/ardour2/libardour.so(_ZN6ARDOUR12PluginInsert15connect_and_runERSt6vectorIPfSaIS2_EEjjjbj+0xfb)[0x7f002975aa9b] /usr/lib/ardour2/libardour.so(_ZN6ARDOUR12PluginInsert14automation_runERSt6vectorIPfSaIS2_EEjj+0x105)[0x7f002975ae85] /usr/lib/ardour2/libardour.so(_ZN6ARDOUR5Route22process_output_buffersERSt6vectorIPfSaIS2_EEjjjjbib+0xaaa)[0x7f00297be65a] /usr/lib/ardour2/libardour.so(_ZN6ARDOUR10AudioTrack4rollEjjjibb+0x4a2)[0x7f00296f4a02] /usr/lib/ardour2/libardour.so(_ZN6ARDOUR7Session14process_routesEj+0x13f)[0x7f00298131bf] /usr/lib/ardour2/libardour.so(_ZN6ARDOUR7Session19process_with_eventsEj+0x293)[0x7f0029815423] /usr/lib/ardour2/libardour.so(_ZN6ARDOUR7Session7processEj+0x75)[0x7f0029813e05] /usr/lib/ardour2/libardour.so(_ZN6ARDOUR11AudioEngine16process_callbackEj+0x160)[0x7f00296bc430] /usr/lib/libjack.so.0(+0xe64a)[0x7f0024e9364a] /usr/lib/libjack.so.0(+0x24600)[0x7f0024ea9600] /lib/libpthread.so.0(+0x6cb0)[0x7f0024c6ecb0] /lib/libc.so.6(clone+0x6d)[0x7f00211497ed] ======= Memory map: ======== 00400000-009b9000 r-xp 00000000 08:03 659315 /usr/lib/ardour2/ardour-2.8.11 00bb9000-00bbf000 rw-p 005b9000 08:03 659315 /usr/lib/ardour2/ardour-2.8.11 00bbf000-00bc5000 rw-p 00000000 00:00 0 00e6c000-04368000 rw-p 00000000 00:00 0 [heap] 7effee624000-7effee7b0000 r-xp 00000000 08:03 914931 /usr/lib/lv2/calf.lv2/calf.so 7effee7b0000-7effee9af000 ---p 0018c000 08:03 914931 /usr/lib/lv2/calf.lv2/calf.so 7effee9af000-7effee9df000 rw-p 0018b000 08:03 914931 /usr/lib/lv2/calf.lv2/calf.so 7effee9df000-7effef138000 rw-p 00000000 00:00 0 7effef138000-7efff3fa0000 rw-s 00000000 00:10 140577 /dev/shm/jack-1000-0 7efff3fa0000-7efff4000000 rw-s 00000000 00:04 4554789 /SYSV00000000 (deleted) 7efff4000000-7efff412d000 rw-p 00000000 00:00 0 7efff412d000-7efff8000000 ---p 00000000 00:00 0 7efff8040000-7efff80a0000 rw-s 00000000 00:04 4522019 /SYSV00000000 (deleted) 7efff8121000-7efff8122000 ---p 00000000 00:00 0 7efff8122000-7efff8922000 rw-p 00000000 00:00 0 7efff8922000-7efff8923000 ---p 00000000 00:00 0 7efff8923000-7efff9123000 rw-p 00000000 00:00 0 7efff9123000-7efff9124000 ---p 00000000 00:00 0 7efff9124000-7efff9924000 rw-p 00000000 00:00 0 7efff9c05000-7efff9c1e000 r-xp 00000000 08:03 421475 /usr/lib/libglade-2.0.so.0.0.7 7efff9c1e000-7efff9e1d000 ---p 00019000 08:03 421475 /usr/lib/libglade-2.0.so.0.0.7 7efff9e1d000-7efff9e1f000 rw-p 00018000 08:03 421475 /usr/lib/libglade-2.0.so.0.0.7 7efff9e1f000-7efff9e8d000 r-xp 00000000 08:03 915013 /usr/lib/lv2/calf.lv2/calflv2gui.so 7efff9e8d000-7efffa08c000 ---p 0006e000 08:03 915013 /usr/lib/lv2/calf.lv2/calflv2gui.so 7efffa08c000-7efffa098000 rw-p 0006d000 08:03 915013 /usr/lib/lv2/calf.lv2/calflv2gui.so 7efffa098000-7efffa125000 r--p 00000000 08:03 658393 /usr/share/fonts/TTF/DejaVuSans-Oblique.ttf 7efffa125000-7efffa126000 ---p 00000000 00:00 0 7efffa126000-7efffa926000 rw-p 00000000 00:00 0 7efffa977000-7efffab78000 rw-p 00000000 00:00 0 7efffab78000-7efffab79000 ---p 00000000 00:00 0 7efffab79000-7efffabf3000 rw-p 00000000 00:00 0 7efffabf3000-7efffabf4000 ---p 00000000 00:00 0 7efffabf4000-7efffac6e000 rw-p 00000000 00:00 0 7efffac6e000-7efffac6f000 ---p 00000000 00:00 0 7efffac6f000-7effface9000 rw-p 00000000 00:00 0 7effface9000-7efffacea000 ---p 00000000 00:00 0 7efffacea000-7efffad6a000 rw-p 00000000 00:00 0 7efffad6a000-7efffad70000 r-xp 00000000 08:03 660119 /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so 7efffad70000-7efffaf6f000 ---p 00006000 08:03 660119 /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so 7efffaf6f000-7efffaf70000 rw-p 00005000 08:03 660119 /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so 7efffb00b000-7efffb00c000 ---p 00000000 00:00 0 7efffb00c000-7efffb08c000 rw-p 00000000 00:00 0 7efffb08c000-7efffb127000 r--p 00000000 08:03 662203 /usr/share/fonts/TTF/DejaVuSans-Bold.ttf 7efffb127000-7efffb128000 ---p 00000000 00:00 0 7efffb128000-7efffb928000 rw-p 00000000 00:00 0 7efffb928000-7efffbf43000 r--p 00000000 08:03 933158 /usr/share/icons/hicolor/icon-theme.cache 7efffbf43000-7effff1e0000 r--p 00000000 08:03 919142 /usr/share/icons/gnome/icon-theme.cache 7effff1e0000-7effffac3000 r--p 00000000 08:04 8651381 /home/antanas/.icons/Faenza/icon-theme.cache 7effffac3000-7effffad7000 r-xp 00000000 08:03 415060 /usr/lib/gio/modules/libgioremote-volume-monitor.so 7effffad7000-7effffcd6000 ---p 00014000 08:03 415060 /usr/lib/gio/modules/libgioremote-volume-monitor.so 7effffcd6000-7effffcd7000 rw-p 00013000 08:03 415060 /usr/lib/gio/modules/libgioremote-volume-monitor.so 7effffcd7000-7effffcd9000 r-xp 00000000 08:03 652813 /lib/libutil-2.12.2.soAborted |
|
Same here with IR LV2: Found UI http://factorial.hu/plugins/lv2/ir at index 0 in: /usr/lib/lv2/ir.lv2/ir_gui.so (ardour-2.8.11:5047): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text() (ardour-2.8.11:5047): Pango-CRITICAL **: pango_layout_get_line_count: assertion `layout != NULL' failed (ardour-2.8.11:5047): Gdk-CRITICAL **: IA__gdk_draw_layout: assertion `PANGO_IS_LAYOUT (layout)' failed (ardour-2.8.11:5047): Pango-CRITICAL **: pango_layout_get_line_count: assertion `layout != NULL' failed (ardour-2.8.11:5047): Gdk-CRITICAL **: IA__gdk_draw_layout: assertion `PANGO_IS_LAYOUT (layout)' failed (ardour-2.8.11:5047): Pango-CRITICAL **: pango_renderer_draw_layout: assertion `PANGO_IS_LAYOUT (layout)' failed (ardour-2.8.11:5047): Pango-CRITICAL **: pango_renderer_draw_layout: assertion `PANGO_IS_LAYOUT (layout)' failed (ardour-2.8.11:5047): Pango-CRITICAL **: pango_layout_get_line_count: assertion `layout != NULL' failed (ardour-2.8.11:5047): Gdk-CRITICAL **: IA__gdk_draw_layout: assertion `PANGO_IS_LAYOUT (layout)' failed (ardour-2.8.11:5047): Pango-CRITICAL **: pango_layout_get_line_count: assertion `layout != NULL' failed (ardour-2.8.11:5047): Gdk-CRITICAL **: IA__gdk_draw_layout: assertion `PANGO_IS_LAYOUT (layout)' failed (ardour-2.8.11:5047): Pango-WARNING **: shaping failure, expect ugly output. shape-engine='BasicEngineFc', font='DejaVu Sans 8.3330078125', text='H\xb0\xa9\u000cVu S' (ardour-2.8.11:5047): Pango-CRITICAL **: pango_layout_get_line_count: assertion `layout != NULL' failed (ardour-2.8.11:5047): Gdk-CRITICAL **: IA__gdk_draw_layout: assertion `PANGO_IS_LAYOUT (layout)' failed (ardour-2.8.11:5047): Pango-CRITICAL **: pango_layout_get_line_count: assertion `layout != NULL' failed (ardour-2.8.11:5047): Gdk-CRITICAL **: IA__gdk_draw_layout: assertion `PANGO_IS_LAYOUT (layout)' failed (ardour-2.8.11:5047): Pango-CRITICAL **: pango_layout_get_line_count: assertion `layout != NULL' failed (ardour-2.8.11:5047): Gdk-CRITICAL **: IA__gdk_draw_layout: assertion `PANGO_IS_LAYOUT (layout)' failed (ardour-2.8.11:5047): Gdk-CRITICAL **: IA__gdk_draw_layout: assertion `PANGO_IS_LAYOUT (layout)' failed ** Gdk:ERROR:gdkregion-generic.c:1114:miUnionNonO: assertion failed: (r->x1 < r->x2) ** Gdk:ERROR:gdkregion-generic.c:1189:miUnionO: assertion failed: (pReg->numRects<=pReg->size) Abgebrochen (Speicherabzug geschrieben) BUT: not at all with CALF (SVN about 2 weeks old) CALF Flanger works perfectly OK if automated. |
|
it was interesting to me how exactly plugin gui was updating itself so ive made my own lv2 plugin with gui. at first i was getting all these same crashes with my own plugin using automation, and just as paul said it was bacause the gui was updating itself from the wrong thread. using Glib::Dispatcher solved the problem for my plugin and im getting no crashes with it so far. |
|
According to LV2's in-process UI extension standard (lv2_ui.h) [http://lv2plug.in/ns/extensions/ui]: UIs written to this specification do not need to be threadsafe - the functions defined below may only be called in the same thread as the UI main loop is running in. It is clear that Ardour does not run the plugin's port_event() notification function from the UI main loop thread, but a different thread (I suppose it might be the jack process thread). That being said, IR version 1.2 has at least one other issue with automating its parameters, for which I have here an almost complete solution. However, I'd like to have your opinion on the above issue before I proceed. Is it Ardour or the LV2 standard that should be fixed? Or am I completely misunderstanding something? |
|
tom, drobilla and i are discussing the right approach this (quite complicated) issue. we'd prefer to put the complexity in the LV2 host, not the plugins, if possible. |
|
tom, after looking into this in more detail, it appears that ardour is already acting in the correct way. when ardour changes the value of a parameter (port) it basically sets the value in a "shadow data" array and then calls a callback in the GUI thread (the details of how it gets into the GUI thread are not worth covering here). the value in the shadow data is pushed into the plugin itself the next time the plugin's "run" method is executed. it is the GUI thread code that calls the LV2 UI descriptor's "port_event()" method, and this is *only* called from the GUI thread. this description was true as of rev 8302 in ardour3. However, this is broken in 2.X, where the callback as the port value is altered is handled in the same thread. I will fix this there for 2.8.12 (which has no scheduled release data at this point). |
|
should be fixed for 2.0-ongoing in rev 8640 |
|
Yes indeed. I was testing this with Ardour 2.8.11. Sorry for not making that clear. I just tested and the problem disappears with 2.0-r8642. (A new IR version that works correctly with automation will be released very soon.) Thank you. |
|
Just released IR 1.3 which - along with Ardour 2.0-ongoing r8640 - should work perfectly with automation. |
|
actually this problem doesn't exist in a3, so its already solved there. i'll change the target. |
|
I build IR today from ir.lv2-1.3.tar.gz. And yesterday Ardour from SVN (Revision 8794). With quite mixed results: IR-GUI reacts OK when Envelope is governed by an automation-curve. But whenever and as long as the parameter changes, neither IR's GUI nor Ardours GUI are updated. Peaklevel-meters and Cursor are frozen both GUIs and both Programs do not respond to mouse-actions or keyboard-commands. If I change the Desktop and return, both windows are blank *accept* the box in IR-GUI that shows the wave-form and the envelope-curve. The Audio-engine seems not to be disturbed. The song keeps playing as it should. If the changes by the automation are made in IR (no new values from the automation), both GUIs recover after some seconds. |
|
Strange, I've tested IR 1.3 with Ardour2 r8642 and now with r8818 and it seems to just work with both versions. I cannot get it to hang the GUI. What exact IR controls are you automating? [*] What is your JACK buffer size? [*] http://factorial.hu/plugins/lv2/ir see section called "Automation" |
|
I control the Envelope (the red curve in the GUI -- I was interested to find out, if such non-standard-elements would react correctly). And yes! Ashes upon my head: I did not try normal faders. ;-) The Wet-Gain fader works perfectly OK with automation. GUI etc work as expected. So it seems, as if only the fancy curve of the envelope is affected. No wait! applying a curve to predelay freezes the GUIs also... Dry gain does not. But after Ardour has recovered I get this: no space in Ardour-UI request buffer for thread unknown no space in Ardour-UI request buffer for thread unknown Speicherzugriffsfehler Last line translates to segfault... Jack Buffersize is 256/2/48Khz BTW I had only 2 xruns 2 h ago when killing Ardour because the freeze. Not even another xrun for the seqfault. EDIT: I now read the notes about Automation on your site a bit more carafully. OK - so the problem is understandable. But i should say that many many people will fall to that, since the controls are available for automatisation and at least pre-delay may be a interesting candidate for automatisation in real-world scenarios. BTW: what about setting these parameters in Realtime (while it plays) by hand or MIDI-CC ? |
|
You should never, ever automate an IR plugin parameter other than those mentioned explicitly as being suitable for automation (please see the reference in my previous note). This is an inherent limitation in the way the plugin works. Could be considered a feature. |
|
OK I understand it now :-) LV2 does not offer a mechanism to tell the host, what parameters could be automated and what cannot, right? |
|
There may be one, but I'm not aware of it. The most sensible way would be a corresponding portProperty in the plugin's TTL file. If such a convention in LV2 exists, please educate me (anyone!) and I'll definitely use it. |
|
More tests: Invada Phaser used to crash almost immediately with GUI opened and 1 parameter automated. Now one parameter works perfectly OK and 2 parameters at the same time cause some short stops in Ardour GUI but no crackles in the sound and no xruns. Ardours GUI remains responsive to keyboard commands. The knobs on Invadas GUI keep turning as expected. 4 parameters make Ardours GUI hang and unresponsive as soon a the passage with the automation-changes is over Ardour returns to normal. Invada is not updated in the last 12 months or so I informed them of the trouble with automation but get no response. I have similar effects with calf flanger and phaser but with much less impact. The first very short hangs of Ardours cursor appear with 6 parameters in 2 plugins are automated at the same time and both plugin GUIs are open. |
|
Is this still an issue? Is it an issue with Ardour 3.0 ? |
|
Testing it here with my old Revision 8343 its still the same. The bundle-installation of Adour3 alpha6 shows the same. Automation works as expected but if Invada-GUIs are opened, Ardours UI freezes and while the knobs are turning on the plugin-ui its window is not responsive to any mouse-actions. The cursor freezes as soon as more than one parameter is automatized. |
|
Revision 9730 shows the same behaviour, even worse: now the automatisation holds Ardours UI regardless if the plugin-ui is open or closed. Update: This additional effect does not appeare anymore, if the plugin-ui is closed for some time. It can be, that I had clicked the plugin to pop up its UI and that it simply failed to open so it looked, like Ardour freezes whithout the plugin-UI involved. |
|
Just as a note, I'm fairly convinced that this is an error in the threading design in the plugin, which in part is caused by it not being totally clear in the LV2 specification what the correct thread design should be. Ardour needs to handle it either way. |
|
I tend to agree that invada is causing the problem since I do not see similar problems with CALF. |
|
I've just tried this with rev 9830 and the Invada Phaser on a stereo bus. I automated 2 parameters, added automation data, and both ran the transport normally and in loop mode. Ardour did not crash and there were no errors. |
|
also tried with 4 automated parameters, and with the GUI visible and not visible. no crashes. |
|
Sorry, but no change here with rev. 9831. I have 4 parameters in Invada Phaser automated and as soon as all 4 curves begin to work, the GUI halts. Or, to be more precise: everything, that is *not* moved to follow the automation-curves becoms frozen and unresponsive. In this screenshot you can see the parts of ardour, that still move in the abovementioned scenario: http://lapoc.de/img/ardour9381-invada-phaser.png And I cannot stress enough, that the audio works perfectly well including the desired effects of the automation -- the screen shot shows the situation after the test runs for about 30 minutes in a loop and there are ZERO xruns (Fedora14 with CCRMA settings for 16 ms latency). p.s.: after killing Ardour I can see a few thousands of these in its terminal: no space in Ardour-UI request buffer for thread unknown |
Date Modified | Username | Field | Change |
---|---|---|---|
2010-06-02 09:49 | zettberlin | New Issue | |
2010-06-02 10:11 | zettberlin | Note Added: 0008124 | |
2010-06-02 10:14 | zettberlin | Note Edited: 0008124 | |
2010-06-02 12:40 | paul | Note Added: 0008130 | |
2010-06-02 21:45 | zettberlin | Note Added: 0008140 | |
2010-06-24 21:27 | interferon | Note Added: 0008321 | |
2010-06-24 21:29 | interferon | Note Edited: 0008321 | |
2010-06-27 15:50 | paul | Note Added: 0008335 | |
2011-01-21 11:49 | eikakot | Note Added: 0009965 | |
2011-01-21 11:51 | eikakot | Note Edited: 0009965 | |
2011-01-21 23:12 | zettberlin | Note Added: 0009967 | |
2011-01-24 20:11 | eikakot | Note Added: 0009975 | |
2011-01-28 16:17 | tomszilagyi | Note Added: 0009979 | |
2011-01-29 15:55 | paul | Note Added: 0009987 | |
2011-02-01 14:35 | paul | Note Added: 0010018 | |
2011-02-01 14:40 | paul | Note Added: 0010019 | |
2011-02-01 14:40 | paul | Status | new => feedback |
2011-02-01 17:14 | tomszilagyi | Note Added: 0010026 | |
2011-02-04 18:16 | tomszilagyi | Note Added: 0010038 | |
2011-02-06 17:26 | cth103 | cost | => 0.00 |
2011-02-06 17:26 | cth103 | Target Version | => 3.0-alpha1 |
2011-02-06 17:50 | paul | Note Added: 0010042 | |
2011-02-06 17:51 | paul | Target Version | 3.0-alpha1 => 2.8.12 |
2011-02-10 13:50 | zettberlin | Note Added: 0010065 | |
2011-02-10 14:49 | tomszilagyi | Note Added: 0010066 | |
2011-02-10 15:29 | zettberlin | Note Added: 0010067 | |
2011-02-10 15:30 | zettberlin | Note Edited: 0010067 | |
2011-02-10 15:34 | tomszilagyi | Note Added: 0010068 | |
2011-02-10 15:36 | zettberlin | Note Edited: 0010067 | |
2011-02-10 15:39 | zettberlin | Note Added: 0010069 | |
2011-02-10 15:50 | tomszilagyi | Note Added: 0010070 | |
2011-02-10 16:09 | zettberlin | Note Added: 0010071 | |
2011-06-11 17:03 | paul | Note Added: 0010850 | |
2011-06-14 13:29 | zettberlin | Note Added: 0010878 | |
2011-06-14 18:09 | zettberlin | Note Added: 0010879 | |
2011-06-14 18:14 | zettberlin | Note Edited: 0010879 | |
2011-06-15 11:24 | paul | Note Added: 0010892 | |
2011-06-15 12:47 | zettberlin | Note Added: 0010897 | |
2011-07-10 17:07 | paul | Note Added: 0011031 | |
2011-07-10 17:15 | paul | Note Added: 0011032 | |
2011-07-10 19:17 | zettberlin | Note Added: 0011040 | |
2011-07-10 19:18 | zettberlin | Note Edited: 0011040 | |
2011-07-10 19:19 | zettberlin | Note Edited: 0011040 |