NetBSD Problem Report #56587

From www@netbsd.org  Tue Dec 28 15:15:21 2021
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 9874C1A9239
	for <gnats-bugs@gnats.NetBSD.org>; Tue, 28 Dec 2021 15:15:21 +0000 (UTC)
Message-Id: <20211228151520.619931A923C@mollari.NetBSD.org>
Date: Tue, 28 Dec 2021 15:15:20 +0000 (UTC)
From: nia@pkgsrc.org
Reply-To: nia@pkgsrc.org
To: gnats-bugs@NetBSD.org
Subject: netbsd microphone recording regression in firefox91
X-Send-Pr-Version: www-1.0

>Number:         56587
>Category:       pkg
>Synopsis:       netbsd microphone recording regression in firefox91
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    ryoon
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Dec 28 15:20:00 +0000 2021
>Closed-Date:    Fri Mar 01 19:18:36 +0000 2024
>Last-Modified:  Fri Mar 01 19:18:36 +0000 2024
>Originator:     nia
>Release:        n/a
>Organization:
The NetBSD Foundation
>Environment:
NetBSD amnesia 9.99.93 NetBSD 9.99.93 (GENERIC) #2: Mon Dec 27 21:44:48 UTC 2021  nia@procyon.is:/home/nia/obj2/sys/arch/amd64/compile/GENERIC amd64
>Description:
There is some kind of regression affecting microphone recording in
recent Firefox releases. Samples are returned, but it's noisy and
has basically gone to shit.

Observations:

- Silence is being inserted between samples. It looks like there is some
  disagreement about the audio parameters somewhere.
- As far as I can tell from the cubeb test suite, there is no
  regression, so the problem is not obviously with the underlying
  audio library but something else is happening elsewhere.
- Firefox recently added a new API for measuring input latency, they
  also added a NULL implementation of this for NetBSD. Possibly the
  problem, or not.

I will investigate further until I get too frustrated.
>How-To-Repeat:
I'm using this test page:

https://webaudiodemos.appspot.com/AudioRecorder/index.html

It seems to monitor for samples correctly? Very strange.
>Fix:
downgrade firefox, cry

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->ryoon
Responsible-Changed-By: bsiegert@NetBSD.org
Responsible-Changed-When: Tue, 28 Dec 2021 17:24:10 +0000
Responsible-Changed-Why:
Over to maintainer


From: nia <nia@NetBSD.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/56587: netbsd microphone recording regression in firefox91
Date: Tue, 28 Dec 2021 17:29:00 +0000

 On Tue, Dec 28, 2021 at 03:20:00PM +0000, nia@pkgsrc.org wrote:
 > - As far as I can tell from the cubeb test suite, there is no
 >   regression, so the problem is not obviously with the underlying
 >   audio library but something else is happening elsewhere.

 Confirmed that the problem is not in my code in cubeb at all:
 I dumped the audio directly into a file before it's placed in
 the output buffer and there's no problems.

 This will make debugging difficult :/

From: "Nia Alarie" <nia@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/56587 CVS commit: pkgsrc/www
Date: Tue, 28 Dec 2021 20:05:50 +0000

 Module Name:	pkgsrc
 Committed By:	nia
 Date:		Tue Dec 28 20:05:50 UTC 2021

 Added Files:
 	pkgsrc/www/firefox78: DESCR Makefile PLIST PLIST.Linux distinfo
 	    options.mk
 	pkgsrc/www/firefox78-l10n: DESCR Makefile PLIST distinfo
 	pkgsrc/www/firefox78/files: desktop.in
 	pkgsrc/www/firefox78/patches: patch-aa
 	    patch-browser_app_profile_firefox.js
 	    patch-build_moz.configure_rust.configure
 	    patch-config_gcc-stl-wrapper.template.h
 	    patch-config_makefiles_rust.mk patch-configure.in
 	    patch-dom_base_nsAttrName.h patch-dom_media_CubebUtils.cpp
 	    patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp
 	    patch-gfx_angle_checkout_src_compiler_translator_InfoSink.h
 	    patch-gfx_cairo_cairo_src_cairo-type1-subset.c
 	    patch-gfx_skia_skia_src_core_SkCpu.cpp
 	    patch-gfx_thebes_gfxPlatform.cpp
 	    patch-ipc_chromium_src_base_message__pump__libevent.cc
 	    patch-ipc_chromium_src_base_platform__thread__posix.cc
 	    patch-ipc_glue_GeckoChildProcessHost.cpp
 	    patch-js_src_jit_ProcessExecutableMemory.cpp
 	    patch-js_src_jsfriendapi.h patch-js_src_util_NativeStack.cpp
 	    patch-js_src_vm_ArrayBufferObject.cpp
 	    patch-media_ffvpx_libavutil_arm_bswap.h
 	    patch-media_libcubeb_src_cubeb__alsa.c
 	    patch-media_libcubeb_src_moz.build patch-media_libpng_pngpriv.h
 	    patch-media_libtheora_lib_info.c
 	    patch-media_libvorbis_lib_vorbis__info.c
 	    patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
 	    patch-nsprpub_pr_src_pthreads_ptsynch.c
 	    patch-security_nss_lib_freebl_mpi_mpi.c
 	    patch-third__party_rust_authenticator_.cargo-checksum.json
 	    patch-third__party_rust_authenticator_src_lib.rs
 	    patch-third__party_rust_authenticator_src_netbsd_device.rs
 	    patch-third__party_rust_authenticator_src_netbsd_fd.rs
 	    patch-third__party_rust_authenticator_src_netbsd_mod.rs
 	    patch-third__party_rust_authenticator_src_netbsd_monitor.rs
 	    patch-third__party_rust_authenticator_src_netbsd_transaction.rs
 	    patch-third__party_rust_authenticator_src_netbsd_uhid.rs
 	    patch-third__party_rust_getrandom_src_lib.rs
 	    patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
 	    patch-toolkit_components_terminator_nsTerminator.cpp
 	    patch-toolkit_modules_subprocess_subprocess__shared__unix.js
 	    patch-toolkit_moz.configure
 	    patch-toolkit_mozapps_installer_packager.mk
 	    patch-widget_gtk_WaylandDMABufSurface.cpp patch-xpcom_base_nscore.h
 	    patch-xpcom_reflect_xptcall_md_unix_moz.build

 Log Message:
 firefox78: restore deleted package

 This is the last version of Firefox where microphone input isn't broken
 on NetBSD, see PR pkg/56587


 To generate a diff of this commit:
 cvs rdiff -u -r0 -r1.3 pkgsrc/www/firefox78/DESCR \
     pkgsrc/www/firefox78/PLIST.Linux
 cvs rdiff -u -r0 -r1.40 pkgsrc/www/firefox78/Makefile
 cvs rdiff -u -r0 -r1.7 pkgsrc/www/firefox78/PLIST
 cvs rdiff -u -r0 -r1.25 pkgsrc/www/firefox78/distinfo
 cvs rdiff -u -r0 -r1.6 pkgsrc/www/firefox78/options.mk
 cvs rdiff -u -r0 -r1.3 pkgsrc/www/firefox78-l10n/DESCR
 cvs rdiff -u -r0 -r1.20 pkgsrc/www/firefox78-l10n/Makefile
 cvs rdiff -u -r0 -r1.4 pkgsrc/www/firefox78-l10n/PLIST
 cvs rdiff -u -r0 -r1.22 pkgsrc/www/firefox78-l10n/distinfo
 cvs rdiff -u -r0 -r1.3 pkgsrc/www/firefox78/files/desktop.in
 cvs rdiff -u -r0 -r1.4 pkgsrc/www/firefox78/patches/patch-aa
 cvs rdiff -u -r0 -r1.3 \
     pkgsrc/www/firefox78/patches/patch-browser_app_profile_firefox.js \
     pkgsrc/www/firefox78/patches/patch-build_moz.configure_rust.configure \
     pkgsrc/www/firefox78/patches/patch-config_gcc-stl-wrapper.template.h \
     pkgsrc/www/firefox78/patches/patch-config_makefiles_rust.mk \
     pkgsrc/www/firefox78/patches/patch-configure.in \
     pkgsrc/www/firefox78/patches/patch-dom_base_nsAttrName.h \
     pkgsrc/www/firefox78/patches/patch-dom_media_CubebUtils.cpp \
     pkgsrc/www/firefox78/patches/patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp \
     pkgsrc/www/firefox78/patches/patch-gfx_angle_checkout_src_compiler_translator_InfoSink.h \
     pkgsrc/www/firefox78/patches/patch-gfx_cairo_cairo_src_cairo-type1-subset.c \
     pkgsrc/www/firefox78/patches/patch-gfx_skia_skia_src_core_SkCpu.cpp \
     pkgsrc/www/firefox78/patches/patch-gfx_thebes_gfxPlatform.cpp \
     pkgsrc/www/firefox78/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc \
     pkgsrc/www/firefox78/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc \
     pkgsrc/www/firefox78/patches/patch-ipc_glue_GeckoChildProcessHost.cpp \
     pkgsrc/www/firefox78/patches/patch-js_src_jit_ProcessExecutableMemory.cpp \
     pkgsrc/www/firefox78/patches/patch-js_src_jsfriendapi.h \
     pkgsrc/www/firefox78/patches/patch-js_src_util_NativeStack.cpp \
     pkgsrc/www/firefox78/patches/patch-js_src_vm_ArrayBufferObject.cpp \
     pkgsrc/www/firefox78/patches/patch-media_ffvpx_libavutil_arm_bswap.h \
     pkgsrc/www/firefox78/patches/patch-media_libcubeb_src_cubeb__alsa.c \
     pkgsrc/www/firefox78/patches/patch-media_libcubeb_src_moz.build \
     pkgsrc/www/firefox78/patches/patch-media_libpng_pngpriv.h \
     pkgsrc/www/firefox78/patches/patch-media_libtheora_lib_info.c \
     pkgsrc/www/firefox78/patches/patch-media_libvorbis_lib_vorbis__info.c \
     pkgsrc/www/firefox78/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc \
     pkgsrc/www/firefox78/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c \
     pkgsrc/www/firefox78/patches/patch-security_nss_lib_freebl_mpi_mpi.c \
     pkgsrc/www/firefox78/patches/patch-third__party_rust_authenticator_.cargo-checksum.json \
     pkgsrc/www/firefox78/patches/patch-third__party_rust_authenticator_src_lib.rs \
     pkgsrc/www/firefox78/patches/patch-third__party_rust_authenticator_src_netbsd_device.rs \
     pkgsrc/www/firefox78/patches/patch-third__party_rust_authenticator_src_netbsd_fd.rs \
     pkgsrc/www/firefox78/patches/patch-third__party_rust_authenticator_src_netbsd_mod.rs \
     pkgsrc/www/firefox78/patches/patch-third__party_rust_authenticator_src_netbsd_monitor.rs \
     pkgsrc/www/firefox78/patches/patch-third__party_rust_authenticator_src_netbsd_transaction.rs \
     pkgsrc/www/firefox78/patches/patch-third__party_rust_authenticator_src_netbsd_uhid.rs \
     pkgsrc/www/firefox78/patches/patch-third__party_rust_getrandom_src_lib.rs \
     pkgsrc/www/firefox78/patches/patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs \
     pkgsrc/www/firefox78/patches/patch-toolkit_components_terminator_nsTerminator.cpp \
     pkgsrc/www/firefox78/patches/patch-toolkit_modules_subprocess_subprocess__shared__unix.js \
     pkgsrc/www/firefox78/patches/patch-toolkit_moz.configure \
     pkgsrc/www/firefox78/patches/patch-toolkit_mozapps_installer_packager.mk \
     pkgsrc/www/firefox78/patches/patch-widget_gtk_WaylandDMABufSurface.cpp \
     pkgsrc/www/firefox78/patches/patch-xpcom_base_nscore.h \
     pkgsrc/www/firefox78/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: Ryo ONODERA <ryo@tetera.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/56587 (netbsd microphone recording regression in firefox91)
Date: Mon, 09 Jan 2023 03:26:38 +0900

 Hi,

 I am preparing www/firefox-109.0 and I have www/firefox-109.0b9
 in my local tree now.
 For www/firefox-109.0b1, in media.cubeb.backend=sun case, audio
 recording from microphone works without the problem.

 I will confirm the functionality again after 109.0 is released.

 -- 
 Ryo ONODERA // ryo@tetera.org
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

From: Ryo ONODERA <ryo@tetera.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/56587 (netbsd microphone recording regression in firefox91)
Date: Sat, 21 Jan 2023 10:19:08 +0900

 Hi,

 It seems that pkgsrc/www/firefox109.0 under NetBSD/amd64 10.99.2
 can handle microphone input properly with sun cubeb backend.

 Could you please test pkgsrc/www/firefox-109.0?

 Thank you.

 -- 
 Ryo ONODERA // ryo@tetera.org
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

State-Changed-From-To: open->feedback
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Sun, 04 Jun 2023 12:13:29 +0000
State-Changed-Why:
May have been fixed in newer Firefox?


From: Ryo ONODERA <ryo@tetera.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/56587 (netbsd microphone recording regression in firefox91)
Date: Fri, 24 Nov 2023 22:47:25 +0900

 As of pkgsrc/www/firefox-120.0, media.cubeb.backend=sun works fine
 for my NetBSD/amd64 10.99.10.

 -- 
 Ryo ONODERA // ryo@tetera.org
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

State-Changed-From-To: feedback->closed
State-Changed-By: bsiegert@NetBSD.org
State-Changed-When: Fri, 01 Mar 2024 19:18:36 +0000
State-Changed-Why:
Confirmed fixed


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2024 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.