pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/56877: vlc build crashes in gnutls
>Number: 56877
>Category: pkg
>Synopsis: vlc build crashes in gnutls
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Jun 11 07:55:00 +0000 2022
>Originator: Michael van Elst
>Release: NetBSD 9.2_STABLE
>Organization:
>Environment:
System: NetBSD victory.netbsd.org 9.2_STABLE NetBSD 9.2_STABLE (GENERIC64) #16: Fri Jan 21 02:56:58 CET 2022 mlelstv@gossam:/home/netbsd9/obj.evbarm64-el/home/netbsd9/src/sys/arch/evbarm/compile/GENERIC64 evbarm
Architecture: aarch64
Machine: evbarm
>Description:
Building vlc-3.0.17.4 from pkgsrc-HEAD fails with:
gmake[2]: *** [Makefile:1840: ../modules/plugins.dat] Bus error (core dumped)
gmake[2]: Leaving directory '/pbulk/work/multimedia/vlc/work/vlc-3.0.17.4/bin'
This is the vlc-cache-gen tool that crashes:
Core was generated by `vlc-cache-gen'.
Program terminated with signal SIGBUS, Bus error.
#0 0x0000fd0bb784f9a4 in _gnutls_rnd_deinit ()
from /pbulk/work/multimedia/vlc/work/.buildlink/lib/libgnutls.so.30
#1 0x0000fd0bb783eea4 in _gnutls_global_deinit ()
from /pbulk/work/multimedia/vlc/work/.buildlink/lib/libgnutls.so.30
#2 0x0000fffff6d52c0c in _rtld_call_fini_functions () from /usr/libexec/ld.elf_so
#3 0x0000fffff6d53290 in _rtld_unload_object.part.8 () from /usr/libexec/ld.elf_so
#4 0x0000fffff6d53898 in dlclose () from /usr/libexec/ld.elf_so
#5 0x0000fd0bb8880f34 in ?? ()
from /pbulk/work/multimedia/vlc/work/vlc-3.0.17.4/src/.libs/libvlccore.so.9
#6 0x0000fd0bb88695f4 in libvlc_InternalCleanup ()
from /pbulk/work/multimedia/vlc/work/vlc-3.0.17.4/src/.libs/libvlccore.so.9
#7 0x0000fd0bb8979050 in libvlc_release ()
from /pbulk/work/multimedia/vlc/work/vlc-3.0.17.4/lib/.libs/libvlc.so.5
#8 0x000000000b0610f8 in main ()
(gdb) print $pc
$1 = (void (*)()) 0xfd0bb784f9a4 <_gnutls_rnd_deinit+148>
0xfd0bb784f98c <_gnutls_rnd_deinit+124>: mrs x1, tpidr_el0
0xfd0bb784f990 <_gnutls_rnd_deinit+128>:
adrp x0, 0xfd0bb79fa000 <nettle_curve25519_mul%got.plt@localhost>
0xfd0bb784f994 <_gnutls_rnd_deinit+132>: ldr x2, [x0, #3928]
0xfd0bb784f998 <_gnutls_rnd_deinit+136>: add x0, x0, #0xf58
0xfd0bb784f99c <_gnutls_rnd_deinit+140>: blr x2
0xfd0bb784f9a0 <_gnutls_rnd_deinit+144>: ldr x21, [sp, #32]
=> 0xfd0bb784f9a4 <_gnutls_rnd_deinit+148>: str wzr, [x1, x0]
0xfd0bb784f9a8 <_gnutls_rnd_deinit+152>: ldp x29, x30, [sp], #64
0xfd0bb784f9ac <_gnutls_rnd_deinit+156>:
b 0xfd0bb7935470 <_rnd_system_entropy_deinit>
x0 0x69667860b7c4d875 7594890178402244725
x1 0xfd0bb89aa000 278226783608832
x2 0xfffff6d50bcc 281474822900684
The coredump shows tpidr = 0x0000fd0bb89aa000
(gdb) x/i $x2
0xfffff6d50bcc <_rtld_tlsdesc_dynamic>: stp x1, x2, [sp, #-32]!
That's the store before calling _rnd_system_entropy_deinit:
void _gnutls_rnd_deinit(void)
{
if (_gnutls_rnd_ops.deinit != NULL) {
struct rnd_ctx_list_st *e = head, *next;
while(e != NULL) {
next = e->next;
_gnutls_rnd_ops.deinit(e->ctx);
gnutls_free(e);
e = next;
}
head = NULL;
}
rnd_initialized = 0; <-----------------
_rnd_system_entropy_deinit();
return;
}
The variable is defined as:
random.c:static _Thread_local unsigned rnd_initialized = 0;
So that might be a RTLD issue.
>How-To-Repeat:
Build vlc from pkgsrc-HEAD.
>Fix:
>Unformatted:
Home |
Main Index |
Thread Index |
Old Index