sidfactory2 icon indicating copy to clipboard operation
sidfactory2 copied to clipboard

Crash when opening sf2 file

Open micheldebree opened this issue 1 year ago • 1 comments

Describe the bug SF2 crashes when I open my SF2 file

To Reproduce

  1. Open the attached file
  2. SF2 crashes

Expected behavior SF2 doesn't crash

Desktop (please complete the following information):

  • OS: macOS M1 Ventura
  • Version of SIDFactoryII:

Additional context

The following assertion failes in datasource_orderlist.cpp

DataSourceOrderList::Entry& DataSourceOrderList::operator[](int inIndex)
	{
		FOUNDATION_ASSERT(inIndex < MaxEntryCount);
```		

Call stack:

SIDFactoryII!Editor::DataSourceOrderList::operator (/Users/michel/Commodore64/Dev/cross-platform/sidfactory2/SIDFactoryII/source/runtime/editor/datasources/datasource_orderlist.cpp:30) SIDFactoryII!Editor::ComponentOrderListOverview::RebuildOverview() (/Users/michel/Commodore64/Dev/cross-platform/sidfactory2/SIDFactoryII/source/runtime/editor/components/component_orderlistoverview.cpp:1146) SIDFactoryII!Editor::ComponentOrderListOverview::Refresh(Editor::DisplayState const&) (/Users/michel/Commodore64/Dev/cross-platform/sidfactory2/SIDFactoryII/source/runtime/editor/components/component_orderlistoverview.cpp:430) SIDFactoryII!Editor::ComponentsManager::Refresh(Editor::DisplayState const&) (/Users/michel/Commodore64/Dev/cross-platform/sidfactory2/SIDFactoryII/source/runtime/editor/components_manager.cpp:462) SIDFactoryII!Editor::ScreenBase::Refresh() (/Users/michel/Commodore64/Dev/cross-platform/sidfactory2/SIDFactoryII/source/runtime/editor/screens/screen_base.cpp:88) SIDFactoryII!Editor::ScreenEdit::Refresh() (/Users/michel/Commodore64/Dev/cross-platform/sidfactory2/SIDFactoryII/source/runtime/editor/screens/screen_edit.cpp:396) SIDFactoryII!Editor::EditorFacility::Update(Foundation::Keyboard const&, Foundation::Mouse const&, int) (/Users/michel/Commodore64/Dev/cross-platform/sidfactory2/SIDFactoryII/source/runtime/editor/editor_facility.cpp:332) SIDFactoryII!Run(Foundation::IPlatform const&, int, char**) (/Users/michel/Commodore64/Dev/cross-platform/sidfactory2/SIDFactoryII/main.cpp:188) SIDFactoryII!main (/Users/michel/Commodore64/Dev/cross-platform/sidfactory2/SIDFactoryII/main.cpp:51) start (Unknown Source:0)


[dnb16_editor_crashes.sf2.zip](https://github.com/Chordian/sidfactory2/files/12838701/dnb16_editor_crashes.sf2.zip)

micheldebree avatar Oct 07 '23 19:10 micheldebree

This is easy to reproduce on a new song:

  1. Open Sidfactory2
  2. In the orderlist, copy the first entry in the orderlist (00) (Cmd-C on macOS)
  3. Keep pasting until the orderlist cannot grow anymore (Cmd-V on macOS)
  4. Save the sf2 (F11)
  5. Crash

image

The sf2 file is saved, but opening it crashes the editor again.

micheldebree avatar Oct 07 '23 19:10 micheldebree