New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 751833 link

Starred by 13 users

Issue metadata

Status: Duplicate
Merged: issue 835958
Owner:
Last visit > 30 days ago
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Blank screen for webRTC apps

Reported by geethara...@gmail.com, Aug 2 2017

Issue description

UserAgent: Mozilla/5.0 (X11; CrOS x86_64 8743.69.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.68 Safari/537.36
Platform: 8743.69.0 (Official Build) stable-channel edgar

Example URL:
opentokdemo.tokbox.com

Steps to reproduce the problem:
For a session with 2 users on chromebooks
1. Both users join session and publish/subscribe to each other
2. Turn the wifi on one device on/off repeatedly
3. Black screen should appear for subscriber and/or publisher. Refreshing, reopening the browser, and changing to another webRTC application fails.
4. No webRTC app will work after the initial failure (tested on opentokdemo, google hangouts, linndamoodbell)
5. Restart the machine to get it working again

Reported on Asus (https://www.amazon.com/Chromebook-C300MA-Intel-Celeron-Black/dp/B00KD5SEPK), Acer (https://www.amazon.com/Acer-Chromebook-Aluminum-Quad-Core-CB3-431-C5FM/dp/B01CVOLVPA) and the now defunct Toshiba Chromebook 2 (https://www.amazon.com/Toshiba-CB35-B3340-Chromebook-Celeron-HD-Screen/dp/B00N99FXIS)

What is the expected behavior?
webRTC to stream video 

What went wrong?
browser failed to stream video

Did this work before? N/A 

Is it a problem with Flash or HTML5? N/A

Does this work in other browsers? Yes

Chrome version: 54.0.2840.68  Channel: n/a
OS Version: 8743.69.0
Flash Version: Shockwave Flash 23.0 r0

Contents of chrome://gpu: 
Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Panel Fitting: Unavailable
Rasterization: Software only. Hardware acceleration disabled
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
VPx Video Decode: Hardware accelerated
WebGL: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
count_all_in_varyings_packing
disable_discard_framebuffer
msaa_is_slow
scalarize_vec_and_mat_constructor_args
Problems Detected
Chrome OS panel fitting is only supported for Intel IVB and SNB Graphics Controllers
Disabled Features: panel_fitting
Framebuffer discarding causes jumpy scrolling on Mali drivers: 301988
Applied Workarounds: disable_discard_framebuffer
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Mesa drivers in ChromeOS handle varyings without static use incorrectly: 333885
Applied Workarounds: count_all_in_varyings_packing
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565
Applied Workarounds: msaa_is_slow
Accelerated rasterization has been disabled, either via blacklist, about:flags or the command line.
Disabled Features: rasterization
Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
Disabled Features: native_gpu_memory_buffers
Version Information
Data exported	8/2/2017, 2:18:05 PM
Chrome version	Chrome/54.0.2840.68
Operating system	Linux 3.18.0-13021-g5741bc0
Software rendering list version	11.12
Driver bug list version	9.00
ANGLE commit id	905fbdea9ef0
2D graphics backend	Skia/54 a21f10dd8b19c6cb47d07d94d0a0525c16461969
Command Line Args	--ppapi-flash-path=/opt/google/chrome/pepper/libpepflashplayer.so --ppapi-flash-version=23.0.0.185-r1 --ppapi-flash-args=enable_hw_video_decode=1 --ui-prioritize-in-gpu-process --use-gl=egl --gpu-sandbox-failures-fatal=yes --enable-logging --log-level=1 --use-cras --enable-wayland-server --user-data-dir=/home/chronos --max-unused-resource-memory-usage-percentage=5 --login-profile=user --has-chromeos-keyboard --default-wallpaper-large=/usr/share/chromeos-assets/wallpaper/oem_large.jpg --default-wallpaper-small=/usr/share/chromeos-assets/wallpaper/oem_small.jpg --default-wallpaper-is-oem --guest-wallpaper-large=/usr/share/chromeos-assets/wallpaper/guest_large.jpg --guest-wallpaper-small=/usr/share/chromeos-assets/wallpaper/guest_small.jpg --enable-prefixed-encrypted-media --enterprise-enrollment-initial-modulus=15 --enterprise-enrollment-modulus-limit=19 --vmodule=screen_locker=2,webui_screen_locker=2,lock_state_controller=2,webui_login_view=2,power_button_observer=2,*ui/display/chromeos*=1,*ash/display*=1,*ui/ozone*=1,*zygote*=1,*plugin*=2,*chromeos/login/*=1 --login-manager --first-exec-after-boot --silent-launch
Driver Information
Initialization time	319
In-process GPU	false
Sandboxed	true
GPU0	VENDOR = 0x8086, DEVICE= 0x22b1
Optimus	false
AMD switchable	false
Driver vendor	Mesa
Driver version	12.1.0
Driver date	
Pixel shader version	3.10
Vertex shader version	3.10
Max. MSAA samples	8
Machine model name	
Machine model version	
GL_VENDOR	Intel Open Source Technology Center
GL_RENDERER	Mesa DRI Intel(R) HD Graphics 400 (Braswell)
GL_VERSION	OpenGL ES 3.1 Mesa 12.1.0-devel (git-b010fa8)
GL_EXTENSIONS	GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_filter_anisotropic GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_EXT_texture_sRGB_decode GL_OES_EGL_image GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_robustness GL_OES_depth_texture_cube_map GL_OES_surfaceless_context GL_EXT_color_buffer_float GL_EXT_separate_shader_objects GL_EXT_shader_integer_mix GL_EXT_copy_image GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_gpu_shader5 GL_EXT_polygon_offset_clamp GL_EXT_shader_io_blocks GL_EXT_texture_border_clamp GL_EXT_texture_buffer GL_KHR_context_flush_control GL_KHR_robust_buffer_access_behavior GL_OES_copy_image GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex GL_OES_gpu_shader5 GL_OES_sample_shading GL_OES_sample_variables GL_OES_shader_io_blocks GL_OES_shader_multisample_interpolation GL_OES_texture_border_clamp GL_OES_texture_buffer GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_EXT_blend_func_extended GL_EXT_buffer_storage GL_EXT_shader_samples_identical GL_OES_shader_image_atomic GL_EXT_clip_cull_distance
Disabled Extensions	
Window system binding vendor	Mesa Project
Window system binding version	1.4 (DRI2)
Window system binding extensions	EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_KHR_create_context EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export
Direct rendering	Yes
Reset notification strategy	0x0000
GPU process crash count	0
Compositor Information
Tile Update Mode	One-copy
Partial Raster	Enabled
GpuMemoryBuffers Status
ATC	Software only
ATCIA	Software only
DXT1	Software only
DXT5	Software only
ETC1	Software only
R_8	Software only
BGR_565	GPU_READ
RGBA_4444	Software only
RGBX_8888	GPU_READ, SCANOUT
RGBA_8888	GPU_READ
BGRX_8888	GPU_READ, SCANOUT
BGRA_8888	GPU_READ
YVU_420	GPU_READ
YUV_420_BIPLANAR	Software only
UYVY_422	Software only
 
Components: -Internals>Media Blink>WebRTC
Components: -Blink>WebRTC Blink>WebRTC>Video
Components: -Blink>WebRTC>Video Blink>WebRTC
Cc: emir...@chromium.org chfremer@chromium.org
Owner: ar...@chromium.org
Status: Assigned (was: Unconfirmed)

Comment 5 by ar...@chromium.org, Aug 21 2017

Is there a reason for the devices to be on 54? We suspect the issue might be related to the camera entering a bad state and not recovering out of that. I have tried to reproduce the issue on 61 but I do not seem to be able to reproduce this specific issue.
Hi.

I'm not entirely sure why the version was reported with 54 but I have been
able to reproduce this on version 59. I have not tried 60 or 61 yet but I
certainly can.

Comment 7 by ar...@chromium.org, Aug 21 2017

That would be great!
Will do. I will test on v60 and v61 tomorrow.
Hi.

I was able to recreate this issue on version 60.0.3112.101 on an Asus C301S
Chromebook.

Oddly enough though I was not able to reproduce on version 60.0.3112.80 on
an Acer Chromebook 14 CB3-431.

I'll be testing v61 tomorrow on both these Chromebooks.

Here's the chrome://version from the Asus C0301S

Google Chrome 60.0.3112.101 (Official Build) (64-bit)
Revision 0
Platform 9592.82.0 (Official Build) stable-channel terra
Firmware Version Google_Terra.7287.154.80
Customization ID ASUS-TERRA3
ARC 4263492
JavaScript V8 6.0.286.54
Flash 26.0.0.137 /opt/google/chrome/pepper/libpepflashplayer.so
User Agent Mozilla/5.0 (X11; CrOS x86_64 9592.82.0) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36
Command Line /opt/google/chrome/chrome
--ppapi-flash-path=/opt/google/chrome/pepper/libpepflashplayer.so
--ppapi-flash-version=26.0.0.137 --ui-prioritize-in-gpu-process
--use-gl=egl --enable-native-gpu-memory-buffers
--gpu-sandbox-failures-fatal=yes --enable-logging --log-level=1 --use-cras
--enable-wayland-server --user-data-dir=/home/chronos
--max-unused-resource-memory-usage-percentage=5 --login-profile=user
--has-chromeos-keyboard
--default-wallpaper-large=/usr/share/chromeos-assets/wallpaper/oem_large.jpg
--default-wallpaper-small=/usr/share/chromeos-assets/wallpaper/oem_small.jpg
--default-wallpaper-is-oem
--guest-wallpaper-large=/usr/share/chromeos-assets/wallpaper/guest_large.jpg
--guest-wallpaper-small=/usr/share/chromeos-assets/wallpaper/guest_small.jpg
--enable-prefixed-encrypted-media --enable-consumer-kiosk
--arc-availability=officially-supported --need-arc-migration-policy-check
--enterprise-enrollment-initial-modulus=15
--enterprise-enrollment-modulus-limit=19 --login-manager
--first-exec-after-boot
--vmodule=*arc/*=1,*chromeos/login/*=1,auto_enrollment_controller=1,*plugin*=2,*zygote*=1,*/ui/ozone/*=1,*/ui/display/manager/chromeos/*=1,power_button_observer=2,webui_login_view=2,lock_state_controller=2,webui_screen_locker=2,screen_locker=2
After further testing I was able to create this issue on both Asus C301S
Chromebook and Acer Chromebook 14 CB3-431 on v60 and v61. We are using
https://opentokdemo.tokbox.com/ for testing.

I'm happy to provide any other details or testing if needed.

Thanks for your time.

Comment 11 by gee...@tokbox.com, Oct 25 2017

This issue is still occurring on chromebooks, and we've seen this with various other models now. Are there any updates?

Comment 12 by ar...@chromium.org, Mar 19 2018

Owner: emir...@chromium.org
Re-assigning to Emircan for triaging.
Cc: rantonysamy@chromium.org
Owner: vasanthakumar@chromium.org
We dont have those CrOS devices available any more. Assigning to people from SkyLab for bisect and logs.
Thanks for the detailed description about the issue. I will reproduce it and update here. Thanks!

Cc: jansson@chromium.org
Hi all,

I have tried to reproduce in 3 devices. I have failed to reproduce the scenario as mentioned in Step 3 in the description.

I have tried to reproduce in M66 dev and M61 versions respectively. Kindly have a look in the steps I have followed.

Steps follow:
1. Open opentokdemo.tokbox.com in Device A and Device B.
2. Join the call from both the devices with the same room,
3. In Device A let the wifi on,
4. In device B Keep switching on and off with 3 seconds interval.
5. repeat step 5 for 5-6 times

[Also tried turning off wifi in both the devices. It did not help either]

What happens?
video feed of A is is stopped in Device B. After a refresh all works fine. Issue is not reproducible in hangouts either. Hangouts not even mutes the remote video alike opentokdemo.tokbox.com. 

I tried the same in all the devices with M66 and M61. I feel I miss a key step to reproduce the issue. Can any one who reproduced the issue can review my steps? 


1. DEVICE A- Swanky device (Toshiba chrome book 2) Baytrail(Rambi)

Operating System:Linux x86_64 (Chrome Book)
Chrome Browser Version: 61.0.3163.140
Chrome OS Version: 9765.89.0
CPU: Intel(R) Celeron(R) CPU N2840 @ 2.16GHz ( x86_64architecture - 2 processors )
Memory: 2.49GB available out of 4.05GB

2. DEVICE B- Quawks Device(ASUS Chromebook C300) Baytrail(Rambi)
 
Operating System:Linux x86_64 (Chrome Book)
Chrome Browser Version: 61.0.3163.140
Chrome OS Version: 9765.89.0
Memory: 2.40GB available out of 4.05GBCPU: Intel(R) Celeron(R) CPU N2830 @ 2.16GHz ( x86_64architecture - 2 processors )

3. Device 3- Sentry[Skylake Family]: 

Operating System:Linux x86_64 (Chrome Book)
Chrome Browser Version: 61.0.3163.140
Chrome OS Version: 9765.89.0
Memory: 8.26GBCPU: Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz ( x86_64architecture - 4 processors )

Crash report from Swanky: [May be interesting]
Uploaded Crash Report ID c981897142be8b96 (Local Crash ID: Chrome)
Crash report uploaded on Tuesday, March 20, 2018 at 1:09:43 PM
Uploaded Crash Report ID f85a56687ac7de08 (Local Crash ID: ChromeOS)
Crash report uploaded on Tuesday, March 20, 2018 at 1:09:14 PM
Uploaded Crash Report ID 5ac6337bcbc29841 (Local Crash ID: ChromeOS)
Crash report uploaded on Tuesday, March 20, 2018 at 1:07:06 PM
Did you use external camera in chrome book? Can you reproduce in M65 which is live now? Thanks a lot!

Hi vasanthakumar - 
Your steps look correct but sometimes it takes longer to trigger.  

If you down the wifi interface on one of the chromebooks, allow it to recover briefly (maybe 3-4 ping replies), and repeat. This will usually trigger the issue within a few minutes.
What is the real use case that triggers this behavior? Surely people do not sit and play with the wifi toggle on a Chromebook.
The use case we have seen is when the internet connection is really poor and repeatedly drops.
It will be hard to discern if its the local network, remote services, OS or the WebRTC in Chrome.

Could you include logs from chrome://webrtc-internals when the issue occurs?
Hi Billy, 

I am not able to reproduce still. Can you please upgrade to the latest chrome and reproduce the issue. Kindly share the logs as mentioned in #20 as well. 

Thank you!
Ping! 
Status: WontFix (was: Assigned)
Closing this ticket for now. If reproducible in the latest chrome version, kindly reopen again. Thanks!
Hi vasanthakumar - Yes, the bug still occurs in the latest version of chrome.  I was able to reproduce it today and I've included the requested logs.

Thanks,
Billy
webrtc_internals_dump.txt
1.0 MB View Download
Owner: emir...@chromium.org
Status: Assigned (was: WontFix)
Thanks Billy. 

I have reproduced partially the issue on Leon (Toshiba). Chrome: M66.0.3359.137 / 10452.74.0

Leon Configuration:
Operating System: Linux x86_64 (Chrome Book)
CPU: Intel(R) Celeron(R) 2955U @ 1.40GHz ( x86_64architecture - 2 processors )
Memory: 4.08 GB

Santa Configuration:
Intel(R) Celeron(R) CPU N3350 @ 1.10GHz ( x86_64architecture - 2 processors )
Memory: 4.01 GB

Steps to follow:
1. Open opentokdemo.tokbox.com in Device A (Leon) and Device B (Santa).
2. Join the call from both the devices with the same room,
3. In Device A let the wifi on,
4. In device B Keep switching on and off 4-5 seconds interval.
5. repeat step 5 until the incoming video feed stops in Device A. 

After this moment, Leon does not get any incoming feed from Santa. I tried refreshing the browser and restarted the browser. It continues to send video to santa but fails to receive the feed. 

Note: After the state as mentioned above, I can perform hangouts call in Leon device without any flaws. This contradicts the statement as mentioned in step 3 in the original description. That is no webrtc calls can be performed after this state. 

Could this be two different issues?


Santa logs.txt
203 KB View Download
Leon logs.txt
147 KB View Download
Cc: deadbeef@chromium.org
Owner: holmer@chromium.org
Unfortunately those webrtc logs dont tell much. This is triggered by turning wifi on/off, probably related to network/bandwidth. deadbeef@ and holmer@ can you help with retriage?
Components: Blink>WebRTC>Video
Status: Untriaged (was: Assigned)
The native log (https://webrtc.org/native-code/logging/) would be more helpful. The Santa internals dump contains 17 PeerConnections, so I'm not sure which one I should be looking at. Only one has send streams, which only sent 19 video frames/21 audio frames, and I don't see a matching SSRC in the Leon internals dump.

But maybe someone more familiar with debugging "blank video" bugs knows what to look for. Adding Video component.
Owner: vasanthakumar@chromium.org
Could you please try to repro and include the native logs?
Owner: holmer@chromium.org
Thank you! I have attached the logs of santa and leon correspondingly. 

@related to many peer connections: This is for some reason caused by opentokdemo.tokbox.com webapp. I just noticed similar peers are seen in both these devices. 

Santa_logs.tgz
3.7 MB Download
leon_logs.tgz
558 KB Download
The only messages in the "chrome_system_log" are multiple instances of:

[1:24:0504/162623.570999:WARNING:paced_sender.cc(261)] Elapsed time (274860 ms) longer than expected, limiting to 2000 ms

And:

[1:15:0504/162629.045589:WARNING:srtpsession.cc(135)] Failed to unprotect SRTP packet, err=9
[1:15:0504/162629.046952:ERROR:srtptransport.cc(240)] Failed to unprotect RTP packet: size=919, seqnum=35321, SSRC=2

The former message probably caused by the second.

I believe this is  crbug.com/835958 . It would occur if a new offer/answer is performed after an RTP sequence number rolled over, and I imagine turning Wi-Fi on/off will trigger an ICE restart which would do that.

Can you confirm what versions of Chrome are being used? Looks like it may be 67.0.3396.26, and this issue affects versions 67.0.3387.0 through 67.0.3396.28. 
Owner: vasanthakumar@chromium.org
Status: Assigned (was: Untriaged)
Hi, 

I have used 67.0.3396.19 build for Santa and 66.0.3359.137 on Leon. Please let me know if you need any help from me. Thanks!
Owner: holmer@chromium.org
Owner: deadbeef@chromium.org
Taylor, please close if you consider this a dupe.
Mergedinto: 835958
Status: Duplicate (was: Assigned)
Since 67.0.3396.19 is an affected version, sounds like it is. 

Sign in to add a comment