xref: /aosp_15_r20/external/webrtc/docs/bug-reporting.md (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard WorkerThere are a couple bug trackers relevant to WebRTC:
2*d9f75844SAndroid Build Coastguard Worker
3*d9f75844SAndroid Build Coastguard Worker  * [crbug.com](https://crbug.com) -- for Chrome.
4*d9f75844SAndroid Build Coastguard Worker
5*d9f75844SAndroid Build Coastguard Worker  * [bugzilla.mozilla.org](https://bugzilla.mozilla.org/) -- for Firefox.
6*d9f75844SAndroid Build Coastguard Worker
7*d9f75844SAndroid Build Coastguard Worker  * [bugs.webkit.org](https://bugs.webkit.org/) -- for Safari.
8*d9f75844SAndroid Build Coastguard Worker
9*d9f75844SAndroid Build Coastguard Worker  * [developer.microsoft.com](https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/) -- for Microsoft Edge.
10*d9f75844SAndroid Build Coastguard Worker
11*d9f75844SAndroid Build Coastguard Worker  * [bugs.opera.com/wizard](https://bugs.opera.com/wizard/) -- for Opera.
12*d9f75844SAndroid Build Coastguard Worker
13*d9f75844SAndroid Build Coastguard Worker  * [bugs.webrtc.org](http://bugs.webrtc.org) -- for WebRTC native code.
14*d9f75844SAndroid Build Coastguard Worker
15*d9f75844SAndroid Build Coastguard WorkerAnyone with a [Google account][1] can file bugs in the Chrome and WebRTC trackers and they're continuously triaged by Chrome and WebRTC engineers.
16*d9f75844SAndroid Build Coastguard Worker
17*d9f75844SAndroid Build Coastguard Worker
18*d9f75844SAndroid Build Coastguard Worker### How to File a Good Bug Report
19*d9f75844SAndroid Build Coastguard Worker
20*d9f75844SAndroid Build Coastguard Worker#### Instructions
21*d9f75844SAndroid Build Coastguard Worker
22*d9f75844SAndroid Build Coastguard Worker* Identify which bug tracker to use:
23*d9f75844SAndroid Build Coastguard Worker
24*d9f75844SAndroid Build Coastguard Worker  * If you're hitting a problem in Chrome, file the bug using the
25*d9f75844SAndroid Build Coastguard Worker    [the Chromium issue wizard](https://chromiumbugs.appspot.com/?token=0)
26*d9f75844SAndroid Build Coastguard Worker    Choose "Web Developer" and "API", then fill out the form. For the component choose
27*d9f75844SAndroid Build Coastguard Worker    * Blink>GetUserMedia for camera/microphone issues
28*d9f75844SAndroid Build Coastguard Worker    * Blink>MediaRecording for issues with the MediaRecorder API
29*d9f75844SAndroid Build Coastguard Worker    * Blink>WebRTC for issues with the RTCPeerConnection API
30*d9f75844SAndroid Build Coastguard Worker    This ensures the right people will look at your bug.
31*d9f75844SAndroid Build Coastguard Worker
32*d9f75844SAndroid Build Coastguard Worker  * If you're a developer working with the native code, file the bug at
33*d9f75844SAndroid Build Coastguard Worker    [this link][4].
34*d9f75844SAndroid Build Coastguard Worker
35*d9f75844SAndroid Build Coastguard Worker* Include as much as possible from the data points listed below.
36*d9f75844SAndroid Build Coastguard Worker
37*d9f75844SAndroid Build Coastguard Worker#### Example Data Points
38*d9f75844SAndroid Build Coastguard Worker
39*d9f75844SAndroid Build Coastguard Worker  * Version of the browser/app
40*d9f75844SAndroid Build Coastguard Worker
41*d9f75844SAndroid Build Coastguard Worker    * For Chrome: copy/paste from **chrome://version**
42*d9f75844SAndroid Build Coastguard Worker
43*d9f75844SAndroid Build Coastguard Worker    * For WebRTC native code: if applicable, include the branch (e.g. trunk)
44*d9f75844SAndroid Build Coastguard Worker      and WebRTC revision (e.g. r8207) your application uses
45*d9f75844SAndroid Build Coastguard Worker
46*d9f75844SAndroid Build Coastguard Worker  * Operating system (Windows, Mac, Linux, Android, iOS, etc.) and version
47*d9f75844SAndroid Build Coastguard Worker    (e.g. Windows 7, OS X 10.9, Ubuntu 14, etc.)
48*d9f75844SAndroid Build Coastguard Worker
49*d9f75844SAndroid Build Coastguard Worker  * Hardware platform/device model (e.g. PC, Mac, Samsung 4S, Nexus 7, iPhone
50*d9f75844SAndroid Build Coastguard Worker    5S, iPad Air 2 etc)
51*d9f75844SAndroid Build Coastguard Worker
52*d9f75844SAndroid Build Coastguard Worker  * Camera and microphone model and version (if applicable)
53*d9f75844SAndroid Build Coastguard Worker
54*d9f75844SAndroid Build Coastguard Worker    * For Chrome audio and video device issues, please run the tests at
55*d9f75844SAndroid Build Coastguard Worker      <https://test.webrtc.org>. After the tests finish running, click the bug
56*d9f75844SAndroid Build Coastguard Worker      icon at the top, download the report, and attach the report to the issue
57*d9f75844SAndroid Build Coastguard Worker      tracker.
58*d9f75844SAndroid Build Coastguard Worker
59*d9f75844SAndroid Build Coastguard Worker  * Web site URL
60*d9f75844SAndroid Build Coastguard Worker
61*d9f75844SAndroid Build Coastguard Worker  * Reproduction steps: detailed information on how to reproduce the bug. If
62*d9f75844SAndroid Build Coastguard Worker    applicable, please either attach or link to a minimal test page in
63*d9f75844SAndroid Build Coastguard Worker    HTML+JavaScript.
64*d9f75844SAndroid Build Coastguard Worker
65*d9f75844SAndroid Build Coastguard Worker  * For **crashes**
66*d9f75844SAndroid Build Coastguard Worker
67*d9f75844SAndroid Build Coastguard Worker    * If you experience a crash while using Chrome, please include a crash ID
68*d9f75844SAndroid Build Coastguard Worker      by following [these instructions][2].
69*d9f75844SAndroid Build Coastguard Worker
70*d9f75844SAndroid Build Coastguard Worker    * If you experience a crash while using WebRTC native code, please include
71*d9f75844SAndroid Build Coastguard Worker      the full stacktrace.
72*d9f75844SAndroid Build Coastguard Worker
73*d9f75844SAndroid Build Coastguard Worker  * For **functional** issues or **ICE** issues, in either Chrome or a native
74*d9f75844SAndroid Build Coastguard Worker    application, please gather a [native log][5].
75*d9f75844SAndroid Build Coastguard Worker
76*d9f75844SAndroid Build Coastguard Worker  * For **connectivity** issues on Chrome, ensure **chrome://webrtc-internals**
77*d9f75844SAndroid Build Coastguard Worker    is open in another tab before starting the call and while the call is in progress,
78*d9f75844SAndroid Build Coastguard Worker
79*d9f75844SAndroid Build Coastguard Worker    * expand the **Create Dump** section,
80*d9f75844SAndroid Build Coastguard Worker
81*d9f75844SAndroid Build Coastguard Worker    * click the **Download the PeerConnection updates and stats data** button.
82*d9f75844SAndroid Build Coastguard Worker      You will be prompted to save the dump to your local machine. Please
83*d9f75844SAndroid Build Coastguard Worker      attach that dump to the bug report.
84*d9f75844SAndroid Build Coastguard Worker
85*d9f75844SAndroid Build Coastguard Worker  * For **audio quality** issues on Chrome, while the call is in progress,
86*d9f75844SAndroid Build Coastguard Worker
87*d9f75844SAndroid Build Coastguard Worker    * please open **chrome://webrtc-internals** in another tab,
88*d9f75844SAndroid Build Coastguard Worker
89*d9f75844SAndroid Build Coastguard Worker    * expand the **Create Dump** section,
90*d9f75844SAndroid Build Coastguard Worker
91*d9f75844SAndroid Build Coastguard Worker    * fill in the **Enable diagnostic audio recordings** checkbox. You will be
92*d9f75844SAndroid Build Coastguard Worker      prompted to save the recording to your local machine. After ending the
93*d9f75844SAndroid Build Coastguard Worker      call, attach the recording to the bug.
94*d9f75844SAndroid Build Coastguard Worker
95*d9f75844SAndroid Build Coastguard Worker  * For **echo** issues, please try to capture an audio recording from the
96*d9f75844SAndroid Build Coastguard Worker    side that is _generating_ the echo, not the side that _hears_ the echo.
97*d9f75844SAndroid Build Coastguard Worker    For example, if UserA and UserB are in a call, and UserA hears herself
98*d9f75844SAndroid Build Coastguard Worker    speak, please obtain an audio recording from UserB.
99*d9f75844SAndroid Build Coastguard Worker
100*d9f75844SAndroid Build Coastguard Worker  * For **regressions**, i.e. things that worked in one version and stopped working in
101*d9f75844SAndroid Build Coastguard Worker    a later versioņ, provide both versions. If you know steps to reproduce you might
102*d9f75844SAndroid Build Coastguard Worker    want to try [a bisect](https://www.chromium.org/developers/bisect-builds-py) to
103*d9f75844SAndroid Build Coastguard Worker    identify the commit that changed the behaviour.
104*d9f75844SAndroid Build Coastguard Worker
105*d9f75844SAndroid Build Coastguard Worker  * For **video problems**, e.g. artifacts or decoder failures, a rtpdump file
106*d9f75844SAndroid Build Coastguard Worker    with the unencrypted RTP traffic. This can by replayed using the video_replay
107*d9f75844SAndroid Build Coastguard Worker    tool from the rtc_tools directory.
108*d9f75844SAndroid Build Coastguard Worker
109*d9f75844SAndroid Build Coastguard Worker  * For problem with the webcam, a dump or screenshot of the "Video Capture" tab
110*d9f75844SAndroid Build Coastguard Worker    in chrome://media-internals.
111*d9f75844SAndroid Build Coastguard Worker
112*d9f75844SAndroid Build Coastguard Worker### Filing a Security Bug
113*d9f75844SAndroid Build Coastguard Worker
114*d9f75844SAndroid Build Coastguard WorkerThe WebRTC team takes security very seriously. If you find a vulnerability in
115*d9f75844SAndroid Build Coastguard WorkerWebRTC, please file a [Chromium security bug][ChromeSecurity], even if the bug
116*d9f75844SAndroid Build Coastguard Workeronly affects native WebRTC code and not Chromium.
117*d9f75844SAndroid Build Coastguard Worker
118*d9f75844SAndroid Build Coastguard WorkerA history of fixed Chromium security bugs is best found via [security notes in
119*d9f75844SAndroid Build Coastguard WorkerStable Channel updates on the Google Chrome releases blog][ChromeSecurityBlog].
120*d9f75844SAndroid Build Coastguard Worker
121*d9f75844SAndroid Build Coastguard WorkerYou can also find fixed, publicly visible [Type=Bug-Security][ChromeBugList]
122*d9f75844SAndroid Build Coastguard Workerbugs in the issue tracker (note: security bugs normally become publicly
123*d9f75844SAndroid Build Coastguard Workervisible 14 weeks after they are fixed). If there is a bug in WebRTC code
124*d9f75844SAndroid Build Coastguard Workerthat Chromium isn’t using (such as the Java/ObjC wrappers for Android/iOS)
125*d9f75844SAndroid Build Coastguard Workerwe will announce fixes separately on [discuss-webrtc][DiscussWebRTC].
126*d9f75844SAndroid Build Coastguard Worker
127*d9f75844SAndroid Build Coastguard Worker[Tracking released security bug disclosures][WebRtcBugList].
128*d9f75844SAndroid Build Coastguard Worker
129*d9f75844SAndroid Build Coastguard WorkerNote that we will generally NOT merge security fixes backwards to any branches,
130*d9f75844SAndroid Build Coastguard Workerso if you’re using older branches it’s your responsibility to make sure the
131*d9f75844SAndroid Build Coastguard Workerrelevant security fixes get merged.
132*d9f75844SAndroid Build Coastguard Worker
133*d9f75844SAndroid Build Coastguard Worker
134*d9f75844SAndroid Build Coastguard Worker### Receiving notifications about security bugs in Chrome
135*d9f75844SAndroid Build Coastguard Worker
136*d9f75844SAndroid Build Coastguard WorkerTo get automatic notifications about activity/comments in security bugs in
137*d9f75844SAndroid Build Coastguard WorkerChrome you need to be either explicitly cc:d on specific bugs (by someone who
138*d9f75844SAndroid Build Coastguard Workerhas access to the bug) or be part of a special mailing list for all security bug
139*d9f75844SAndroid Build Coastguard Workernotifications. To get on that list you have to apply to the Chrome Security
140*d9f75844SAndroid Build Coastguard Workerteam, see more about this on the [Chrome Security page][ChromeSecurity] under
141*d9f75844SAndroid Build Coastguard Worker"How can I get access to Chromium vulnerabilities?" at the bottom of the page.
142*d9f75844SAndroid Build Coastguard Worker
143*d9f75844SAndroid Build Coastguard WorkerPlease note that Chrome's security-notify list will receive notifications about
144*d9f75844SAndroid Build Coastguard Workerall security bugs in Chrome and not just the WebRTC ones. Normally it shouldn't
145*d9f75844SAndroid Build Coastguard Workerbe a problem to figure out whether an issue affects WebRTC since it will most
146*d9f75844SAndroid Build Coastguard Workerlikely be tagged with one of the WebRTC-related components (one of Blink>WebRTC,
147*d9f75844SAndroid Build Coastguard WorkerBlink>GetUserMedia, Blink>MediaStream, Blink>MediaRecording) or their sub-
148*d9f75844SAndroid Build Coastguard Workercomponents.
149*d9f75844SAndroid Build Coastguard Worker
150*d9f75844SAndroid Build Coastguard WorkerAlso note that access granted by the list will only apply to bugs of Type=Bug-
151*d9f75844SAndroid Build Coastguard WorkerSecurity. Not all bugs with crashes, memory leaks and other potential
152*d9f75844SAndroid Build Coastguard Workervulnerabilities are marked as Bug-Security though. You can read more about what
153*d9f75844SAndroid Build Coastguard Workercategories of bugs are deemed security bugs in the [Severity Guidelines for
154*d9f75844SAndroid Build Coastguard WorkerSecurity Issues][SeverityGuidelines] and also on the [Security FAQ][SecurityFaq]
155*d9f75844SAndroid Build Coastguard Workerpage.
156*d9f75844SAndroid Build Coastguard Worker
157*d9f75844SAndroid Build Coastguard Worker
158*d9f75844SAndroid Build Coastguard Worker[1]: https://accounts.google.com/
159*d9f75844SAndroid Build Coastguard Worker[2]: http://www.chromium.org/for-testers/bug-reporting-guidelines/reporting-crash-bug
160*d9f75844SAndroid Build Coastguard Worker[3]: https://code.google.com/p/chromium/issues/entry?template=Audio/Video%20Issue
161*d9f75844SAndroid Build Coastguard Worker[4]: https://bugs.chromium.org/p/webrtc/issues/entry
162*d9f75844SAndroid Build Coastguard Worker[5]: native-code/logging.md
163*d9f75844SAndroid Build Coastguard Worker[ChromeSecurity]: https://www.chromium.org/Home/chromium-security/reporting-security-bugs
164*d9f75844SAndroid Build Coastguard Worker[DiscussWebRTC]: https://groups.google.com/group/discuss-webrtc
165*d9f75844SAndroid Build Coastguard Worker[ChromeSecurityBlog]: https://chromereleases.googleblog.com/search/label/Stable%20updates
166*d9f75844SAndroid Build Coastguard Worker[ChromeBugList]: https://bugs.chromium.org/p/chromium/issues/list?can=1&q=Type%3DBug-Security+component%3ABlink%3EWebRTC+-status%3ADuplicate%2CWontfix&sort=-closed&colspec=ID+Pri+M+Component+Status+Owner+Summary+OS+Closed&x=m&y=releaseblock&cells=ids
167*d9f75844SAndroid Build Coastguard Worker[WebRtcBugList]: https://bugs.chromium.org/p/webrtc/issues/list?q=Type%3DBug-Security&can=1
168*d9f75844SAndroid Build Coastguard Worker[ChromeSecurity]: https://www.chromium.org/Home/chromium-security
169*d9f75844SAndroid Build Coastguard Worker[SeverityGuidelines]: https://chromium.googlesource.com/chromium/src/+/main/docs/security/severity-guidelines.md
170*d9f75844SAndroid Build Coastguard Worker[SecurityFaq]: https://chromium.googlesource.com/chromium/src/+/main/docs/security/faq.md
171