When trying to open a script in the style manager, I get an error message dialog: An assertion failed! ./src/common/image.cpp(1872): assert "IsOk()" failed in GetData(): invalid image When clicking on continue, a second dialog with message: An assertion failed! ./src/gtk/bitmap.cpp(580): assert "image.IsOk()" failed in wxBitmap(): invalid image When clicking of OK now, aegisub usually crashes, although sometimes the edit dialog is opened after some more failed assertions. Even when the style is successfully saved, the errors will reoccur when opening the style once again. The first backtrace is: ASSERT INFO: ./src/common/image.cpp(1872): assert "IsOk()" failed in GetData(): invalid image BACKTRACE: [1] wxOnAssert(char const*, int, char const*, char const*, wchar_t const*) [2] wxImage::GetData() const [3] boost::detail::invalid_utf32_code_point(unsigned int) [4] boost::detail::invalid_utf32_code_point(unsigned int) [5] boost::detail::invalid_utf32_code_point(unsigned int) [6] wxAppConsoleBase::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const [7] agi::EnvironmentError::~EnvironmentError() [8] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const [9] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) [10] wxEvtHandler::SearchDynamicEventTable(wxEvent&) [11] wxEvtHandler::TryHereOnly(wxEvent&) [12] wxEvtHandler::ProcessEventLocally(wxEvent&) [13] wxEvtHandler::ProcessEvent(wxEvent&) [14] wxEvtHandler::SafelyProcessEvent(wxEvent&) [15] wxWindowBase::HandleWindowEvent(wxEvent&) const [16] wxWindow::DoSetSize(int, int, int, int, int) [17] wxSizerItem::SetDimension(wxPoint const&, wxSize const&) [18] wxBoxSizer::RecalcSizes() [19] wxStaticBoxSizer::RecalcSizes() [20] wxSizer::Layout() [21] wxSizerItem::SetDimension(wxPoint const&, wxSize const&) [22] wxBoxSizer::RecalcSizes() [23] wxSizer::Layout() [24] wxSizerItem::SetDimension(wxPoint const&, wxSize const&) [25] wxBoxSizer::RecalcSizes() [26] wxSizer::Layout() [27] wxSizerItem::SetDimension(wxPoint const&, wxSize const&) [28] wxBoxSizer::RecalcSizes() [29] wxSizer::Layout() [30] wxWindowBase::Layout() [31] wxTopLevelWindowBase::DoLayout() [32] wxAppConsoleBase::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const [33] agi::EnvironmentError::~EnvironmentError() [34] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const [35] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) [36] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) [37] wxEvtHandler::TryHereOnly(wxEvent&) [38] wxEvtHandler::ProcessEventLocally(wxEvent&) [39] wxEvtHandler::ProcessEvent(wxEvent&) [40] wxEvtHandler::SafelyProcessEvent(wxEvent&) [41] wxWindowBase::HandleWindowEvent(wxEvent&) const [42] g_cclosure_marshal_VOID__BOXED [43] g_closure_invoke [44] g_signal_emit_valist [45] g_signal_emit [46] gtk_widget_size_allocate_with_baseline [47] gtk_widget_size_allocate_with_baseline [48] gtk_widget_size_allocate [49] g_cclosure_marshal_VOID__BOXED [50] g_closure_invoke [51] g_signal_emit_valist [52] g_signal_emit [53] gtk_widget_size_allocate_with_baseline [54] gtk_widget_size_allocate [55] g_cclosure_marshal_VOID__VOIDv [56] g_signal_emit_valist [57] g_signal_emit [58] gtk_container_check_resize [59] g_cclosure_marshal_VOID__VOID [60] g_closure_invoke [61] g_signal_emit_valist [62] g_signal_emit [63] gtk_widget_show [64] wxTopLevelWindowGTK::GTKUpdateDecorSize(wxTopLevelWindowGTK::DecorSize const&) [65] g_closure_invoke [66] g_signal_emit_valist [67] g_signal_emit [68] gtk_main_do_event [69] g_main_context_dispatch [70] g_main_loop_run [71] gtk_main [72] wxGUIEventLoop::DoRun() [73] wxEventLoopBase::Run() [74] wxDialog::ShowModal() [75] std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_get_insert_unique_pos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [76] std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_get_insert_unique_pos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [77] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const [78] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) [79] wxEvtHandler::SearchDynamicEventTable(wxEvent&) [80] wxEvtHandler::TryHereOnly(wxEvent&) [81] wxEvtHandler::ProcessEventLocally(wxEvent&) [82] wxEvtHandler::ProcessEvent(wxEvent&) [83] wxEvtHandler::SafelyProcessEvent(wxEvent&) [84] wxWindowBase::HandleWindowEvent(wxEvent&) const [85] g_cclosure_marshal_VOID__VOIDv [86] g_signal_emit_valist [87] g_signal_emit [88] gtk_button_clicked [89] g_cclosure_marshal_VOID__VOID [90] g_closure_invoke [91] g_signal_emit_valist [92] g_signal_emit [93] ffi_call_SYSV [94] ffi_call [95] g_cclosure_marshal_generic_va [96] g_signal_emit_valist [97] g_signal_emit [98] g_cclosure_marshal_VOID__BOXEDv [99] g_signal_emit_valist [100] g_signal_emit [101] gtk_event_controller_handle_event [102] g_closure_invoke [103] g_signal_emit_valist [104] g_signal_emit [105] gtk_main_do_event [106] g_main_context_dispatch [107] g_main_loop_run [108] gtk_main [109] wxGUIEventLoop::DoRun() [110] wxEventLoopBase::Run() [111] wxAppConsoleBase::MainLoop() [112] agi::EnvironmentError::~EnvironmentError() [113] wxEntry(int&, wchar_t**) [114] wxEntry(int&, char**) [115] main [116] __libc_start_main [117] main The second backtrace is: ASSERT INFO: ./src/gtk/bitmap.cpp(580): assert "image.IsOk()" failed in wxBitmap(): invalid image BACKTRACE: [1] wxOnAssert(char const*, int, char const*, char const*, char const*) [2] wxBitmap::wxBitmap(wxImage const&, int) [3] boost::detail::invalid_utf32_code_point(unsigned int) [4] boost::detail::invalid_utf32_code_point(unsigned int) [5] wxAppConsoleBase::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const [6] agi::EnvironmentError::~EnvironmentError() [7] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const [8] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) [9] wxEvtHandler::SearchDynamicEventTable(wxEvent&) [10] wxEvtHandler::TryHereOnly(wxEvent&) [11] wxEvtHandler::ProcessEventLocally(wxEvent&) [12] wxEvtHandler::ProcessEvent(wxEvent&) [13] wxEvtHandler::SafelyProcessEvent(wxEvent&) [14] wxWindowBase::HandleWindowEvent(wxEvent&) const [15] wxWindow::DoSetSize(int, int, int, int, int) [16] wxSizerItem::SetDimension(wxPoint const&, wxSize const&) [17] wxBoxSizer::RecalcSizes() [18] wxStaticBoxSizer::RecalcSizes() [19] wxSizer::Layout() [20] wxSizerItem::SetDimension(wxPoint const&, wxSize const&) [21] wxBoxSizer::RecalcSizes() [22] wxSizer::Layout() [23] wxSizerItem::SetDimension(wxPoint const&, wxSize const&) [24] wxBoxSizer::RecalcSizes() [25] wxSizer::Layout() [26] wxSizerItem::SetDimension(wxPoint const&, wxSize const&) [27] wxBoxSizer::RecalcSizes() [28] wxSizer::Layout() [29] wxWindowBase::Layout() [30] wxTopLevelWindowBase::DoLayout() [31] wxAppConsoleBase::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const [32] agi::EnvironmentError::~EnvironmentError() [33] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const [34] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) [35] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) [36] wxEvtHandler::TryHereOnly(wxEvent&) [37] wxEvtHandler::ProcessEventLocally(wxEvent&) [38] wxEvtHandler::ProcessEvent(wxEvent&) [39] wxEvtHandler::SafelyProcessEvent(wxEvent&) [40] wxWindowBase::HandleWindowEvent(wxEvent&) const [41] g_cclosure_marshal_VOID__BOXED [42] g_closure_invoke [43] g_signal_emit_valist [44] g_signal_emit [45] gtk_widget_size_allocate_with_baseline [46] gtk_widget_size_allocate_with_baseline [47] gtk_widget_size_allocate [48] g_cclosure_marshal_VOID__BOXED [49] g_closure_invoke [50] g_signal_emit_valist [51] g_signal_emit [52] gtk_widget_size_allocate_with_baseline [53] gtk_widget_size_allocate [54] g_cclosure_marshal_VOID__VOIDv [55] g_signal_emit_valist [56] g_signal_emit [57] gtk_container_check_resize [58] g_cclosure_marshal_VOID__VOID [59] g_closure_invoke [60] g_signal_emit_valist [61] g_signal_emit [62] gtk_widget_show [63] wxTopLevelWindowGTK::GTKUpdateDecorSize(wxTopLevelWindowGTK::DecorSize const&) [64] g_closure_invoke [65] g_signal_emit_valist [66] g_signal_emit [67] gtk_main_do_event [68] g_main_context_dispatch [69] g_main_loop_run [70] gtk_main [71] wxGUIEventLoop::DoRun() [72] wxEventLoopBase::Run() [73] wxDialog::ShowModal() [74] std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_get_insert_unique_pos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [75] std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_get_insert_unique_pos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [76] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const [77] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) [78] wxEvtHandler::SearchDynamicEventTable(wxEvent&) [79] wxEvtHandler::TryHereOnly(wxEvent&) [80] wxEvtHandler::ProcessEventLocally(wxEvent&) [81] wxEvtHandler::ProcessEvent(wxEvent&) [82] wxEvtHandler::SafelyProcessEvent(wxEvent&) [83] wxWindowBase::HandleWindowEvent(wxEvent&) const [84] g_cclosure_marshal_VOID__VOIDv [85] g_signal_emit_valist [86] g_signal_emit [87] gtk_button_clicked [88] g_cclosure_marshal_VOID__VOID [89] g_closure_invoke [90] g_signal_emit_valist [91] g_signal_emit [92] ffi_call_SYSV [93] ffi_call [94] g_cclosure_marshal_generic_va [95] g_signal_emit_valist [96] g_signal_emit [97] g_cclosure_marshal_VOID__BOXEDv [98] g_signal_emit_valist [99] g_signal_emit [100] gtk_event_controller_handle_event [101] g_closure_invoke [102] g_signal_emit_valist [103] g_signal_emit [104] gtk_main_do_event [105] g_main_context_dispatch [106] g_main_loop_run [107] gtk_main [108] wxGUIEventLoop::DoRun() [109] wxEventLoopBase::Run() [110] wxAppConsoleBase::MainLoop() [111] agi::EnvironmentError::~EnvironmentError() [112] wxEntry(int&, wchar_t**) [113] wxEntry(int&, char**) [114] main [115] __libc_start_main [116] main
Hi, Can you please report this issue upstream, please? aegisub 3.2.2 is a quite old now and upstream has not published a new release yet. http://devel.aegisub.org/wiki/Bugs
CC: (none) => geiger.david68210Assignee: bugsquad => geiger.david68210
I have pushed a new release using latest source snapshot from upstream, could you test with this one if it works properly now, please? - aegisub-3.2.2-14.git20160518.1.mga6
Closing of this bug as there is no response since 1 month and I think it should be fixed with the rebuild against wgtk3 compiled with GTK2. Feel free to reopen if needed!
Status: NEW => RESOLVEDResolution: (none) => FIXED