View Issue Details

IDCategoryLast Update
0007878bugs2020-01-18 12:12
ReporterautopoiesisAssigned To 
Reproducibilityalways 
Status newResolutionopen 
PlatformWindows 10OSWindowsOS Version10
Product Version5.12 
Fixed in Version 
Summary0007878: Crash on rename MIDI track containing ':'
DescriptionSeems to be similar to 0007248: "Crash when copying a MIDI region with debug build" and possibly others.

Submitter comment https://tracker.ardour.org/view.php?id=7248#c19419 states: "Right after submitting I found out what was special: The name of the region contained a `/`. I removed the `/` and now it works. The *UI should prevent the user from creating wrong names; and/or the system should sanitize the names of the regions internally.* "

[My emphasis]

Response 2017-02-21 11:35 from Paul: "We do attempt to sanitize region and track and session names, btw ..."

Sanitisation is not functioning correctly, leading to unsaved data loss (I found that recovery was not possible following this crash).
Steps To Reproduce1. Create empty template
2. Add MIDI track, give it a name containing ':' - eg "MIDI channel A:01" (I had intended to use this convention, meaning Port A, MIDI channel 01)
3. From the mixer window, right-click the track, select Rename
4. Give a new name, preserving the ':' - eg "New name A:01"
5. Dialogue appears, stating "The use of colons (':') is discouraged in track and bus names[...]"
6. Select button 'Use the new name'

App crashes with following dialogue text
---------------------------
Error
---------------------------

(Ardour.exe:9500): glibmm-ERROR **:
unhandled exception (type std::exception) in signal handler:
what: basic_string::replace: __pos (which is 18446744073709551615) > this->size() (which is 27)


---------------------------
OK
---------------------------

.wer report file available.
Additional InformationArdour should either not permit naming items with characters which cannot be sanitised, or it should handle those characters correctly.

Inspired by RFC 2119 https://tools.ietf.org/html/rfc2119 on meaning of MAY/MUST/etc:

Either colons MAY be used, in which case the program MUST handle them correctly, or - if the program MAY NOT handle them correctly - then they MUST NOT be allowed to be used.

Current situation is neither one nor the other, and stating without enforcement that the use of colons is 'discouraged' leads to data loss.
Tagscrash

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2020-01-18 12:12 autopoiesis New Issue
2020-01-18 12:12 autopoiesis Tag Attached: crash