Skip to content

SIGSEGV when adding a write_io watchpoint #129

@mcolom

Description

@mcolom

When trying to add a new watchpoint in the Debug list window, a SEGSEGV happens:

Thread 1 "openmsx-debugge" received signal SIGSEGV, Segmentation fault.
0x000055555559ecc5 in QTableWidgetItem::setText (this=0x0, atext=...) at /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtablewidget.h:200
200 { setData(Qt::DisplayRole, atext); }

(gdb) print this
$3 = (QTableWidgetItem * const) 0x0

To reproduce this, I have three breakpoints, and no Watchpoints or Conditions.
I go to the Watchpoints tab, click on "Add", choose "write_io", and it crashes.

Backtrace:
(gdb) bt
#0 0x000055555559ecc5 in QTableWidgetItem::setText(QString const&)
(this=0x0, atext=...)
at /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtablewidget.h:200
#1 0x00005555555979c9 in BreakpointViewer::setTextField(BreakpointRef::Type, int, int, QString const&, QString const&)
(this=0x5555559f99d0, type=BreakpointRef::WATCHPOINT, row=0, column=7, value=..., tooltip=...) at src/BreakpointViewer.cpp:269
#2 0x0000555555598c35 in BreakpointViewer::changeTableItem(BreakpointRef::Type, QTableWidgetItem*)
(this=0x5555559f99d0, type=BreakpointRef::WATCHPOINT, item=0x555555bc7ff0)
at src/BreakpointViewer.cpp:412
#3 0x000055555559a3b7 in BreakpointViewer::changeCurrentWpType(int, int)
(this=0x5555559f99d0, row=0) at src/BreakpointViewer.cpp:675
#4 0x000055555559a3e6 in operator()(int) const
(__closure=0x7fffec00b990, index=3) at src/BreakpointViewer.cpp:692
#5 0x000055555559e629 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List, void, BreakpointViewer::createComboBox(int)::<lambda(int)> >::call(struct {...} &, void **) (f=..., arg=0x7ffffffece60)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions