When loading the state of a Route fails (here
"unknown enumerator SurroundMaster in PBD::EnumWriter"), the
routes which have already been loaded are not added to the
Session's routelist.
Already existing routes that have an InternalSend or have
a circular reference:
The Send's `_send_from` holds a shared pointer
`<Route>(shared_from_this())` to the Route, and the
Route's ProcessorList contains the InternalSend.
This leads to various
"SessionHandleRef exists across session deletion" of
IO, Ports, GraphNode, Graph, etc
which causes issues when loading another session.
Session::destroy() cleans calls drop_references for
each route in the RouteList, which breaks the circular
dependency (InternalSend drops reference to Route).
But here the RouteList is empty.
Crash fixed:
* Load a session that fails to load a Route
(here a session created on with the vapor branch, on master)
* Then load another session without restarting Ardour.