Closed - Ardour6.3.0 crashes on start

I just compiled ardour6.3.0 and when I try to open an existing project or create a new one it crashes. This is the terminal log:

$ ardour6
bind txt domain [gtk2_ardour6] to /usr/local/share/ardour6/locale
Ardour6.3.0 (built using 6.3 and GCC version 7.5.0)
Ardour: [INFO]: Your system is configured to limit Ardour to 1048576 open files
Ardour: [INFO]: Loading system configuration file /usr/local/etc/ardour6/system_config
Ardour: [INFO]: Loading user configuration file /home/aoei/.config/ardour6/config
Ardour: [INFO]: CPU vendor: AuthenticAMD
Ardour: [INFO]: AVX-capable processor
Ardour: [INFO]: CPU brand: AMD Ryzen 7 3800X 8-Core Processor             
Ardour: [INFO]: Using AVX optimized routines
Ardour: [INFO]: Loading plugin meta data file /usr/local/share/ardour6/plugin_metadata/plugin_tags
Ardour: [INFO]: Loading plugin statistics file /home/aoei/.config/ardour6/plugin_metadata/plugin_stats
Ardour: [INFO]: Loading default ui configuration file /usr/local/etc/ardour6/default_ui_config
Ardour: [INFO]: Loading user ui configuration file /home/aoei/.config/ardour6/ui_config
Ardour: [INFO]: Loading 449 MIDI patches from /usr/local/share/ardour6/patchfiles
/usr/share/themes/Lubuntu-default/gtk-2.0/apps/pcmanfm.rc:29: error: unexpected identifier 'hint', expected character '}'
Ardour: [INFO]: Loading color file /usr/local/share/ardour6/themes/dark-ardour.colors
/usr/share/themes/Lubuntu-default/gtk-2.0/apps/pcmanfm.rc:29: error: unexpected identifier 'hint', expected character '}'
Ardour: [INFO]: Loading ui configuration file /usr/local/etc/ardour6/clearlooks.rc
Ardour: [INFO]: Loading bindings from /home/aoei/.config/ardour6/ardour.keys
Loading ui configuration file /usr/local/etc/ardour6/clearlooks.rc

(ardour-6.3.0:2613): GLib-GIO-CRITICAL **: 10:32:58.675: g_dbus_proxy_new: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
Found nothing along /home/aeoi/.config/ardour6/templates:/usr/local/share/ardour6/templates
pingback: No Error
lilv_world_load_bundle(): warning: Ignoring bundle <file:///usr/lib/lv2/a-eq.lv2/>
lilv_world_load_bundle(): note: Newer version of <urn:ardour:a-eq> loaded from <file:///usr/local/lib/ardour6/LV2/a-eq.lv2/>
lilv_world_load_bundle(): warning: Ignoring bundle <file:///usr/lib/lv2/a-fluidsynth.lv2/>
lilv_world_load_bundle(): note: Newer version of <urn:ardour:a-fluidsynth> loaded from <file:///usr/local/lib/ardour6/LV2/a-fluidsynth.lv2/>
lilv_world_load_bundle(): warning: Ignoring bundle <file:///usr/lib/lv2/a-reverb.lv2/>
lilv_world_load_bundle(): note: Newer version of <urn:ardour:a-reverb> loaded from <file:///usr/local/lib/ardour6/LV2/a-reverb.lv2/>
lilv_world_load_bundle(): warning: Ignoring bundle <file:///usr/lib/lv2/a-comp.lv2/>
lilv_world_load_bundle(): note: Newer version of <urn:ardour:a-comp> loaded from <file:///usr/local/lib/ardour6/LV2/a-comp.lv2/>
lilv_world_load_bundle(): warning: Ignoring bundle <file:///usr/lib/lv2/a-delay.lv2/>
lilv_world_load_bundle(): note: Newer version of <urn:ardour:a-delay> loaded from <file:///usr/local/lib/ardour6/LV2/a-delay.lv2/>
lilv_world_add_plugin(): warning: Duplicate plugin <https://community.ardour.org/node/7596>
lilv_world_add_plugin(): warning: ... found in file:///usr/local/lib/ardour6/LV2/reasonablesynth.lv2/
lilv_world_add_plugin(): warning: ... and      file:///usr/lib/lv2/reasonablesynth.lv2/ (ignored)
Scanning folders for bundled LV2s: /usr/local/lib/ardour6/LV2
lilv_world_load_bundle(): warning: Ignoring bundle <file:///usr/lib/lv2/a-eq.lv2/>
lilv_world_load_bundle(): note: Newer version of <urn:ardour:a-eq> loaded from <file:///usr/local/lib/ardour6/LV2/a-eq.lv2/>
lilv_world_load_bundle(): warning: Ignoring bundle <file:///usr/lib/lv2/a-fluidsynth.lv2/>
lilv_world_load_bundle(): note: Newer version of <urn:ardour:a-fluidsynth> loaded from <file:///usr/local/lib/ardour6/LV2/a-fluidsynth.lv2/>
lilv_world_load_bundle(): warning: Ignoring bundle <file:///usr/lib/lv2/a-reverb.lv2/>
lilv_world_load_bundle(): note: Newer version of <urn:ardour:a-reverb> loaded from <file:///usr/local/lib/ardour6/LV2/a-reverb.lv2/>
lilv_world_load_bundle(): warning: Ignoring bundle <file:///usr/lib/lv2/a-comp.lv2/>
lilv_world_load_bundle(): note: Newer version of <urn:ardour:a-comp> loaded from <file:///usr/local/lib/ardour6/LV2/a-comp.lv2/>
lilv_world_load_bundle(): warning: Ignoring bundle <file:///usr/lib/lv2/a-delay.lv2/>
lilv_world_load_bundle(): note: Newer version of <urn:ardour:a-delay> loaded from <file:///usr/local/lib/ardour6/LV2/a-delay.lv2/>
lilv_world_add_plugin(): warning: Duplicate plugin <https://community.ardour.org/node/7596>
lilv_world_add_plugin(): warning: ... found in file:///usr/local/lib/ardour6/LV2/reasonablesynth.lv2/
lilv_world_add_plugin(): warning: ... and      file:///usr/lib/lv2/reasonablesynth.lv2/ (ignored)
Set cursor set to default
 loading from /home/aoei/Musik/ardour/Untitled-2020-09-22-10-33-01 as Untitled-2020-09-22-10-33-01 templ  is_new 1 bp 2
ardour-6.3.0: ../libs/ardour/disk_reader.cc:1671: void ARDOUR::DiskReader::Declicker::alloc(ARDOUR::samplecnt_t, bool): Zusicherung »n < loop_fade_length« nicht erfüllt.
Abgebrochen (Speicherabzug geschrieben)

(Obviously I have configured my OS to german, the last messages say something like assertion »n < loop_fade_length« failed and Exited (Core dumped))

Version 6.2.0 doesn’t have this issue.

Any hints or help are greatly appreciated.

Thanks in advance

EDIT: This also happens if I move the ~/.config/ardour6 folder out of the way, so it shouldn’t be a config problem.

EDIT2: Looking at the code:

void
DiskReader::Declicker::alloc (samplecnt_t sr, bool fadein)
{
	delete[] vec;
	vec = new Sample[loop_fade_length];

	const float a = 1024.0f / sr;

	/* build a psuedo-exponential (linear-volume) shape for the fade */

	samplecnt_t n;

	if (fadein) {
		gain_t g = 0.0;
		for (n = 0; (n < loop_fade_length) && ((1.f - g) > GAIN_COEFF_DELTA); ++n) {
			vec[n] = g;
			g += a * (1.0 - g);
		}
	} else {
		gain_t g = 1.0;
		for (n = 0; (n < loop_fade_length) && (g > GAIN_COEFF_DELTA); ++n) {
			vec[n] = g;
			g += a * -g;
		}
	}

	assert (n < loop_fade_length); // <-- this fails because n == loop_fade_length
                                   //see the loop condition above

	fade_length = n;

	/* zero out the rest just to be safe */

	memset (&vec[n], 0, sizeof (gain_t) * (loop_fade_length - n));
}

I don’t wonder about this assertion failing, however I am not the one who wrote this code and don’t know the details of what this does.
But I do wonder why nobody but me seems to have stumbled upon this when running ardour6.3.
Can the person who wrote that code please have a look at this?
@x42 @paul

EDIT3: For anyone experiencing this there are two “solutions” known to me:

  • stick to 6.2.0
  • use a samplerate <=96kHz

Robin Gareus said this issue should be solved in recent dev versions.

Please report this on tracker.ardour.org. The forum does not lend itself to keep track of issue.
Also include the sample-rate of your project in the report.