When accessing https:// URLs sometimes webkit-gtk browsers (this one was with wip/surf-git but at least MiniBrowser of www/webkit-gtk and www/vimb fails similarly): % gdb -core WebKitNetworkPro.core /usr/pkg/libexec/webkit2gtk-4.0/WebKitNetworkProcess Reading symbols from /usr/pkg/libexec/webkit2gtk-4.0/WebKitNetworkProcess...(no debugging symbols found)...done. [New process 9] [New process 25] [New process 10] [New process 8] [New process 7] [New process 6] [New process 5] [New process 4] [New process 3] [New process 2] [New process 1] Core was generated by `WebKitNetworkPro'. Program terminated with signal SIGBUS, Bus error. #0 0x0000fd05790817b4 in _gnutls_rnd_init () at random.c:69 69 if (unlikely(!rnd_initialized)) { [Current thread is 1 (process 9)] (gdb) bt #0 0x0000fd05790817b4 in _gnutls_rnd_init () at random.c:69 #1 gnutls_rnd (level=level@entry=GNUTLS_RND_NONCE, data=data@entry=0xfd057cf0ac50, len=len@entry=32) at random.c:168 #2 0x0000fd05790585f8 in _gnutls_gen_client_random (session=0xfd057cf0ac00) at handshake.c:237 #3 send_client_hello (again=, session=0xfd057cf0ac00) at handshake.c:2225 #4 handshake_client (session=session@entry=0xfd057cf0ac00) at handshake.c:2971 #5 0x0000fd0579058c10 in gnutls_handshake (session=0xfd057cf0ac00) at handshake.c:2803 #6 0x0000fd057b06ea6c in handshake_thread () from /usr/pkg/lib/gio/modules/libgiognutls.so #7 0x0000fd057b06edac in async_handshake_thread () from /usr/pkg/lib/gio/modules/libgiognutls.so #8 0x0000fd057cc7dd34 in g_task_thread_pool_thread () from /usr/pkg/lib/libgio-2.0.so.0 #9 0x0000fd057ca88408 in g_thread_pool_thread_proxy () from /usr/pkg/lib/libglib-2.0.so.0 #10 0x0000fd057ca879c4 in g_thread_proxy () from /usr/pkg/lib/libglib-2.0.so.0 #11 0x0000fd057da5d1b8 in pthread__create_tramp (cookie=0xfd057cf2e400) at /usr/src/lib/libpthread/pthread.c:593 #12 0x0000fd057c107674 in __mknod50 () from /usr/lib/libc.so.12 Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb) f 0 #0 0x0000fd05790817b4 in _gnutls_rnd_init () at random.c:69 69 if (unlikely(!rnd_initialized)) { (gdb) list 64 return 0; 65 } 66 67 inline static int _gnutls_rnd_init(void) 68 { 69 if (unlikely(!rnd_initialized)) { 70 int ret; 71 72 if (_gnutls_rnd_ops.init == NULL) { 73 rnd_initialized = 1; (gdb) p rnd_initialized $1 = (gdb) p _gnutls_rnd_ops.init $2 = (int (*)(void **)) 0xfd057914b998 (gdb) disas/s Dump of assembler code for function gnutls_rnd: random.c: 164 { 0x0000fd0579081768 <+0>: stp x29, x30, [sp, #-96]! ./fips.h: 53 return _gnutls_lib_state; 0x0000fd057908176c <+4>: adrp x3, 0xfd05791de000 random.c: 164 { 0x0000fd0579081770 <+8>: mov x29, sp ./fips.h: 53 return _gnutls_lib_state; 0x0000fd0579081774 <+12>: ldr x3, [x3, #952] random.c: 166 FAIL_IF_LIB_ERROR; 0x0000fd0579081778 <+16>: ldr w3, [x3] 164 { 0x0000fd057908177c <+20>: str x20, [sp, #24] 165 int ret; 166 FAIL_IF_LIB_ERROR; 0x0000fd0579081780 <+24>: sub w3, w3, #0x2 0x0000fd0579081784 <+28>: cmp w3, #0x1 0x0000fd0579081788 <+32>: b.hi 0xfd0579081984 // b.pmore 0x0000fd057908178c <+36>: str x19, [x29, #16] ---Type to continue, or q to quit--- 69 if (unlikely(!rnd_initialized)) { 0x0000fd0579081790 <+40>: mrs x19, tpidr_el0 0x0000fd0579081794 <+44>: mov x3, x2 0x0000fd0579081798 <+48>: mov x2, x1 0x0000fd057908179c <+52>: mov w1, w0 0x0000fd05790817a0 <+56>: adrp x0, 0xfd05791e0000 0x0000fd05790817a4 <+60>: ldr x4, [x0, #1560] 0x0000fd05790817a8 <+64>: add x0, x0, #0x618 0x0000fd05790817ac <+68>: blr x4 0x0000fd05790817b0 <+72>: add x20, x19, x0 => 0x0000fd05790817b4 <+76>: ldr w0, [x19, x0] 0x0000fd05790817b8 <+80>: cbz w0, 0xfd05790817f8 167 168 if (unlikely((ret=_gnutls_rnd_init()) < 0)) 169 return gnutls_assert_val(ret); 170 171 if (likely(len > 0)) { 0x0000fd05790817bc <+84>: cbz x3, 0xfd0579081850 172 return _gnutls_rnd_ops.rnd(gnutls_rnd_ctx, level, data, 0x0000fd05790817c0 <+88>: adrp x4, 0xfd05791de000 0x0000fd05790817c4 <+92>: adrp x0, 0xfd05791e0000 0x0000fd05790817c8 <+96>: ldr x5, [x0, #1560] 0x0000fd05790817cc <+100>: add x0, x0, #0x618 0x0000fd05790817d0 <+104>: blr x5 0x0000fd05790817d4 <+108>: add x0, x19, x0 176 } 0x0000fd05790817d8 <+112>: ldr x20, [sp, #24] ---Type to continue, or q to quit---q Quit (gdb) p $x20 $3 = 7091318039310988591 (gdb) p $x19 $4 = 278199987957760 (gdb) p $x0 $5 = 7091039839323030831 (gdb) p $w0 $6 = 7091039839323030831 (gdb) list 37 32 #include "gthreads.h" 33 34 #if defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) 35 extern gnutls_crypto_rnd_st _gnutls_fuzz_rnd_ops; 36 #endif 37 38 /* Per thread context of random generator, and a flag to indicate initialization */ 39 static _Thread_local void *gnutls_rnd_ctx; 40 static _Thread_local unsigned rnd_initialized = 0; 41