Skip to content

exception in idle callback considered unhandled #25312

@basiliscos

Description

@basiliscos

Hi,

when my idle callback is invoked, and there an exception is thrown, then I expected that App::OnExceptionInMainLoop() should be invoked instead of App:OnUnhandledException().

Here is a relevant backtrace of the last case:

#13 0x00007fffe3d40fd5 in wxAppConsoleBase::HandleEvent (this=0x555555b0bba0, handler=0x5555561cd840, 
    func=(void (wxEvtHandler::*)(wxEvtHandler * const, wxEvent &)) 0x55555591caea <granum::gui::vtk::View::OnIdle(wxIdleEvent&)>, event=...)
    at /home/b/development/digitaltwin.ru/wxWidgets-3.2.6.7/src/common/appbase.cpp:661
#14 0x00007fffe3d41048 in wxAppConsoleBase::CallEventHandler (this=0x555555b0bba0, handler=0x5555561cd840, functor=..., event=...)
    at /home/b/development/digitaltwin.ru/wxWidgets-3.2.6.7/src/common/appbase.cpp:673
#15 0x00007fffe3e41f9a in wxEvtHandler::ProcessEventIfMatchesId (entry=..., handler=0x5555561cd840, event=...)
    at /home/b/development/digitaltwin.ru/wxWidgets-3.2.6.7/src/common/event.cpp:1482
#16 0x00007fffe3e42d92 in wxEvtHandler::SearchDynamicEventTable (this=0x555555b0bba0, event=...) at /home/b/development/digitaltwin.ru/wxWidgets-3.2.6.7/src/common/event.cpp:1952
#17 0x00007fffe3e42478 in wxEvtHandler::TryHereOnly (this=0x555555b0bba0, event=...) at /home/b/development/digitaltwin.ru/wxWidgets-3.2.6.7/src/common/event.cpp:1675
#18 0x00007fffe3e44055 in wxEvtHandler::TryBeforeAndHere (this=0x555555b0bba0, event=...) at /home/b/development/digitaltwin.ru/wxWidgets-3.2.6.7/include/wx/event.h:4011
#19 0x00007fffe3e422b3 in wxEvtHandler::ProcessEventLocally (this=0x555555b0bba0, event=...) at /home/b/development/digitaltwin.ru/wxWidgets-3.2.6.7/src/common/event.cpp:1612
#20 0x00007fffe3e4224a in wxEvtHandler::ProcessEvent (this=0x555555b0bba0, event=...) at /home/b/development/digitaltwin.ru/wxWidgets-3.2.6.7/src/common/event.cpp:1585
#21 0x00007fffe3d406c5 in wxAppConsoleBase::ProcessIdle (this=0x555555b0bba0) at /home/b/development/digitaltwin.ru/wxWidgets-3.2.6.7/src/common/appbase.cpp:435
#22 0x00007fffe44e7495 in wxAppBase::ProcessIdle (this=0x555555b0bba0) at /home/b/development/digitaltwin.ru/wxWidgets-3.2.6.7/src/common/appcmn.cpp:396
#23 0x00007fffe47a6039 in wxApp::DoIdle (this=0x555555b0bba0) at /home/b/development/digitaltwin.ru/wxWidgets-3.2.6.7/src/gtk/app.cpp:150
#24 0x00007fffe47a5e8a in wxapp_idle_callback () at /home/b/development/digitaltwin.ru/wxWidgets-3.2.6.7/src/gtk/app.cpp:101

Is the current behavior expected? I can't find that in docs, so I'd expected the common case for exceptions handling...

wxVersion: 3.2.6

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions