Closed Bug 1334803 Opened 7 years ago Closed 7 years ago

Xfinity TV video playback fails in 64-bit builds of Firefox

Categories

(Core :: Security: Process Sandboxing, defect, P1)

54 Branch
defect

Tracking

()

RESOLVED FIXED

People

(Reporter: bsoles9, Assigned: handyman)

References

Details

(Whiteboard: [Xfinity cloud dvr feature related?][sb+])

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0
Build ID: 20170128030204

Steps to reproduce:

1. Log on to xfinity
2. Select "TV"
3. Recorded media on cable box displays
4. Select recorded media to watch



Actual results:

Following error is displayed:

This Video Cannot Be Played

We've run into a problem while streaming Knight of Crowns.

(Error 102100.33: Loading of the specified resource has failed)


Expected results:

video should play.
Note:  The latest Firefox 32bit and Internet Explorer work.  Flash player is up to date.
I'm Running a HP Envy Phoenix, Windows 10 64Bit (intel core i7) with 4K display
Hum, I guess this streaming service is restricted to US Comcast clients, so I'll not able to test.

Does it work with FF51?
Flags: needinfo?(bsoles9)
Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core
[bugday-20170130]
I tried to reproduce your bug and i also got the same error
Status: UNCONFIRMED → NEW
Ever confirmed: true
(In reply to Loic from comment #2)
> Hum, I guess this streaming service is restricted to US Comcast clients, so
> I'll not able to test.
> 
> Does it work with FF51?

Yes, it works with FF51 (32bit)
Flags: needinfo?(bsoles9)
Well, we need to find a regression range with the tool mozregression (http://mozilla.github.io/mozregression/)

Run the command "mozregression --good=51" then copy the final pushlog provided by the tool.
I am using Firefox 52b9 64 bit and I have the same problem.   I have been using the 64 bit version of Firefox since it was available,  Initially Xfinity recorded content worked but after a few months of upgrades to newer versions of Firefox it stopped working.  The 32bit version can play record Xfinity content without any problems.  Also no problems with the 64 bit version of Chrome.
We need help from someone who has access to Xfinity. Does anyone on this bug have any technical insight? Is the content downloadable?
Flags: needinfo?(bsoles9)
The content is played from the cloud. It seems to be related to Adobe Flash's interaction with Firefox 64bit, since the recorded content plays fine on Edge, Chrome and IE and Firefox 32bit.  Also on my Core2Duo 2.4ghz laptop (Nvidia 9600M)the performance of playing live content from Xfinity is very poor with consist jerkiness in the playback with the CPU usage at around 100%.  Using the other browsers the CPU usage on the same content to about 50%.   

Error message that I get:

This Video Cannot Be Played

We've run into a problem while streaming Shockwave.

(Error 102100.33: Loading of the specified resource has failed) 

Customer Service Diagnostics

Build number
    273
OS
    Windows 10
Browser
    Firefox 53.0
Flash version
    25.0.0.152
Status
    in home
Entitlements
    est, clinear, tve-linear, cdvr, cvod, tve-vod
Last fingerprint
    cloudtv_web_polymer_0_prod_1491792756279_34675
Stream provider
    primetime
Video ID
    V5665524847818291719L200426420406010017
Media ID
    comcast:dvr:schedule:V5665524847818291719L200426420406010017
Error code
    102100.33
Error description
    Loading of the specified resource has failed
Error aux info
    https://xtvapi.cloudtv.comcast.net/recording/V5665524847818291719L200426420406010017/stream.m3u8?recorderManager=cdvr-c-rmID-mana01
Video Provider
    TNTHD
Video Source
    s:VideoObject/Recording
Video Title
    Shockwave
I just tried Firefox version 53 32bit with Xfinity TV on my laptop and as previously stated I have no problems playing recorded content.  Also playing live content with the 32 bit Firefox is a lot smoother.  It still uses a higher level of resources (near 100% CPU) verses Chrome or Edge which uses about 50% but it watchable, with the 64 bit version I would get halts in the live TV of over 10 seconds, which does not occur in the 32 bit version.
When I try to watch a movie on Xfinity (such as [1]), the Flash video controls (such as clicking on the playback timeline) often become unresponsive and Firefox's "A web page is making your browser slow" info bar periodically opens for less than a second, causing the video page to shift up and down.

Jim, I think this is a regression from enabling Flash async drawing. I can reproduce these Flash problems on 64-bit Nightly 55, 32-bit Aurora 54, and 32-bit Beta 53 if I force dom.ipc.plugins.asyncdrawing.enabled = true and restart the browser.

[1] https://tv.xfinity.com/entity/6041086718376485112/
Flags: needinfo?(jmathies)
Summary: Nightly 54.0a1 (2017-01-28) (64-bit) Can't play recorded media from Xfinity (comcast) → Xfinity TV Flash video playback uses a lot of CPU and playback controls stop responding with Flash async drawing enabled
I have two computers both running Windows 10 64bit.  On the slower laptop (well within Adobe Flash specs) I have the halting and non-responsive problem when playing live or VOD content similar to what Cris has stated.  On my desktop which uses an eight core AMD CPU I have minimal stuttering and it is responsive, but on both the desktop and laptop with Firefox 64 bit I cannot play recorded content.
Paul, could you help us out here and try setting the following prefs and testing with 64-bit firefox?

dom.ipc.plugins.sandbox-level.flash = 0 (default 2)

If that doesn't fix it, reset the above pref back to the default and try:

dom.ipc.plugins.asyncdrawing.enabled = false (default true)

and see if that helps.
Flags: needinfo?(pgoldberg)
Flags: needinfo?(jmathies)
Flags: needinfo?(bsoles9)
Flags: needinfo?(jmathies)
Jim,
Tried both settings with a restart after each. I received the same error for each setting change: 102100.33 Loading specified resource has failed.

-Bill
I also tried both settings and it did not work.  On Firefox 53 the setting dom.ipc.plugins.asyncdrawing.enabled the default is "False" but I did try "True" also.
Flags: needinfo?(pgoldberg)
For users experiencing this, can you check if flash is loading properly? There should be a little puzzle piece icon in the address bar that you click to get a status message from. Curious because I found a forum reference [1] to plugin blocking in Chrome that caused a similar problem.

Dees, do we have a Comcast contact? Access to a test account would be very useful here.

[1] https://forums.xfinity.com/t5/XFINITY-Stream-Website/Error-102100-5-Loading-of-the-specified-resource-has-failed/td-p/2846828
Flags: needinfo?(dchinniah)
Jim,
clicked on puzzle piece when logged into xfinity It says: "Adobe Flash is enabled for http://my.xfinity.com"

-Bill
I checked and it flash is loading on both live TV which works and the failed recordings. (Adobe Flash is enabled)
Can someone who can reproduce this '(Error 102100.33: Loading of the specified resource has failed)' error please try testing in Nightly to see if it's fixed there?

https://www.mozilla.org/en-US/firefox/nightly/all/

recent zip build:
https://archive.mozilla.org/pub/firefox/nightly/2017/04/2017-04-16-03-02-09-mozilla-central/firefox-55.0a1.en-US.win64.zip
(In reply to Chris Peterson [:cpeterson] from comment #10)
> When I try to watch a movie on Xfinity (such as [1]), the Flash video
> controls (such as clicking on the playback timeline) often become
> unresponsive and Firefox's "A web page is making your browser slow" info bar
> periodically opens for less than a second, causing the video page to shift
> up and down.
> 
> Jim, I think this is a regression from enabling Flash async drawing. I can
> reproduce these Flash problems on 64-bit Nightly 55, 32-bit Aurora 54, and
> 32-bit Beta 53 if I force dom.ipc.plugins.asyncdrawing.enabled = true and
> restart the browser.
> 
> [1] https://tv.xfinity.com/entity/6041086718376485112/

Strange. Today I am no longer able to reproduce these video problems on Nightly 55 even though I could last week. I can still reproduce with Aurora 54 and Beta 53 (when the dom.ipc.plugins.asyncdrawing.enabled pref is true). I am using Flash 25.0.0.148 on Windows 10.
I tried to bisect Nightly to see if some fix landed since last week, but I couldn't find a fix. Even old Nightly 54 builds work now while Aurora 54 still has video control problems.
I just tried the latest Firefox developers edition nightly 54a2 64bit (4/17/2017) and the recorded content does NOT work for me.  The only add-on that gets automatically loaded on this nightly is the Norton Security Toolbar, since I have the customer provided Comcast Norton Security Suite installed.  (I cannot remove it but I disabled it).

Customer Service Diagnostics

Build number
    273
OS
    Windows 10
Browser
    Firefox 54.0
Flash version
    25.0.0.148
Status
    in home
Entitlements
    cvod, clinear, tve-linear, est, tve-vod, cdvr
Last fingerprint
    cloudtv_web_polymer_0_prod_1492468029052_46509
Stream provider
    primetime
Video ID
    V5665524847818291719L200813180417040017
Media ID
    comcast:dvr:schedule:V5665524847818291719L200813180417040017
Error code
    102100.5
Error description
    Loading of the specified resource has failed
Error aux info
    https://xtvapi.cloudtv.comcast.net/recording/V5665524847818291719L200813180417040017/stream.m3u8?recorderManager=cdvr-c-rmID-mana01
Video Provider
    H&I
Video Source
    s:VideoObject/Recording
Video Title
    The Seventh
One additional comment about Firefox 54a2 64bit is on my laptop the video on live and VOD content still performs very poorly with occasional long pauses and when it does play it is jerky.
I just tried Firefox 55 nightly and unfortunately I got the same results - the recorded content does not play and the live and VOD content plays very poorly.

Customer Service Diagnostics

Build number
    273
OS
    Windows 10
Browser
    Firefox 55.0
Flash version
    25.0.0.148
Status
    in home
Entitlements
    cvod, est, cdvr, tve-vod, tve-linear, clinear
Last fingerprint
    cloudtv_web_polymer_0_prod_1492470077397_40559
Stream provider
    primetime
Video ID
    V5665524847818291719L200813180417040017
Media ID
    comcast:dvr:schedule:V5665524847818291719L200813180417040017
Error code
    102100.33
Error description
    Loading of the specified resource has failed
Error aux info
    https://xtvapi.cloudtv.comcast.net/recording/V5665524847818291719L200813180417040017/stream.m3u8?recorderManager=cdvr-c-rmID-mana01
Video Provider
    H&I
Video Source
    s:VideoObject/Recording
Video Title
    The Seventh
This isn't a HTML5 video issue so I'm moving it to plug-ins.
Component: Audio/Video: Playback → Plug-ins
Here's some addition info: I'm running 55.0a1 (2017-04-18) (64-bit) 
the following is the info from running the xfinity diagnostics after the error code. Hope it helps.

-Bill

  {
    "reason": "Bad CloudDvr Token",
    "statusCode": 403,
    "statusSubCode": "403-103"
}

Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Connection: Keep-Alive
Content-Encoding: gzip
Content-Length: 89
Content-Type: application/json;charset=UTF-8
Date: Tue, 18 Apr 2017 12:35:53 GMT
Fingerprint: cimxtv-br-a044-p.br.ccp.cable.comcast.com-19407@cimxtv-br-a044-p.br.ccp.cable.comcast.com-http-nio-8080-exec-367-xfinityapi-1492518954065
Keep-Alive: timeout=5, max=100
Server: Apache-Coyote/1.1
Vary: Accept-Encoding
X-CDVR-STATUS-CODE: 403
X-CDVR-STATUS-REASON: Bad CloudDvr Token
X-CDVR-STATUS-SUBCODE: 403-103
X-Content-Type-Options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.5
Connection: keep-alive
Cookie: s_fid=39DD08BDB4E65503-23D5EBD013FBC0DF; s_vi=[CS]v1|2C45D77985030C76-60001187A0001171[CE]; OAX=TH3kzFiLr5AADps4; prefs=amcid="SEG_DF,SEG_NO_NETFLIX,SEG_NO_SHOWTIME,SEG_NO_STARZ"&adt_zip="21561"&a_g="4354cf501c1df6b38f07-adc1bc97a6e9f7049c0c15e96d40f67a696d5772"&wid="21561"; AMCV_723C39F756ABCD0B7F000101%40AdobeOrg=-1248264605%7CMCAID%7C2C45D77985030C76-60001187A0001171%7CMCMID%7C90947187289031131361405181580296504205%7CMCAAMLH-1493044803%7C7%7CMCAAMB-1493123492%7Chmk_Lq6TPIBMW925SPhw3Q%7CMCOPTOUT-1492525892s%7CNONE; AMCV_DA11332E5321D0550A490D45%40AdobeOrg=-1248264605%7CMCAID%7C2C45D77985030C76-60001187A0001171%7CMCMID%7C36555842713606158407828932597066061886%7CMCOPTOUT-1490888718s%7CNONE%7CMCAAMLH-1491486318%7C7%7CMCAAMB-1491486318%7Chmk_Lq6TPIBMW925SPhw3Q; RMFS=021cfsnHU10004U1i; s_cc=true; s_sq=comcastnet%3D%2526pid%253Dsign%252520in%2526pidt%253D1%2526oid%253DSign%252520In%2526oidt%253D3%2526ot%253DSUBMIT; AMCVS_723C39F756ABCD0B7F000101%40AdobeOrg=1; tls_s_ticket=TFNUAQECAIAEJyK8DwxQTMzxSUjj7UTnzeWcmIw7otnTYVewjhcQXXI7hTr0zimY6uCR7IfR30pJHbbZQqAuvuOr7iGH6mMSt0Ql-2AO4ONYN-MtkJOQ73m4L2X8FwvWXdSAE4YafvNo01S5H2G8CMBtn-D3LE0QykBzwHPispmo3FHX9vI1iRBiP6LHoUL8FisoaN0oBp_rAAABUCShK9305umX9jSRFwby0ht_DIqnjGqYCmhcS9XoLKRFsYeB2ENROLan3uPqYVihbvHJaXSBx4jGnLErPnRLiVKTdK1cD8mPkmG0efcXtzcfnlA0etDS1jCv6tV4Gi_uU9veUWrgVfjzqNSvRx2GD5coyFDqFY_gzC3mTNNhiMyPV-ZocSc00rJz0Tqv8HOYyvJYnvrTk2SzkrU_hga8kTDaD9Nlxi8sYu_05ljoiUEjKUG4I9p1opiiEDmTL6pHj_t0gFFC8cfkD_his149vqgJ3trqT-XNureneweRltKgtm86bNlN0VcMhN4cgJuxpdLghnML5d9jXdRxnClYVbN4es-_mnqkJdEwkFZBNdq3f2biPrzbkrjY5cZuicmqveJxSlyNIjGf8ZiqohL7L8jkFySx9yCQL2ZZeshz8flLkTDzX2FEYGTD8Zg7z_oEng**; s_ticket=TFNUAQECAIBi78k8ni38Y0wY6fHk2PnvTyAM4r8REsOGTykV7FtokKl0GMxAqVqWrj3Fdz4Xib3h9K2Kl7YD8jzyDZTGCc1STj6G6FpimRSvcWJRFn6jEQrystWLhyum9sLG9G1HIrsh26xHHLVa3LtBZ1285UHOfTqc_FdbYVR_nijW4VHhoBCDGX7ljY_EMds-01TEtAKiAAABUJQcDUyaRFUb99IN2wgWr8YmhUlWOECRFEmrH1KE2LNqDBbjD9NKY5FNDWHHJ-SMF3lBInWlRi8jQnTsDA63cKdRUJp9JwLeV0UJg9U2M9INJ-gvZXa2-W8WztKq0plMfQj2sVMzPFQrbOvYigVP-yOEkqHgjI1MOtOv5Gy_4X31tlyrHOQhkT4kVEmuPx7hD2A04HLatyEJXnH-12Yw5HSuJItgiwsth2lTtMraarSkv34r-gtgzf4HMVFQMyH1DzCQi4oFwvfuT5JnU2zTRDHKC-egjbWW7RvgruQ9EKurlpTMUzOT1KbfCbfwkhuuiUt-EBMNItSexw6rTiq86y6WfuHSkU6TX5yE_95wl0LEC79rtKEQmMpS6FDM2zjKMwwT_3DxhUgIhu50o5lT2YQJDzazlkSc_W-Gga_blzWpfRk0NB4lg-DZyQXiP1tahw**; MYPORTAL=guid=321519050609112016Comcast.cust&auto=0&ipr=1&cdvs=1&tid=4354cf501c1df6b38f07-adc1bc97a6e9f7049c0c15e96d40f67a696d5772
Host: xtvapi.cloudtv.comcast.net
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0
Bill, would you mind posting your Firefox about:support text? Also, do you know if you've turned on tracking protection, or are running an extension that provides it?
(In reply to Jim Mathies [:jimm] from comment #15)

> 
> Dees, do we have a Comcast contact? Access to a test account would be very
> useful here.

None unfortunately. I've also ping the Webcompat folks who also seem to have a few things that they could do with bringing to the Comcast/Xfinity folks attention.

I'll also see if I have any luck.
Flags: needinfo?(dchinniah) → needinfo?(miket)
jim,
Here's my about:support text and did not turn on tracking protection.

Application Basics
------------------

Name: Firefox
Version: 55.0a1
Build ID: 20170418030220
Update Channel: nightly
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0
OS: Windows_NT 10.0
Multiprocess Windows: 1/1 (Enabled by default)
Google Key: Found
Mozilla Location Service Key: Found
Safe Mode: false

Crash Reports for the Last 3 Days
---------------------------------

Report ID: bp-9589b4e6-1d46-496a-83bc-4f5890170418
Submitted: 5 hours ago

Report ID: bp-6d3a4698-3e33-40c7-a7d3-fcdc90170418
Submitted: 5 hours ago

Report ID: bp-a42215b5-1dbf-4b70-952a-78e500170418
Submitted: 7 hours ago

All Crash Reports

Nightly Features
----------------

Name: Activity Stream
Version: 0.0.0
ID: activity-stream@mozilla.org

Name: Application Update Service Helper
Version: 2.0
ID: aushelper@mozilla.org

Name: Firefox Screenshots
Version: 6.3.0
ID: screenshots@mozilla.org

Name: FlyWeb
Version: 1.0.0
ID: flyweb@mozilla.org

Name: Form Autofill
Version: 1.0
ID: formautofill@mozilla.org

Name: Multi-process staged rollout
Version: 1.15
ID: e10srollout@mozilla.org

Name: Pocket
Version: 1.0.5
ID: firefox@getpocket.com

Name: Presentation
Version: 1.0.0
ID: presentation@mozilla.org

Name: Shield Recipe Client
Version: 1.0.0
ID: shield-recipe-client@mozilla.org

Name: Web Compat
Version: 1.1
ID: webcompat@mozilla.org

Name: WebCompat Reporter
Version: 1.0.0
ID: webcompat-reporter@mozilla.org

Extensions
----------

Name: Adblock Plus
Version: 2.8.2
Enabled: true
ID: {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}

Name: Bluhell Firewall
Version: 2.6.1
Enabled: true
ID: {6BB5760D-F97E-421B-AF5B-8457A90C3CED}

Name: Greasemonkey
Version: 3.10
Enabled: true
ID: {e4a8a97b-f2ed-450b-b12d-ee082ba24781}

Name: HTML5 Video Everywhere!
Version: 0.3.4
Enabled: true
ID: html5-video-everywhere@lejenome.me

Name: JavaScript Toggle On and Off
Version: 0.1.4
Enabled: true
ID: jid1-EbhJmw1yu6Juy@jetpack

Name: More or Less Window Padding
Version: 1.1.1-signed.1-signed
Enabled: true
ID: moreorlesspadding@scott-michaud.com

Name: Video DownloadHelper
Version: 6.2.0
Enabled: true
ID: {b9db16a4-6edc-47ec-a1f4-b86292ed211d}

Name: YouTube™ Flash® Player
Version: 1.8.0
Enabled: true
ID: jid1-HAV2inXAnQPIeA@jetpack

Graphics
--------

Features
Compositing: Direct3D 11
Asynchronous Pan/Zoom: wheel input enabled; scrollbar drag enabled
WebGL 1 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 0000000000008c63) EGL_VERSION: 1.4 (ANGLE 2.1.0.dec065540d5f) EGL_EXTENSIONS: EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_stream_producer_d3d_texture_nv12 EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_device_creation EGL_ANGLE_device_creation_d3d11 EGL_ANGLE_experimental_present_path EGL_KHR_client_get_all_proc_addresses
WebGL 1 Driver Renderer: Google Inc. -- ANGLE (NVIDIA GeForce GT 640 Direct3D11 vs_5_0 ps_5_0)
WebGL 1 Driver Version: OpenGL ES 2.0 (ANGLE 2.1.0.dec065540d5f)
WebGL 1 Driver Extensions: GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_pack_reverse_row_order GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives 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_OES_vertex_array_object
WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_frag_depth EXT_shader_texture_lod EXT_texture_filter_anisotropic EXT_disjoint_timer_query MOZ_debug_get OES_element_index_uint OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_s3tc WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context MOZ_WEBGL_lose_context MOZ_WEBGL_compressed_texture_s3tc MOZ_WEBGL_depth_texture
WebGL 2 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 0000000000008c63) EGL_VERSION: 1.4 (ANGLE 2.1.0.dec065540d5f) EGL_EXTENSIONS: EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_stream_producer_d3d_texture_nv12 EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_device_creation EGL_ANGLE_device_creation_d3d11 EGL_ANGLE_experimental_present_path EGL_KHR_client_get_all_proc_addresses
WebGL 2 Driver Renderer: Google Inc. -- ANGLE (NVIDIA GeForce GT 640 Direct3D11 vs_5_0 ps_5_0)
WebGL 2 Driver Version: OpenGL ES 3.0 (ANGLE 2.1.0.dec065540d5f)
WebGL 2 Driver Extensions: GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_pack_reverse_row_order GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_norm16 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives 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_OES_vertex_array_object
WebGL 2 Extensions: EXT_color_buffer_float EXT_texture_filter_anisotropic EXT_disjoint_timer_query MOZ_debug_get OES_texture_float_linear WEBGL_compressed_texture_s3tc WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context MOZ_WEBGL_lose_context MOZ_WEBGL_compressed_texture_s3tc
Audio Backend: wasapi
Direct2D: true
DirectWrite: true (10.0.14393.953)
GPU #1
Active: Yes
Description: NVIDIA GeForce GT 640
Vendor ID: 0x10de
Device ID: 0x0fc0
Driver Version: 21.21.13.7654
Driver Date: 12-29-2016
Drivers: C:\WINDOWS\System32\DriverStore\FileRepository\nvhdcwu.inf_amd64_b4551921048bc87c\nvd3dumx,C:\WINDOWS\System32\DriverStore\FileRepository\nvhdcwu.inf_amd64_b4551921048bc87c\nvwgf2umx,C:\WINDOWS\System32\DriverStore\FileRepository\nvhdcwu.inf_amd64_b4551921048bc87c\nvwgf2umx,C:\WINDOWS\System32\DriverStore\FileRepository\nvhdcwu.inf_amd64_b4551921048bc87c\nvwgf2umx C:\WINDOWS\System32\DriverStore\FileRepository\nvhdcwu.inf_amd64_b4551921048bc87c\nvd3dum,C:\WINDOWS\System32\DriverStore\FileRepository\nvhdcwu.inf_amd64_b4551921048bc87c\nvwgf2um,C:\WINDOWS\System32\DriverStore\FileRepository\nvhdcwu.inf_amd64_b4551921048bc87c\nvwgf2um,C:\WINDOWS\System32\DriverStore\FileRepository\nvhdcwu.inf_amd64_b4551921048bc87c\nvwgf2um
Subsys ID: 00000000
RAM: 4096

Diagnostics
ClearType Parameters: Gamma: 2.2 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 400
AzureCanvasAccelerated: 0
AzureCanvasBackend: Direct2D 1.1
AzureCanvasBackend (UI Process): skia
AzureContentBackend: Direct2D 1.1
AzureContentBackend (UI Process): skia
AzureFallbackCanvasBackend (UI Process): cairo
GPUProcessPid: 10212
GPUProcess: Terminate GPU Process
ClearType Parameters: Gamma: 2.2 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 400
Decision Log
WEBRENDER:
opt-in by default: WebRender is an opt-in feature




Important Modified Preferences
------------------------------

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 358400
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.hashstats_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.cache.frecency_experiment: 3
browser.display.use_system_colors: true
browser.download.importedFromSqlite: true
browser.places.smartBookmarksVersion: 8
browser.search.useDBForOrder: true
browser.sessionstore.resume_from_crash: false
browser.sessionstore.upgradeBackup.latestBuildID: 20170418030220
browser.startup.homepage:
browser.startup.homepage_override.buildID: 20170418030220
browser.startup.homepage_override.mstone: 55.0a1
browser.urlbar.daysBeforeHidingSuggestionsPrompt: 0
browser.urlbar.lastSuggestionsPromptDate: 20160715
browser.urlbar.usepreloadedtopurls.enabled: false
dom.apps.lastUpdate.buildID: 20160922113459
dom.apps.lastUpdate.mstone: 49.0.1
dom.apps.reset-permissions: true
dom.gamepad.extensions.enabled: true
dom.mozApps.used: true
extensions.lastAppVersion: 55.0a1
font.internaluseonly.changed: false
gfx.crash-guard.d3d11layers.appVersion: 52.0.2
gfx.crash-guard.d3d11layers.deviceID: 0x0fc0
gfx.crash-guard.d3d11layers.driverVersion: 21.21.13.7654
gfx.crash-guard.d3d11layers.feature-d2d: true
gfx.crash-guard.d3d11layers.feature-d3d11: true
gfx.crash-guard.status.d3d11layers: 2
gfx.crash-guard.status.d3d11video: 2
gfx.crash-guard.status.d3d9video: 2
gfx.direct3d.last_used_feature_level_idx: 0
gfx.driver-init.appVersion: 43.0a1
gfx.driver-init.deviceID: 0x0fc0
gfx.driver-init.driverVersion: 10.18.13.5330
gfx.driver-init.feature-d2d: true
gfx.driver-init.feature-d3d11: true
gfx.driver-init.status: 2
media.benchmark.vp9.fps: 246
media.benchmark.vp9.versioncheck: 2
media.gmp-eme-adobe.abi: x86-msvc-x64
media.gmp-eme-adobe.autoupdate: true
media.gmp-eme-adobe.lastUpdate: 1485548624
media.gmp-eme-adobe.version: 17
media.gmp-gmpopenh264.abi: x86_64-msvc-x64
media.gmp-gmpopenh264.lastUpdate: 1492518741
media.gmp-gmpopenh264.version: 1.6
media.gmp-manager.buildID: 20170418030220
media.gmp-manager.lastCheck: 1492518741
media.gmp-widevinecdm.abi: x86_64-msvc-x64
media.gmp-widevinecdm.autoupdate: true
media.gmp-widevinecdm.lastUpdate: 1492518742
media.gmp-widevinecdm.version: 1.4.8.903
media.gmp.storage.version.observed: 1
media.hardware-video-decoding.failed: false
media.youtube-ua.override.to: 43
network.cookie.prefsMigrated: true
network.predictor.cleaned-up: true
places.database.lastMaintenance: 1491929096
places.history.expiration.transient_current_max_pages: 94325
plugin.disable_full_page_plugin_for_types: application/pdf
plugin.importedState: true
plugin.state.np_wtapp: 0
plugin.state.npctrl: 2
plugin.state.npdeployjava: 0
plugin.state.nppxplay: 0
plugin.state.npwlpg: 0
print.printer_Canon_MG6600_series_Printer_WS.print_bgcolor: false
print.printer_Canon_MG6600_series_Printer_WS.print_bgimages: false
print.printer_Canon_MG6600_series_Printer_WS.print_duplex: 1515870810
print.printer_Canon_MG6600_series_Printer_WS.print_edge_bottom: 0
print.printer_Canon_MG6600_series_Printer_WS.print_edge_left: 0
print.printer_Canon_MG6600_series_Printer_WS.print_edge_right: 0
print.printer_Canon_MG6600_series_Printer_WS.print_edge_top: 0
print.printer_Canon_MG6600_series_Printer_WS.print_evenpages: true
print.printer_Canon_MG6600_series_Printer_WS.print_footercenter:
print.printer_Canon_MG6600_series_Printer_WS.print_footerleft: &PT
print.printer_Canon_MG6600_series_Printer_WS.print_footerright: &D
print.printer_Canon_MG6600_series_Printer_WS.print_headercenter:
print.printer_Canon_MG6600_series_Printer_WS.print_headerleft: &T
print.printer_Canon_MG6600_series_Printer_WS.print_headerright: &U
print.printer_Canon_MG6600_series_Printer_WS.print_in_color: true
print.printer_Canon_MG6600_series_Printer_WS.print_margin_bottom: 0.5
print.printer_Canon_MG6600_series_Printer_WS.print_margin_left: 0.5
print.printer_Canon_MG6600_series_Printer_WS.print_margin_right: 0.5
print.printer_Canon_MG6600_series_Printer_WS.print_margin_top: 0.5
print.printer_Canon_MG6600_series_Printer_WS.print_oddpages: true
print.printer_Canon_MG6600_series_Printer_WS.print_orientation: 0
print.printer_Canon_MG6600_series_Printer_WS.print_page_delay: 50
print.printer_Canon_MG6600_series_Printer_WS.print_paper_data: 1
print.printer_Canon_MG6600_series_Printer_WS.print_paper_height: -1.00
print.printer_Canon_MG6600_series_Printer_WS.print_paper_name:
print.printer_Canon_MG6600_series_Printer_WS.print_paper_size_unit: 1
print.printer_Canon_MG6600_series_Printer_WS.print_paper_width: -1.00
print.printer_Canon_MG6600_series_Printer_WS.print_resolution: 600
print.printer_Canon_MG6600_series_Printer_WS.print_reversed: false
print.printer_Canon_MG6600_series_Printer_WS.print_scaling: 0.80
print.printer_Canon_MG6600_series_Printer_WS.print_shrink_to_fit: false
print.printer_Canon_MG6600_series_Printer_WS.print_to_file: false
print.printer_Canon_MG6600_series_Printer_WS.print_unwriteable_margin_bottom: 0
print.printer_Canon_MG6600_series_Printer_WS.print_unwriteable_margin_left: 0
print.printer_Canon_MG6600_series_Printer_WS.print_unwriteable_margin_right: 0
print.printer_Canon_MG6600_series_Printer_WS.print_unwriteable_margin_top: 0
print.printer_Canon_MG7100_series_Printer_WS.print_bgcolor: false
print.printer_Canon_MG7100_series_Printer_WS.print_bgimages: false
print.printer_Canon_MG7100_series_Printer_WS.print_colorspace:
print.printer_Canon_MG7100_series_Printer_WS.print_command:
print.printer_Canon_MG7100_series_Printer_WS.print_downloadfonts: false
print.printer_Canon_MG7100_series_Printer_WS.print_duplex: 1515870810
print.printer_Canon_MG7100_series_Printer_WS.print_edge_bottom: 0
print.printer_Canon_MG7100_series_Printer_WS.print_edge_left: 0
print.printer_Canon_MG7100_series_Printer_WS.print_edge_right: 0
print.printer_Canon_MG7100_series_Printer_WS.print_edge_top: 0
print.printer_Canon_MG7100_series_Printer_WS.print_evenpages: true
print.printer_Canon_MG7100_series_Printer_WS.print_footercenter:
print.printer_Canon_MG7100_series_Printer_WS.print_footerleft: &PT
print.printer_Canon_MG7100_series_Printer_WS.print_footerright: &D
print.printer_Canon_MG7100_series_Printer_WS.print_headercenter:
print.printer_Canon_MG7100_series_Printer_WS.print_headerleft: &T
print.printer_Canon_MG7100_series_Printer_WS.print_headerright: &U
print.printer_Canon_MG7100_series_Printer_WS.print_in_color: true
print.printer_Canon_MG7100_series_Printer_WS.print_margin_bottom: 0.5
print.printer_Canon_MG7100_series_Printer_WS.print_margin_left: 0.5
print.printer_Canon_MG7100_series_Printer_WS.print_margin_right: 0.5
print.printer_Canon_MG7100_series_Printer_WS.print_margin_top: 0.5
print.printer_Canon_MG7100_series_Printer_WS.print_oddpages: true
print.printer_Canon_MG7100_series_Printer_WS.print_orientation: 0
print.printer_Canon_MG7100_series_Printer_WS.print_page_delay: 50
print.printer_Canon_MG7100_series_Printer_WS.print_paper_data: 1
print.printer_Canon_MG7100_series_Printer_WS.print_paper_height: 11.00
print.printer_Canon_MG7100_series_Printer_WS.print_paper_name:
print.printer_Canon_MG7100_series_Printer_WS.print_paper_size_type: 0
print.printer_Canon_MG7100_series_Printer_WS.print_paper_size_unit: 0
print.printer_Canon_MG7100_series_Printer_WS.print_paper_width: 8.50
print.printer_Canon_MG7100_series_Printer_WS.print_plex_name:
print.printer_Canon_MG7100_series_Printer_WS.print_resolution: 1515870810
print.printer_Canon_MG7100_series_Printer_WS.print_resolution_name:
print.printer_Canon_MG7100_series_Printer_WS.print_reversed: false
print.printer_Canon_MG7100_series_Printer_WS.print_scaling: 1.00
print.printer_Canon_MG7100_series_Printer_WS.print_shrink_to_fit: true
print.printer_Canon_MG7100_series_Printer_WS.print_to_file: false
print.printer_Canon_MG7100_series_Printer_WS.print_unwriteable_margin_bottom: 0
print.printer_Canon_MG7100_series_Printer_WS.print_unwriteable_margin_left: 0
print.printer_Canon_MG7100_series_Printer_WS.print_unwriteable_margin_right: 0
print.printer_Canon_MG7100_series_Printer_WS.print_unwriteable_margin_top: 0
print.printer_Canon_MG7100_series_Printer.print_bgcolor: false
print.printer_Canon_MG7100_series_Printer.print_bgimages: false
print.printer_Canon_MG7100_series_Printer.print_colorspace:
print.printer_Canon_MG7100_series_Printer.print_command:
print.printer_Canon_MG7100_series_Printer.print_downloadfonts: false
print.printer_Canon_MG7100_series_Printer.print_duplex: 1515870810
print.printer_Canon_MG7100_series_Printer.print_edge_bottom: 0
print.printer_Canon_MG7100_series_Printer.print_edge_left: 0
print.printer_Canon_MG7100_series_Printer.print_edge_right: 0
print.printer_Canon_MG7100_series_Printer.print_edge_top: 0
print.printer_Canon_MG7100_series_Printer.print_evenpages: true
print.printer_Canon_MG7100_series_Printer.print_footercenter:
print.printer_Canon_MG7100_series_Printer.print_footerleft: &PT
print.printer_Canon_MG7100_series_Printer.print_footerright: &D
print.printer_Canon_MG7100_series_Printer.print_headercenter:
print.printer_Canon_MG7100_series_Printer.print_headerleft: &T
print.printer_Canon_MG7100_series_Printer.print_headerright: &U
print.printer_Canon_MG7100_series_Printer.print_in_color: true
print.printer_Canon_MG7100_series_Printer.print_margin_bottom: 0.5
print.printer_Canon_MG7100_series_Printer.print_margin_left: 0.5
print.printer_Canon_MG7100_series_Printer.print_margin_right: 0.5
print.printer_Canon_MG7100_series_Printer.print_margin_top: 0.5
print.printer_Canon_MG7100_series_Printer.print_oddpages: true
print.printer_Canon_MG7100_series_Printer.print_orientation: 0
print.printer_Canon_MG7100_series_Printer.print_page_delay: 50
print.printer_Canon_MG7100_series_Printer.print_paper_data: 1
print.printer_Canon_MG7100_series_Printer.print_paper_height: -1.00
print.printer_Canon_MG7100_series_Printer.print_paper_name:
print.printer_Canon_MG7100_series_Printer.print_paper_size_type: 0
print.printer_Canon_MG7100_series_Printer.print_paper_size_unit: 0
print.printer_Canon_MG7100_series_Printer.print_paper_width: -1.00
print.printer_Canon_MG7100_series_Printer.print_plex_name:
print.printer_Canon_MG7100_series_Printer.print_resolution: 600
print.printer_Canon_MG7100_series_Printer.print_resolution_name:
print.printer_Canon_MG7100_series_Printer.print_reversed: false
print.printer_Canon_MG7100_series_Printer.print_scaling: 0.70
print.printer_Canon_MG7100_series_Printer.print_shrink_to_fit: false
print.printer_Canon_MG7100_series_Printer.print_to_file: false
print.printer_Canon_MG7100_series_Printer.print_unwriteable_margin_bottom: 0
print.printer_Canon_MG7100_series_Printer.print_unwriteable_margin_left: 0
print.printer_Canon_MG7100_series_Printer.print_unwriteable_margin_right: 0
print.printer_Canon_MG7100_series_Printer.print_unwriteable_margin_top: 0
privacy.sanitize.migrateClearSavedPwdsOnExit: true
privacy.sanitize.migrateFx3Prefs: true
privacy.sanitize.timeSpan: 0
security.sandbox.content.tempDirSuffix: {a1547d58-3f9e-4534-a1fb-708f0f830b4c}
services.sync.declinedEngines:
services.sync.engine.greasemonkey: true
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1490886646
ui.osk.debug.keyboardDisplayReason: IKPOS: Touch screen not found.

user.js Preferences
-------------------

Your profile folder contains a user.js file, which includes preferences that were not created by Nightly.

Important Locked Preferences
----------------------------

Places Database
---------------

JavaScript
----------

Incremental GC: true

Accessibility
-------------

Activated: false
Prevent Accessibility: 0

Library Versions
----------------

NSPR
Expected minimum version: 4.15 Beta
Version in use: 4.15 Beta

NSS
Expected minimum version: 3.31 Beta
Version in use: 3.31 Beta

NSSSMIME
Expected minimum version: 3.31 Beta
Version in use: 3.31 Beta

NSSSSL
Expected minimum version: 3.31 Beta
Version in use: 3.31 Beta

NSSUTIL
Expected minimum version: 3.31 Beta
Version in use: 3.31 Beta

Experimental Features
---------------------

Name: Flash as Click-To-Activate
ID: flash-as-ctp-nightly55@experiments.mozilla.org
Description: Measuring the impact of setting Flash as Click-To-Activate by default
Active: false
End Date: 1492441948774
Homepage:
Branch: control

Name: Intersection Observer API
ID: intersection-observer-nightly55@experiments.mozilla.org
Description: Measures the impact of enabling the Intersection Observer API in Firefox
Active: false
End Date: 1491149115534
Homepage:
Branch: control

Name: GPU Process on Windows
ID: gpu-process-nightly53@experiments.mozilla.org
Description: Measures the impact of enabling GPU Process in Firefox Nightly on Windows
Active: false
End Date: 1483986143833
Homepage:
Branch: disabled

Name: TLS 1.3 Compatibility Testing
ID: tls13-compat-nightly52@experiments.mozilla.org
Description: Testing compatibility of TLS 1.3.
Active: false
End Date: 1479135865945
Homepage:
Branch: null

Name: SKIA Content on Windows
ID: skia-windows-nightly@experiments.mozilla.org
Description: Measuring the effect of using SKIA as the default software rendering backend for content.
Active: false
End Date: 1477506728515
Homepage:
Branch: user-changed

Sandbox
-------

Content Process Sandbox Level: 2
Karl, could you help get in contact with Xfinity about a test account? See Comment #15. 

(we also have some xfinity bugs on webcompat.com, so a good contact would be useful there as well).
Flags: needinfo?(miket) → needinfo?(kdubost)
> jim,
> Here's my about:support text and did not turn on tracking protection.
> ..

Thanks! If you have a chance, could you confirm that the video fails to play in Firefox safemode? (Hamburger -> Help -> Restart with addons disabled)

https://support.mozilla.org/t5/Procedures-to-diagnose-and-fix/Troubleshoot-Firefox-issues-using-Safe-Mode/ta-p/1687
(In reply to Mike Taylor [:miketaylr] from comment #29)
> Karl, could you help get in contact with Xfinity about a test account? See
> Comment #15. 
> 
> (we also have some xfinity bugs on webcompat.com, so a good contact would be
> useful there as well).

Yes cyberdees asked if we had a contact yesterday at Comcast. And the best of my knowledge. We don't. 
But I started to hunt.
See https://webcompat.com/issues/5099#issuecomment-294653326
Flags: needinfo?(kdubost)
Jim, I sent you an email with contact information for a Manager at Comcast who will set up a test Xfinity TV account for Mozilla.
(In reply to Paul Goldberg from comment #32)
> Jim, I sent you an email with contact information for a Manager at Comcast
> who will set up a test Xfinity TV account for Mozilla.

Paul — are you able to also please cc myself [dchinniahATmozillaDOTcom] and Mike Taylor [miketATmozillaDOTcom], too?
Flags: needinfo?(pgoldberg)
I emailed the information you requested.
Flags: needinfo?(pgoldberg)
Once we get this resolved, I'll spin out a new bug on poor playback assuming the issue still exists once this issue is resolved.
Flags: needinfo?(jmathies)
Summary: Xfinity TV Flash video playback uses a lot of CPU and playback controls stop responding with Flash async drawing enabled → Xfinity TV video playback fails in 64-bit builds of Firefox
Whiteboard: [Xfinity cloud dvr feature related?]
(In reply to Paul Goldberg from comment #34)
> I emailed the information you requested.

Thanks, Paul. Much appreciated.
(In reply to Paul Goldberg from comment #32)
> Jim, I sent you an email with contact information for a Manager at Comcast
> who will set up a test Xfinity TV account for Mozilla.

Thanks Paul, I've just reached out to them via email.
Jim,
Tried Safe mode, I have same error.

-Bill
(In reply to Bill from comment #38)
> Jim,
> Tried Safe mode, I have same error.
> 
> -Bill

Thanks Bill.

This is feeling like some sort of networking issue (since we handle network for the browser and plugins) or an internal Flash issue with playback, assuming Flash is actually in user here. Working with Comcast to try and figure this out.
Flash appears to be in use since you cannot connect to Xfinity TV or play content without Flash being active.  Also in the error message when attempting to play a record asset they mention the Flash version.  

Customer Service Diagnostics

Build number
    273
OS
    Windows 10
Browser
    Firefox 53.0
Flash version
    25.0.0.152
(In reply to Jim Mathies [:jimm] from comment #12)
> Paul, could you help us out here and try setting the following prefs and
> testing with 64-bit firefox?
> 
> dom.ipc.plugins.sandbox-level.flash = 0 (default 2)
> 

Turns out there's an extra step here, we have a minimum sandbox security level setting that can't be overridden here without an added environment variable being set. The variable is 'MOZ_ALLOW_WEAKER_SANDBOX'. 

Alternatively there's another environment variable which will completely disable the plugin sandbox without having to manipulate preferences. That variable is 'MOZ_DISABLE_NPAPI_SANDBOX' [1].

[1] https://wiki.mozilla.org/Security/Sandbox#Misc._Environment_variables
Steps to test without a Flash sandbox in 64-bit builds:

1) Close all instances of Firefox

2) In explorer, browser to the location where 64-bit firefox.exe binary is installed, usually something like:

C:\Program Files\Firefox
or if testing with Nightly:
C:\Program Files\Nightly

3) shift + right-click the explorer window where firefox.exe is located, and select "Open command window here"

4) in the command window enter:

set MOZ_DISABLE_NPAPI_SANDBOX=1

5) in the same command window, enter 'firefox.exe' and press enter (launching Firefox)

6) test Xfinity service
I tried 'MOZ_DISABLE_NPAPI_SANDBOX' [1] with Firefox 54 and after a reboot of Firefox it was successful once on my desktop. After that it would I would get the same error message.  However, even without the disable sandbox I have seen the same behavior on my laptop.  What happens is that their is a much longer delay (with the flashing three dots) before that recording plays (I would say over 30 seconds).  Based on my laptop I would say the recording could play once every 50 to 100 attempts.  I would almost guess that because of the delay in sending the error message Firefox was able to play the recording.
(In reply to Paul Goldberg from comment #43)
> I tried 'MOZ_DISABLE_NPAPI_SANDBOX' [1] with Firefox 54 and after a reboot
> of Firefox it was successful once on my desktop. After that it would I would
> get the same error message.  However, even without the disable sandbox I
> have seen the same behavior on my laptop.  What happens is that their is a
> much longer delay (with the flashing three dots) before that recording plays
> (I would say over 30 seconds).  Based on my laptop I would say the recording
> could play once every 50 to 100 attempts.  I would almost guess that because
> of the delay in sending the error message Firefox was able to play the
> recording.

Note you have to test in the browser window/process you launch from the console. Setting up to test this way doesn't make a permanent change to the way Firefox runs, it's temporary in nature. Once you close the instance of Firefox launched from the console that has MOZ_DISABLE_NPAPI_SANDBOX set in it, MOZ_DISABLE_NPAPI_SANDBOX no longer applies and the plugin sandbox will be in use.
Sorry for not understanding how to implement the command.  I implemented the command set MOZ_DISABLE_NPAPI_SANDBOX=1 from
the command window and the playback of recorded content DOES work.
(In reply to Paul Goldberg from comment #45)
> Sorry for not understanding how to implement the command.  I implemented the
> command set MOZ_DISABLE_NPAPI_SANDBOX=1 from
> the command window and the playback of recorded content DOES work.

\o/ woot. Making progress. Now we need to figure out what's breaking in Flash with this streaming as it relates to the sandbox restrictions we place.
Component: Plug-ins → Security: Process Sandboxing
Whiteboard: [Xfinity cloud dvr feature related?] → [Xfinity cloud dvr feature related?][sb+]
I decided to try the 32 bit version of Firefox 54 beta 3 with Xfinity TV on my laptop and this version has problems playing both recorded and live TV content.  The material plays but Firefox becomes unresponsive and the only way I can quit viewing is to close Firefox.  I believe this did not happen with Firefox 54 beta 2 (32bit).
I just tried Firefox 54 beta 1 and had the same problem (which I previously did not have).  I have to assume either Comcast changed something or my preferences got corrupted.  One I have the time to do comprehensive tests to see what is not working I will start a new bug report if I find it is a Mozilla related bug.
(In reply to Paul Goldberg from comment #48)
> I just tried Firefox 54 beta 1 and had the same problem (which I previously
> did not have).  I have to assume either Comcast changed something or my
> preferences got corrupted.  One I have the time to do comprehensive tests to
> see what is not working I will start a new bug report if I find it is a
> Mozilla related bug.

Thanks for the report Paul. Please file a fresh bugzilla bug if you continue to see issues.
Jim, can we resolve this bug as WORKSFORME? I can no longer reproduce the video problems I saw in comment 10 with Flash 25.0.0.148 or Flash Beta 26.0.0.94.
Flags: needinfo?(jmathies)
I just tried Firefox 54 beta 6 on my laptop and although the Xfinity TV recordings still does not play I do not get freeze-ups on live or VOD content.  On my low end laptop the video content still does not play smoothly (it appears to me skipping frames so the display is jerky) which does not occur on other browsers.
Paul, I've read a report from the internal comcast discussion that this is fixed in the latest flash beta 26, available for testing here - 

http://labs.adobe.com/downloads/flashplayer.html

(FYI, you should uninstall this after testing and reinstall release.)
Flags: needinfo?(jmathies) → needinfo?(pgoldberg)
(In reply to Jim Mathies [:jimm] from comment #53)
> Paul, I've read a report from the internal comcast discussion that this is
> fixed in the latest flash beta 26, available for testing here - 
> 
> http://labs.adobe.com/downloads/flashplayer.html
> 
> (FYI, you should uninstall this after testing and reinstall release.)

Didn't finish that thought - is there any chance you could take this beta of flash for a spin, testing with release or beta Firefox, to see if the playback issue with xfinity content is fixed?
I tried the beta Flash release on my laptop and it is a lot smoother when viewing Xfinity TV live or VOD content!  Their still is a small about of frame skipping.  I believe the reason for this is CPU usage on my laptop.  With Firefox 54 beta 6 the CPU usage viewing live TV is between 95% and 100% (mostly at 100%).  Again the CPU in my laptop is a Core2Duo P8600 2.4ghz and the GPU is a NVIDIA 9600M GT. Viewing the same content in Chrome 64 bit the average CPU usage is between 50% to 60% with occasional peaks to 70%. I will continue to use the beta Flash player and I will notify you of any problem.  I have been using the beta Flash player on my AMD desktop (8 core running at 4.1GHz) for several days without any problem on all the Flash content I have viewed.    On my laptop viewing http://wwwns.akamai.com/hdnetwork/demo/flash/default.html the average CPU usage for flash content is between 40% to 50% and Flash plays without any problems.  I assume the reason for the high CPU usage on Xfinity is due to the encryption they are using with protected content.
Flags: needinfo?(pgoldberg)
(In reply to Paul Goldberg from comment #55)
> I tried the beta Flash release on my laptop and it is a lot smoother when
> viewing Xfinity TV live or VOD content!  Their still is a small about of
> frame skipping.  I believe the reason for this is CPU usage on my laptop. 
> With Firefox 54 beta 6 the CPU usage viewing live TV is between 95% and 100%
> (mostly at 100%).  Again the CPU in my laptop is a Core2Duo P8600 2.4ghz and
> the GPU is a NVIDIA 9600M GT. Viewing the same content in Chrome 64 bit the
> average CPU usage is between 50% to 60% with occasional peaks to 70%. I will
> continue to use the beta Flash player and I will notify you of any problem. 
> I have been using the beta Flash player on my AMD desktop (8 core running at
> 4.1GHz) for several days without any problem on all the Flash content I have
> viewed.    On my laptop viewing
> http://wwwns.akamai.com/hdnetwork/demo/flash/default.html the average CPU
> usage for flash content is between 40% to 50% and Flash plays without any
> problems.  I assume the reason for the high CPU usage on Xfinity is due to
> the encryption they are using with protected content.

Thanks for testing! Remaining perf issues may be caused by bug 1359886.
WFM is Flash beta "York" version 26.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
Loaded Flash beta 26.0.0.94 and still could not play my recorded content from xfinity.  I get following message
Error 102100.5: Loading of the specified resource has failed

-Bill
Depends on: 1363611
Hey Bill, can you confirm you're using the beta of adobe flash by checking about:plugins for me? Also, which version of firefox are you testing with?
Flags: needinfo?(bsoles9)
My beta Flash Player was upgraded to ver. 26.0.0.102 today and unfortunately on my laptop using Firefox 54 beta 6 (64 bit) on live Xfinity TV I again get freeze-ups for 20 to 25 seconds which will occur about every minute.  This did not happen on the previous beta.
Recorded content still does not play with this beta.
Jim,
nightly version: 55.0a1 (2017-05-10) (64 bit)
Flash ver: 26.0 d0  npswf64-26_0_0_94.dll

Please note that video on demand works most of the time.  Playing my recorded content ALWAYS produces the error code 102100.5

-Bill
Flags: needinfo?(bsoles9)
I tried the 32bit version of Firefox beta 7 on my laptop with no freeze-ups playing Xfinity TV still using Flash Player ver. 26.0.0.102.  As previously stated recorded content also works.  I have to assume the freeze-ups on the 64 bit version on my low end laptop is caused by how the 64 bit version interacts with the beta Flash Player.
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Hey Bob,

This bug might be related to bug 1321493 comment 3, where you mention that the access token can cause certification failures.  I've confirmed that the recorded-video issue in this bug is due to the USER_INTERACTIVE "restricting SIDs" check -- removing all of the restricting SIDs fixes the issue.  (Note: I am not considering the stuttering issues also reported elsewhere in this bug.)

I tried adding the WinAuthenticatedUserSid with no success.  I'm currently trying to narrow down what SIDs would help (assuming some do) but that doesn't seem easy.

Assuming I can find a way to augment the restricting SIDs (so poorly named...) so that one of them permits this, do you still think that changing the chromium code to allow the plugin sandbox init code to pass extra restricting SIDs (and weakening the sandbox) is the right approach?  Not that I am suggesting alternatives...
Assignee: nobody → davidp99
Flags: needinfo?(bobowencode)
(In reply to David Parks (dparks) [:handyman] from comment #64)
> Hey Bob,
> 
> This bug might be related to bug 1321493 comment 3, where you mention that
> the access token can cause certification failures.  I've confirmed that the
> recorded-video issue in this bug is due to the USER_INTERACTIVE "restricting
> SIDs" check -- removing all of the restricting SIDs fixes the issue.  (Note:
> I am not considering the stuttering issues also reported elsewhere in this
> bug.)
> 
> I tried adding the WinAuthenticatedUserSid with no success.  I'm currently
> trying to narrow down what SIDs would help (assuming some do) but that
> doesn't seem easy.
> 
> Assuming I can find a way to augment the restricting SIDs (so poorly
> named...) so that one of them permits this, do you still think that changing
> the chromium code to allow the plugin sandbox init code to pass extra
> restricting SIDs (and weakening the sandbox) is the right approach?  Not
> that I am suggesting alternatives...

Ideally we'd want to proxy things, but if this is a fairly complicated API that's probably a lot of work, so if we can find a particular SID (that isn't too terrible) that is required then I guess we cold go with that.

If you remove all the restricting SIDs it doesn't create a true restricted access token at all (if I remember correctly).
Does it fail with just using USER_RESTRICTED_SAME_ACCESS token?
Sometimes just using a restricted access token causes different behaviour, even if all of the current SIDs are added to the restricting SIDs.
(I completely agree over the naming by the way. :-) )
Flags: needinfo?(bobowencode)
Priority: -- → P1
I was able to track this failure to a specific lsass.exe routine using kernel debugger and a bunch of tools.  We are still considering potential fixes but the gist is that the system will reject any token with restricting SIDs here.  For posterity, here's a quick write-up of how it went: (TODO: I should flesh this out in a blog post or something)

Steps to diagnose the restricting SIDs failure:

* Make 2 builds: RestBuild (token has restricting SIDs) and NoRestBuild (token has none).  In order to compare apples to apples, I included all non-deny-only SIDS from the token in the restricting SID list.  I also opened all registry keys and named pipes (see SandboxBroker::SetSecurityLevelForProcess).

* Run API Monitor v2 [1] on plugin-container.exe while running the test case in RestBuild and NoRestBuild.  Compare results.

Found SSPICLI!AcquireCredentialsHandleA failure in RestBuild but not NoRestBuild this way.  Error 0x8009030e == SEC_E_NO_CREDENTIALS.

* Run RestBuild in kd or windbg.  Trace from SSPICLI!AcquireCredentialsHandleA to SSPICLI!SspipAcquireCredentialsHandle to ntdll!NtAlpcSendReceivePort.  This is where the RPC call happens.

* Run ALPC Logger [2] during a debugger "step-over" of the ntdll!NtAlpcSendReceivePort call.  Use ALPC Logger's filtering to view communications involving plugin-container.exe.  Look at other calls as well to see if transitive RPC calls may be relevant.  Note the PID/TID of processes involved.

We see plugin-container.exe sending one message to lsass.exe and receiving one back.  We see no transitive calls (i.e. no one else is talking to plugin-container or lsass between the send/receive transaction).  We now know the lsass PID and the TID of it's thread that handles our request.

* Run API Monitor v2 again on the test case in RestBuild, this time on lsass.exe.  Filter calls to the thread that matches TID.  Analyze results.

There are no simple errors to guide the investigation but the filtered view only has 100-200 calls and we quickly find SspiSrv!SspirAcquireCredentialsHandle, which calls into lsass stuff and eventually ends up checking KERNELBASE!IsTokenRestricted.  This looks like a good place to study.

* Run RestBuild in kd (you need kernel debugging from here on).  Trace parts of SspiSrv!SspirAcquireCredentialsHandle to narrow down where the error comes from.

We find that SspiSrv!SspirAcquireCredentialsHandle (transitively) calls lsasrv!WLsaAcquireCredentialsHandle.  lsasrv!WLsaAcquireCredentialsHandle + 0x2e3 is: "mov eax, 0x8009030e".  We have found the source of the error.

* From here, we could just trace RestBuild and NoRestBuild leading up to the error code (or skipping the error code, in the case of NoRestBuild).  This would tell us where things split.  In this case, the belief that KERNELBASE!IsTokenRestricted is involved gives us some room.  The code that calls KERNELBASE!IsTokenRestricted does so a bit before the error is set.  It clearly sets a byte-sized boolean in a structure based on the result.  It is called by lsasrv!LsapGetClientInfo here:

---

mov byte ptr [rdi+12h], 0
call qword ptr [lsasrv!_imp_IsTokenRestricted] 
test eax, eax
jne lsasrv!LsapGetClientInfo+0x46f

[...]

lsasrv!LsapGetClientInfo+0x46f:
mov byte ptr [rdi+12h], 1

---

We can just focus on this by setting a memory breakpoint (break-on-access) to the location rdi+12h.  This works pretty well (kd seems to give some false positives by ignoring the 1-byte data size and breaking on any access in the 4-bytes near it, but this is not difficult to ignore).  By doing this, we later see the value copied to another struct, which we also set a memory breakpoint on.  Eventually, we hit a memory breakpoint on this code

lsasrv!WLsaAcquireCredentialsHandle + 0x27f:
cmp byte ptr [rsp+0A2h], 0
je lsasrv!WLsaAcquireCredentialsHandle + 0x126
jmp lsasrv!WLsaAcquireCredentialsHandle + 0x2c9

From lsasrv!WLsaAcquireCredentialsHandle + 0x2c9, all paths lead to the error statement lsasrv!WLsaAcquireCredentialsHandle + 0x2e3 that we found above.  Therefore, any token for which IsTokenRestricted returns true will fail this acquire call.  QED.

[1] http://www.rohitab.com/apimonitor
[2] https://github.com/zodiacon/ALPCLogger
With Firefox 55 Beta 7 I am now encountering the inability to play some live content from tv.xfinity.com.  This content is the Nationals Baseball game (HD) which plays in Chrome.  Programs such as MSNBC still play. Flash version 26_0_0_133.

Build number
    323
OS
    Windows 10
Browser
    Firefox 55.0
Flash version
    26.0.0
Status
    in home
Entitlements
    est, cdvr, cvod, tve-linear, tve-vod, clinear
Last fingerprint
    cloudtv_web_polymer_4.3.2_prod_1499633043151_24806
Stream provider
    primetime
Video ID
    tvgrid/listing/2005960707092030109/?channelId=5702574292543009104
Stream ID
    tag:xfinitytv.comcast.net,2013:channel-station:8045972503608448117:chNum:845:callSign:MASHD#stream:format:HLS
Error code
    102100.43
Error description
    Loading of the specified resource has failed
Error aux info
    http://ccr.linear-mcc-va-pil.xcr.comcast.net/MASHD_HD_MCCdVA_16642_4_7643617285851506163.m3u8?format=redirect
Video Provider
    845 MASHD
Video Source
    TVListing
Video Title
    Nats Xtra
Fixed on Nightly.
Status: REOPENED → RESOLVED
Closed: 7 years ago7 years ago
Resolution: --- → FIXED
I tried the latest 64 bit nightly with Shockwave Flash 26.0.0.138 and the Xfinity recordings work without any problems!  Also on my laptop which previously had freezing problems playing live Xfinity TV I no longer have the freezing problems plus the content plays fairly smoothly.
(In reply to Paul Goldberg from comment #69)
> I tried the latest 64 bit nightly with Shockwave Flash 26.0.0.138 and the
> Xfinity recordings work without any problems!  Also on my laptop which
> previously had freezing problems playing live Xfinity TV I no longer have
> the freezing problems plus the content plays fairly smoothly.

Awesome! Thanks for all the help Paul!

We're going to uplift these fixes to beta 55 which will merge to release 8/2/2017.
You need to log in before you can comment on or make changes to this bug.