I temporarily removed the radio buttons from the dialog. However, this didn't solve the problem. I experienced a crash again on trying to show a modal dialog. Here is the callstack:
libc.so.6!__memmove_avx_unaligned_erms() (/build/glibc-SzIz7B/glibc-2.31/sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:240)
libpng16.so.16![Unknown/Just-In-Time compiled code] (Unknown Source:0)
libpng16.so.16!png_process_data (Unknown Source:0)
libpixbufloader-png.so![Unknown/Just-In-Time compiled code] (Unknown Source:0)
libgdk_pixbuf-2.0.so.0!gdk_pixbuf_loader_close (Unknown Source:0)
libgdk_pixbuf-2.0.so.0![Unknown/Just-In-Time compiled code] (Unknown Source:0)
libgdk_pixbuf-2.0.so.0!gdk_pixbuf_new_from_stream (Unknown Source:0)
libgdk_pixbuf-2.0.so.0!gdk_pixbuf_new_from_resource (Unknown Source:0)
libgtk-3.so.0![Unknown/Just-In-Time compiled code] (Unknown Source:0)
libgobject-2.0.so.0!g_closure_invoke (Unknown Source:0)
libgobject-2.0.so.0![Unknown/Just-In-Time compiled code] (Unknown Source:0)
libgobject-2.0.so.0!g_signal_emit_valist (Unknown Source:0)
libgobject-2.0.so.0!g_signal_emit (Unknown Source:0)
libgtk-3.so.0!gtk_widget_show (Unknown Source:0)
libwx_gtk3u_core-3.1.so.7!wxWindow::Show(wxWindow * const this, bool show) (/home/ulrich/Development/wxWidgets/3.1.7/src/gtk/window.cpp:4334)
libwx_gtk3u_core-3.1.so.7!wxTopLevelWindowGTK::Show(wxTopLevelWindowGTK * const this, bool show) (/home/ulrich/Development/wxWidgets/3.1.7/src/gtk/toplevel.cpp:1169)
libwx_gtk3u_core-3.1.so.7!wxDialog::Show(wxDialog * const this, bool show) (/home/ulrich/Development/wxWidgets/3.1.7/src/gtk/dialog.cpp:71)
libwx_gtk3u_core-3.1.so.7!wxDialog::ShowModal(wxDialog * const this) (/home/ulrich/Development/wxWidgets/3.1.7/src/gtk/dialog.cpp:163)
c2prog::ui::C2ProgMainFrame::OnUpdateCheckClick(c2prog::ui::C2ProgMainFrame * const this, wxCommandEvent & event) (/home/ulrich/Development/CodeSkin/wxgui-testing/src/c2prog/wx/c2progmain.cpp:471)
libwx_baseu-3.1.so.7!wxAppConsoleBase::HandleEvent(const wxAppConsoleBase * const this, wxEvtHandler * handler, wxEventFunction func, wxEvent & event) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/appbase.cpp:654)
libwx_baseu-3.1.so.7!wxAppConsoleBase::CallEventHandler(const wxAppConsoleBase * const this, wxEvtHandler * handler, wxEventFunctor & functor, wxEvent & event) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/appbase.cpp:666)
libwx_baseu-3.1.so.7!wxEvtHandler::ProcessEventIfMatchesId(const wxEventTableEntryBase & entry, wxEvtHandler * handler, wxEvent & event) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/event.cpp:1431)
libwx_baseu-3.1.so.7!wxEventHashTable::HandleEvent(wxEventHashTable * const this, wxEvent & event, wxEvtHandler * self) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/event.cpp:1039)
libwx_baseu-3.1.so.7!wxEvtHandler::TryHereOnly(wxEvtHandler * const this, wxEvent & event) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/event.cpp:1628)
libwx_baseu-3.1.so.7!wxEvtHandler::TryBeforeAndHere(wxEvtHandler * const this, wxEvent & event) (/home/ulrich/Development/wxWidgets/3.1.7/include/wx/event.h:4007)
libwx_baseu-3.1.so.7!wxEvtHandler::ProcessEventLocally(wxEvtHandler * const this, wxEvent & event) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/event.cpp:1561)
libwx_baseu-3.1.so.7!wxEvtHandler::ProcessEvent(wxEvtHandler * const this, wxEvent & event) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/event.cpp:1534)
libwx_baseu-3.1.so.7!wxEvtHandler::ProcessPendingEvents(wxEvtHandler * const this) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/event.cpp:1398)
libwx_baseu-3.1.so.7!wxAppConsoleBase::ProcessPendingEvents(wxAppConsoleBase * const this) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/appbase.cpp:563)
libwx_gtk3u_core-3.1.so.7!wxApp::DoIdle(wxApp * const this) (/home/ulrich/Development/wxWidgets/3.1.7/src/gtk/app.cpp:151)
libwx_gtk3u_core-3.1.so.7!wxapp_idle_callback() (/home/ulrich/Development/wxWidgets/3.1.7/src/gtk/app.cpp:101)
libglib-2.0.so.0!g_main_context_dispatch (Unknown Source:0)
libglib-2.0.so.0![Unknown/Just-In-Time compiled code] (Unknown Source:0)
libglib-2.0.so.0!g_main_loop_run (Unknown Source:0)
libgtk-3.so.0!gtk_dialog_run (Unknown Source:0)
libwx_gtk3u_core-3.1.so.7!wxMessageDialog::ShowModal(wxMessageDialog * const this) (/home/ulrich/Development/wxWidgets/3.1.7/src/gtk/msgdlg.cpp:272)
libwx_gtk3u_core-3.1.so.7!wxMessageBox(const wxString & message, const wxString & caption, long style, wxWindow * parent) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/utilscmn.cpp:1365)
libwx_gtk3u_core-3.1.so.7!wxLogGui::DoShowSingleLogMessage(wxLogGui * const this, const wxString & message, const wxString & title, int style) (/home/ulrich/Development/wxWidgets/3.1.7/src/generic/logg.cpp:244)
libwx_gtk3u_core-3.1.so.7!wxLogGui::Flush(wxLogGui * const this) (/home/ulrich/Development/wxWidgets/3.1.7/src/generic/logg.cpp:315)
libwx_baseu-3.1.so.7!wxLog::FlushActive() (/home/ulrich/Development/wxWidgets/3.1.7/src/common/log.cpp:840)
libwx_baseu-3.1.so.7!wxAppConsoleBase::ProcessIdle(wxAppConsoleBase * const this) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/appbase.cpp:436)
libwx_gtk3u_core-3.1.so.7!wxAppBase::ProcessIdle(wxAppBase * const this) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/appcmn.cpp:396)
libwx_gtk3u_core-3.1.so.7!wxApp::DoIdle(wxApp * const this) (/home/ulrich/Development/wxWidgets/3.1.7/src/gtk/app.cpp:153)
libwx_gtk3u_core-3.1.so.7!wxapp_idle_callback() (/home/ulrich/Development/wxWidgets/3.1.7/src/gtk/app.cpp:101)
libglib-2.0.so.0!g_main_context_dispatch (Unknown Source:0)
libglib-2.0.so.0![Unknown/Just-In-Time compiled code] (Unknown Source:0)
libglib-2.0.so.0!g_main_loop_run (Unknown Source:0)
libgtk-3.so.0!gtk_main (Unknown Source:0)
libwx_gtk3u_core-3.1.so.7!wxGUIEventLoop::DoRun(wxGUIEventLoop * const this) (/home/ulrich/Development/wxWidgets/3.1.7/src/gtk/evtloop.cpp:61)
libwx_baseu-3.1.so.7!wxEventLoopBase::Run(wxEventLoopBase * const this) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/evtloopcmn.cpp:87)
libwx_baseu-3.1.so.7!wxAppConsoleBase::MainLoop(wxAppConsoleBase * const this) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/appbase.cpp:377)
libwx_baseu-3.1.so.7!wxAppConsoleBase::OnRun(wxAppConsoleBase * const this) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/appbase.cpp:298)
libwx_gtk3u_core-3.1.so.7!wxAppBase::OnRun(wxAppBase * const this) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/appcmn.cpp:334)
libwx_baseu-3.1.so.7!wxEntry(int & argc, wxChar ** argv) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/init.cpp:503)
libwx_baseu-3.1.so.7!wxEntry(int & argc, char ** argv) (/home/ulrich/Development/wxWidgets/3.1.7/src/common/init.cpp:515)
main(int argc, char ** argv) (/home/ulrich/Development/wxgui-testing/src/c2prog/wx/c2progapp.cpp:47)
Again the crash seems to happen on loading or creating a PNG bitmap, although the modal dialog itself does not have any explicit PNGs.
Looking at the debug console I see the following line:
Loaded '/snap/code/99/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so'. Symbols loaded.
That is, the symbols of libpixbufloader-png were loaded, but in the callstack one sees:
libpixbufloader-png.so![Unknown/Just-In-Time compiled code] (Unknown Source:0 )
Isn't that strange? "Unknown Source", although the debugger claims to have loaded the symbols?
I guess there is indeed some sort of library conflict, but how do I find out which ones are in conflict?
I installed most development tools using "apt". However, I installed Visual Studio Code via the Ubuntu Software application which seems to use "snap". Could that cause problems?
Regards,
Ulrich