openMSX / debugger

31 stars 15 forks source link

Assertion failed when empty slot entry #131

Closed mcolom closed 2 years ago

mcolom commented 2 years ago

I have an active breakpoint with Slot set to 3/1 in the Debug window. If I leave this field empty, an assertion fails:

ASSERT failure in QList::operator[]: "index out of range", file /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h, line 579 Aborted.

Backtrace:

4 0x00005555555a2d06 in QList::operator

(this=0x7ffffffecfa0, i=0)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:579

5 0x0000555555597add in BreakpointViewer::parseSlotField(std::optional, QString const&)

(this=0x5555558bfe50, index=std::optional<int> = {...}, field=...)
at src/BreakpointViewer.cpp:280

6 0x0000555555598cbf in BreakpointViewer::changeTableItem(BreakpointRef::Type, QTableWidgetItem*)

(this=0x5555558bfe50, type=BreakpointRef::BREAKPOINT, item=0x555555d01230)
at src/BreakpointViewer.cpp:418

7 0x0000555555599636 in BreakpointViewer::changeBpTableItem(QTableWidgetItem*) (this=0x5555558bfe50, item=0x555555d01230) at src/BreakpointViewer.cpp:478

8 0x00005555555a651a in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QTableWidgetItem>, void, void (BreakpointViewer::)(QTableWidgetItem)>::call(void (BreakpointViewer::)(QTableWidgetItem), BreakpointViewer, void**)

MBilderbeek commented 2 years ago

@pvmm Can you take a look?