SLADE icon indicating copy to clipboard operation
SLADE copied to clipboard

`/usr/src/debug/wxwidgets/wxWidgets/src/gtk/bitmap.cpp(1407): assert ""IsOk()"" failed in Draw(): invalid bitmap` on Arch Linux + Hyprland

Open Jazztache opened this issue 1 year ago • 1 comments

SLADE Version

3.2.6-2 (AUR)

OS

Linux

Editor

Resource editor

Steps to Reproduce

Attempting to open SLADE normally, via the terminal (Konsole) or via a desktop shortcut makes the application crash on startup on the Hyprland window manager. This works fine on KDE Plasma, which I also have installed on the same laptop, but for some reason on Hyprland, this crash occurs. Other GTK applications work fine.

To reproduce:

  1. Start Hyprland
  2. Launch SLADE

SLADE was installed from the Arch User Repository

Crash Information

Stack trace:
ASSERT INFO:
/usr/src/debug/wxwidgets/wxWidgets/src/gtk/bitmap.cpp(1407): assert ""IsOk()"" failed in Draw(): invalid bitmap

BACKTRACE:
[1] wxBitmap::Draw(_cairo*, int, int, bool, wxColour const*, wxColour const*) const
[2] wxGTKCairoDCImpl::DoDrawBitmap(wxBitmap const&, int, int, bool)
[3] wxListLineData::DrawInReportMode(wxDC*, wxRect const&, wxRect const&, bool, bool, bool)
[4] wxListMainWindow::OnPaint(wxPaintEvent&)
[5] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[6] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[7] wxEvtHandler::TryHereOnly(wxEvent&)
[8] wxEvtHandler::ProcessEventLocally(wxEvent&)
[9] wxEvtHandler::ProcessEvent(wxEvent&)
[10] wxEvtHandler::SafelyProcessEvent(wxEvent&)
[11] wxWindow::GTKSendPaintEvents(_cairo*)
[12] g_closure_invoke
[13] g_signal_emit_valist
[14] g_signal_emit
[15] gtk_container_propagate_draw
[16] g_closure_invoke
[17] g_signal_emit_valist
[18] g_signal_emit
[19] gtk_container_propagate_draw
[20] g_closure_invoke
[21] g_signal_emit_valist
[22] g_signal_emit
[23] gtk_container_propagate_draw
[24] g_closure_invoke
[25] g_signal_emit_valist
[26] g_signal_emit
[27] gtk_container_propagate_draw
[28] g_closure_invoke
[29] g_signal_emit_valist
[30] g_signal_emit
[31] gtk_container_propagate_draw
[32] g_closure_invoke
[33] g_signal_emit_valist
[34] g_signal_emit
[35] gtk_container_propagate_draw
[36] g_closure_invoke
[37] g_signal_emit_valist
[38] g_signal_emit
[39] gtk_container_propagate_draw
[40] g_closure_invoke
[41] g_signal_emit_valist
[42] g_signal_emit
[43] gtk_container_propagate_draw
[44] gtk_container_propagate_draw
[45] gtk_main_do_event
[46] wxWindow::Update()
[47] wxAuiManager::OnSize(wxSizeEvent&)
[48] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[49] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[50] wxEvtHandler::TryHereOnly(wxEvent&)
[51] wxEvtHandler::ProcessEventLocally(wxEvent&)
[52] wxEvtHandler::ProcessEvent(wxEvent&)
[53] wxEvtHandler::SafelyProcessEvent(wxEvent&)
[54] g_closure_invoke
[55] g_signal_emit_valist
[56] g_signal_emit
[57] gtk_widget_size_allocate_with_baseline
[58] wxPizza::size_allocate_child(_GtkWidget*, int, int, int, int, int)
[59] wxWindow::DoMoveWindow(int, int, int, int)
[60] wxWindow::DoSetSize(int, int, int, int, int)
[61] wxBoxSizer::RepositionChildren(wxSize const&)
[62] wxSizer::Layout()
[63] wxWindowBase::Layout()
[64] wxWindowBase::InternalOnSize(wxSizeEvent&)
[65] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[66] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[67] wxEvtHandler::TryHereOnly(wxEvent&)
[68] wxEvtHandler::ProcessEventLocally(wxEvent&)
[69] wxEvtHandler::ProcessEvent(wxEvent&)
[70] wxEvtHandler::SafelyProcessEvent(wxEvent&)
[71] g_closure_invoke
[72] g_signal_emit_valist
[73] g_signal_emit
[74] gtk_widget_size_allocate_with_baseline
[75] wxPizza::size_allocate_child(_GtkWidget*, int, int, int, int, int)
[76] wxWindow::DoMoveWindow(int, int, int, int)
[77] wxWindow::DoSetSize(int, int, int, int, int)
[78] wxBoxSizer::RepositionChildren(wxSize const&)
[79] wxSizer::Layout()
[80] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
[81] wxBoxSizer::RepositionChildren(wxSize const&)
[82] wxSizer::Layout()
[83] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
[84] wxBoxSizer::RepositionChildren(wxSize const&)
[85] wxSizer::Layout()
[86] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
[87] wxBoxSizer::RepositionChildren(wxSize const&)
[88] wxSizer::Layout()
[89] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
[90] wxBoxSizer::RepositionChildren(wxSize const&)
[91] wxSizer::Layout()
[92] wxSizerItem::SetDimension(wxPoint const&, wxSize const&)
[93] wxBoxSizer::RepositionChildren(wxSize const&)
[94] wxSizer::Layout()
[95] wxWindowBase::Layout()
[96] wxAuiManager::DoFrameLayout()
[97] wxAuiManager::OnSize(wxSizeEvent&)
[98] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[99] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[100] wxEvtHandler::TryHereOnly(wxEvent&)
[101] wxEvtHandler::ProcessEventLocally(wxEvent&)
[102] wxEvtHandler::ProcessEvent(wxEvent&)
[103] wxEvtHandler::SafelyProcessEvent(wxEvent&)
[104] g_closure_invoke
[105] g_signal_emit_valist
[106] g_signal_emit
[107] gtk_widget_size_allocate_with_baseline
[108] gtk_widget_size_allocate_with_baseline
[109] g_closure_invoke
[110] g_signal_emit_valist
[111] g_signal_emit

Screenshots

Hyprland screenshot of desktop with SLADE open

Jazztache avatar Sep 30 '24 21:09 Jazztache

This one isn't a crash, it's just a wxwidgets debug assertion failing. I'm not sure why it's a debug build, as on a release build this shouldn't happen. You shoud just be able click 'Continue' and ignore it

sirjuddington avatar Dec 23 '24 07:12 sirjuddington