https://bugs.kde.org/show_bug.cgi?id=470114

            Bug ID: 470114
           Summary: Feature Request: Ways to better notify / manage /
                    recover from crashed plasmoids or widgets
    Classification: Plasma
           Product: lattedock
           Version: git (master)
          Platform: Compiled Sources
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: application
          Assignee: mvourla...@gmail.com
          Reporter: dreamc...@gmail.com
  Target Milestone: ---

SUMMARY

Latte Dock:

It would be nice to have some better management or visibility of crashed
plasmoids. As to record which plasmoid had crashed previously... and then have
some management page to list them. And policies to disable next time auto, or
manually, or to override those disablement.

Reasons: will it seems like a good idea. That if latte dock can be aware that a
crash previously occured due to a plasmoid or a widget. Then to flag that
widget to the user. So the user can have a simple and easy way to see which
widget(s) are causing problems. Rather than to blame latte dock itself, or KDE.
And to know which widget(s) amongst many the user should look to disable.
Instead of being suspicious of many different widgets, usually only 1-2 of them
might be causing any issues.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 5.27.5
KDE Plasma Version: 5.27.5
KDE Frameworks Version: 5.106.0
Qt Version: 5.15.8

ADDITIONAL INFORMATION

Well clearly this might be a challenging feature to implement. Depending on
what sort of evidence can be left behind to look at after such crash occured.

There might be some pretty hard obstacles. Since once latte dock crashes...
it's crashed! So it can no longer actually 'do anything' about those crash,
like look at who is responsible.

The ability of such a feature to be possible seems to depends on 1-2 factors.
Either:

a) some protection encapsulation feature, or a sandbox, or some trap / try
catch exception handling blocks around the code when the widget is passed
control into the process. Such that latte can catch the exception and record
which widget was to blame for who was caused the crash.

or b)

Something new checks that latte dock can do during it's startup routine. Such
that after the next launch, it can examine some sort of a core dump file,
"automatically". Or at least semi-auto (to display a relevant parts of core
dump to user on next startup). And be like: ah! This lines of code here... it
means this plasmoid was running and can see in the backtrace was on the stack
at the time...

So this is hard problem(s) to solve.

But then after solving such hard problem(s).... then is also quite some number
of decisions or directions to go about designing such feature around those
collected evidence. To find some good mechanisms to give those feedback to the
user within Latte GUI environment (rather than logs). To actually be a
convenient and effective feature. For example do you throw up an alert box. Or
do you overlay a little red '!' next to the icon of the widget. Or do you have
a seperate page within latte dock settings. That just lists all of the widgets
in a big table, and next to them has (individually for each widget). Options to
grey out (auto disable), then manually override (re-enable) on a per widget
basis those crashed ones. And so on.

There is a similar feature in another program i use here: in my DAW Bitwig
studio. It has such table for all of the VST audio plugins. So that the user
can see which of the plugins in the list had crashed. And then open a log (of
that plugin errors). And enable / disable each VST plugin individually. However
in that program, those plugins can be optionally sandboxed. So it is more
advanced capabilities... we may not expect that is possible here in latte. If
it is simply running the plasmoid or widget's code within the same process
space "unmanaged". Then we are much more limited in terms of what can be done.

So it is a huge ask. I do not expect much hope for it. And maybe silly to make
much serious discussions around. However in meantimes or otherwise if anybody
can point to some good online debugging guides / existing documentation for
best debugging crashed plasmoids / kde widgets. Then that of course is also
welcome too. Have a good day now, best wishes.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to