Hi Florian,

On Wed, 2023-01-18 at 15:01 +0100, Florian Weimer wrote:
> We won't have unwind data for JIT-compiled code, including libffi
> trampolines.  We could stop backtracing there (what does the ABI say
> about frames without unwinding information?), but I'm not sure if
> that's
> going to be useful for the desktop.

In this model, such generated code would register their own unwinder
(or .eh_frame contribution).

> > But it is something to keep in mind, accidents happen. I assume
> > that
> > any (seg) fault caused by the unwind signal thread will simply end
> > that
> > contribution of user space to the backtrace (instead of really
> > generating a SEGV)
> 
> That smells like SEH. 8-/

Sorry, I don't know what SEH means in this context and whether that is
good or bad thing (8-/ isn't part
of https://en.wikipedia.org/wiki/List_of_emoticons)

> > But it is tricky to handle that without kernel support. As a fallback
> > you could install a SIGSEGV handler that handles the fault and somehow
> > makes the original SIGPROF based handler (if you use that) sigreturn.
> 
> Signal handlers are process-wide, and SIGPROF does not suspend the
> entire process.  So I really don't think this can be made to work
> reliably without kernel support.

I don't think any sampling profile based backtrace support is going to
be perfect, but I don't think that is the goal. Even gdb won't be able
to create perfect backtraces all the time. We just need something that
works out of the box most of the time. kernel support would be nice,
but I don't think we shouldn't try some experimentation first before we
settle on the perfect kernel interface. Whatever we can do in user
space we should first try out in user space imho.

Cheers,

Mark
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to