Mailing List Archive

Making libunwind the default
Hi all,

https://github.com/varnishcache/varnish-cache/pull/3052 was merged in
September and I was wondering if we had enough feedback (or lack thereof)
to make a decision and on making the libunwind dependency official.

All the weeklies are being built with libunwind since the end of October,
and the 6.4 packages on packagecloud. And the official alpine packages use
it too, which isn't surprising as the change was made to accommodate the
lack of proper libexecinfo for that platform.

Notably, if Nils has some feedback about the more "exotic" platforms he
uses, I'm interested!

Cheers,

--
Guillaume Quintard
Re: Making libunwind the default [ In reply to ]
On Mon, Jul 6, 2020 at 10:36 PM Guillaume Quintard
<guillaume@varnish-software.com> wrote:
>
> Hi all,
>
> https://github.com/varnishcache/varnish-cache/pull/3052 was merged in September and I was wondering if we had enough feedback (or lack thereof) to make a decision and on making the libunwind dependency official.
>
> All the weeklies are being built with libunwind since the end of October, and the 6.4 packages on packagecloud. And the official alpine packages use it too, which isn't surprising as the change was made to accommodate the lack of proper libexecinfo for that platform.
>
> Notably, if Nils has some feedback about the more "exotic" platforms he uses, I'm interested!

Also some backtrace implementations like libexecinfo use GCC builtins [1,2]
that are documented [3] as unsafe:

> Calling this function with a nonzero argument can have unpredictable effects, including crashing the calling program.

Adding a new dependency by default might be worth it all things considered.

Dridi

[1] __builtin_frame_address
[2] __builtin_return_address
[3] https://gcc.gnu.org/onlinedocs/gcc/Return-Address.html
_______________________________________________
varnish-dev mailing list
varnish-dev@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev
Re: Making libunwind the default [ In reply to ]
> Adding a new dependency by default might be worth it all things considered.

After a brief discussion on IRC I agreed to provide comparative stack
traces, I'll find some time to make a couple up.

Dridi
_______________________________________________
varnish-dev mailing list
varnish-dev@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev
Re: Making libunwind the default [ In reply to ]
--------
Dridi Boukelmoune writes:

> After a brief discussion on IRC I agreed to provide comparative stack
> traces, I'll find some time to make a couple up.

Status in FreeBSD-land:

The libunwind backtrace does not look obviously superior, or for
that matter significantly different on FreeBSD.

Libunwind does not seem to support 32-bit Arm well, at least on FreeBSD.

Would it make sense to make this a packaging decision ?

--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
_______________________________________________
varnish-dev mailing list
varnish-dev@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev
Re: Making libunwind the default [ In reply to ]
On Mon, Sep 7, 2020 at 10:28 AM Poul-Henning Kamp <phk@phk.freebsd.dk> wrote:
>
> --------
> Dridi Boukelmoune writes:
>
> > After a brief discussion on IRC I agreed to provide comparative stack
> > traces, I'll find some time to make a couple up.
>
> Status in FreeBSD-land:
>
> The libunwind backtrace does not look obviously superior, or for
> that matter significantly different on FreeBSD.
>
> Libunwind does not seem to support 32-bit Arm well, at least on FreeBSD.
>
> Would it make sense to make this a packaging decision ?

Quick followup to close this thread for now.

It was already a packaging decision, but we changed the default from
"no" to "auto". Having libunwind present at build time is enough to
select it.

https://github.com/varnishcache/varnish-cache/pull/3739

Cheers,
Dridi
_______________________________________________
varnish-dev mailing list
varnish-dev@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev