Project not working after crash recovery


First I have to thank the developers of this excellent project. Since moving to Linux some months ago to set up a home recording studio, it has been the main motivation for spending hours in configuring and installing everything to make it work.

The problem is that during a track edition with Ctrl+Drag and drop, Ardour crashed. When I started it again, it asked me to recover the project from the crash, I answered yes, then it crashed again without showing any error message. Now I cannot open this project anymore, when starting from the console, I get this message and it stops:

xavi@xavi-laptop:~$ ardour2
WARNING: Your system has a limit for maximum amount of locked memory!
This might cause Ardour to run out of memory before your system runs out of memory. You can view the memory limit with ‘ulimit -l’, and it is normally controlled by /etc/security/limits.conf
Ardour/GTK 2.0
(built using 1762 and GCC version 4.1.2 (Ubuntu 4.1.2-0ubuntu4))
Copyright © 1999-2007 Paul Davis
Some portions Copyright © Steve Harris, Ari Johnson, Brett Viren, Joel Baker

This is free software, and you are welcome to redistribute it
under certain conditions; see the source for copying conditions.
Loading ui configuration file /etc/ardour2/ardour2_ui.rc
theme_init() called from internal clearlooks engine
loading system configuration file /etc/ardour2/ardour_system.rc
loading user configuration file /home/xavi/.ardour2/ardour.rc
ardour: [INFO]: No H/W specific optimizations in use
ardour: [INFO]: looking for control protocols in /home/xavi/.ardour2/surfaces/:/usr/lib/ardour2/surfaces/
ardour: [INFO]: Control surface protocol discovered: “Generic MIDI”
ardour: [INFO]: Control surface protocol discovered: “Mackie”
loading bindings from /etc/ardour2/ardour.bindings
Gtk-Message: (for origin information, set GTK_DEBUG): failed to retrieve property GtkWidget::cursor-color' of typeGdkColor’ from rc file value “((GString*) 0x8fc9390)” of type GString' Loading session /media/hda2/media/music/ardour/Helping hands using snapshot Helping hands (1) ardour: [WARNING]: Session: XML state has no click section ardour-2.0: /usr/include/boost/shared_ptr.hpp:247: typename boost::detail::shared_ptr_traits<T>::reference boost::shared_ptr<T>::operator*() const [with T = ARDOUR::Route]: Assertionpx != 0’ failed.
Aborted (core dumped)

The contents of /home/xavi/.ardour2/ardour.rc are:

<?xml version="1.0" encoding="UTF-8"?>

I have tried to find the core dump but there’s no any core.xxxx file in my filesystem. For the recording I used a M-Audio Fasttrack Pro USB, Ubuntu Studio and Ardour 2. The kernel is 2.6.20-15-lowlatency. This is my first non test project, so it’d be great to have it working again.

Thanks for your help!

Sorry it looks that ardour.rc has not been printed. I try to post it again scaping the tags, hope it works now:

<?xml version=“1.0” encoding=“UTF-8”?>
<MIDI-port tag=“control” device=“ardour” type=“alsa/sequencer” mode=“duplex”/>
<MIDI-port tag=“mcu” device=“ardour” type=“alsa/sequencer” mode=“duplex”/>
<MIDI-port tag=“seq” device=“ardour” type=“alsa/sequencer” mode=“duplex”/>
<Option name=“trace-midi-input” value=“0”/>
<Option name=“trace-midi-output” value=“0”/>
<Option name=“use-tranzport” value=“0”/>
<Option name=“minimum-disk-io-bytes” value=“262144”/>
<Option name=“track-buffer-seconds” value=“5”/>
<Option name=“disk-choice-space-threshold” value=“57600000”/>
<Option name=“xfade-model” value=“2075110528”/>
<Option name=“auto-xfade” value=“1”/>
<Option name=“destructive-xfade-msecs” value=“20”/>
<Option name=“mute-affects-pre-fader” value=“1”/>
<Option name=“mute-affects-post-fader” value=“1”/>
<Option name=“mute-affects-control-outs” value=“1”/>
<Option name=“mute-affects-main-outs” value=“1”/>
<Option name=“plugins-stop-with-transport” value=“0”/>
<Option name=“stop-recording-on-xrun” value=“0”/>
<Option name=“stop-at-session-end” value=“1”/>
<Option name=“quieten-at-speed” value=“1”/>
<Option name=“jack-time-master” value=“1”/>
<Option name=“timecode-source-is-synced” value=“1”/>
<Option name=“no-new-session-dialog” value=“0”/>
<Option name=“use-vst” value=“1”/>
<Option name=“periodic-safety-backups” value=“1”/>
<Option name=“periodic-safety-backup-interval” value=“120”/>
<Keyboard edit-button=“3” edit-modifier=“4” delete-button=“3” delete-modifier=“1” snap-modifier=“32”/>
<TransportControllables roll=“0” stop=“1” goto_start=“2” goto_end=“3” auto_loop=“4” play_selection=“5” rec=“6” shuttle=“7”/>
<Protocol name=“Generic MIDI” feedback=“0” feedback_interval=“10000” active=“yes”>
<Protocol name=“Mackie” bank=“0” active=“yes”/>

what is that boost library about? i dont have it. is it an ubuntu thing?

ive had locked sessions after trying to recover something from a crash (now I always hit no), but it usually happens if I’ve been recording when it crashed.

i can often modify /pathtoproject/filename.ardour and take out the offending XML code

boost is a library and header which provide useful cross-platform tools for C++ development. We use it’s shared_ptr<> template. It is not ubuntu specific.

Hi, thanks for your replies. I know the basics of Boost library, auto pointers, containers, etc. but I am quite new at C++. Anyway I have looked at the .ardour XML and at the AROUR::Route object, but without debugging and knowing a bit of the overall structure of the program it’s difficult to find where the problem comes from. I have removed the warning about memory limits, editing /etc/security/limits.conf, but the result is the same.

Should I debug then, or there’s a way to start in a debug mode to get more info before the crash? And where could I find the core dump of the crash to look at the stack? In case it’s possible to solve it modifing the .ardour XML, where is the Schema or DTD that defines the grammar to validate the document?

At the moment I have redone the project using the same audio tracks, but it still gives me a feeling of insecurity to think that I could loose the work again, so I believe is worth to go into it and solve the problem.